martes, 11 de diciembre de 2012

Ingeniería de requerimientos con AtlasTi

Autor:
PhD. Guillermo Choque Aspiazu
http://www.eldiario.net/
Publicado en:
Noviembre 23 de 2009

La ingeniería de requerimientos facilita el mecanismo apropiado para comprender lo que requiere el cliente, analizando necesidades, confirmando su factibilidad, negociando una solución razonable, especificando la solución sin ambigüedad, validando la especificación y gestionando los requerimientos para que se transformen en un sistema operacional. La ingeniería de requerimientos cumple un papel primordial en el proceso de producción de software, ya que enfoca un área fundamental: la definición de lo que se desea producir. Su principal tarea consiste en la generación de especificaciones correctas que describan con claridad, sin ambigüedades, en forma consistente y compacta, el comportamiento del sistema; de esta manera, se pretende minimizar los problemas relacionados al desarrollo del producto software.


Es necesario apuntar que las técnicas más habituales en la elicitación de requerimientos son las entrevistas, el desarrollo conjunto de aplicaciones, la tormenta de ideas y la utilización de escenarios, más conocidos como casos de uso. A estas técnicas se las suele apoyar con otras técnicas complementarias como la observación in situ, el estudio de documentación, los cuestionarios, la inmersión en el negocio del cliente o haciendo que los ingenieros de requerimientos sean aprendices del cliente. El proceso de la ingeniería de requerimientos se lleva a cabo a través de siete distintas funciones: (1) Inicio, (2) obtención, (3) elaboración, (4) negociación, (5) especificación, (6) validación y (7) gestión. Resulta importante destacar que algunas de estas funciones de la ingeniería de requerimientos ocurren en paralelo y que todas deben adaptarse a las necesidades del proyecto. Todas están dirigidas a definir lo que el cliente quiere, y todas sirven para establecer una base sólida respecto del diseño y la construcción de lo que obtendrá el cliente.

Por otra parte, la investigación cualitativa en ciencias humanas tiene como propósito principal comprender los fenómenos sociales, sean en grupos de individuos o situaciones sociales. Un ejemplo lo constituye la expresión estudio de caso, corrientemente usada en ciencias humanas como metodología. Se trata de un método de investigación realizado bajo esta forma. A momento, los investigadores cualitativos disponen de todo un repertorio de paradigmas, métodos y estrategias que emplear en sus investigaciones. Las teorías van desde el interaccionismo simbólico hasta el constructivismo, la indagación naturalista, positivismo y post-positivismo, fenomenología, etno-metodología, crítica semiótica, estructuralismo, feminismo y varios paradigmas étnicos. La investigación cualitativa va ganando en valor, y la política y la ética de la investigación cualitativa fueron tópicos de gran interés. Las estrategias de investigación se fundamentan a partir de la “teoría fundamentada” hasta el estudio de casos, los métodos históricos, biográficos, la etnografía en la acción y la investigación. También se dispone de diversas normas para recoger y analizar materiales empíricos, incluyendo la entrevista cualitativa, la observación, la visualización, la experiencia personal y los métodos documentales.

Glaser y Strauss desarrollaron la teoría fundamentada como un método de investigación proveniente del interaccionismo simbólico y como un método para derivar sistemáticamente teorías sobre el comportamiento humano y el mundo social, con una base empírica. En la práctica, los investigadores, comúnmente, se refieren a la teoría fundamentada como un modo de análisis. Como cualquier otro método cualitativo, la teoría fundamentada ofrece una manera de representar la realidad que arroje luz o un entendimiento sobre lo estudiado. Los investigadores la utilizan con el objetivo de crear categorías teóricas a partir de los datos y analizar las relaciones relevantes que hay entre ellas. Es decir, a través de los procedimientos analíticos, se construye teoría que está fundamentada en los datos, de ahí su nombre. El interés que tiene es que hace explícitos los procedimientos de análisis cualitativo y ayuda a los investigadores a desarrollar conceptualizaciones útiles de los datos. Hasta antes de su creación, el análisis cualitativo dependía de métodos implícitos y por tanto de la intuición y el talento de los investigadores.

AtlasTi es una herramienta informática cuyo objetivo es facilitar el análisis cualitativo de, principalmente, grandes volúmenes de datos textuales. Puesto que su foco de atención es el análisis cualitativo, no pretende automatizar el proceso de análisis, sino simplemente ayudar al intérprete humano agilizando considerablemente muchas de las actividades implicadas en el análisis cualitativo y la interpretación, como por ejemplo la segmentación del texto en pasajes o citas, la codificación, o la escritura de comentarios y anotaciones; es decir, todas aquellas actividades que, de no disponer del programa, se realizaría con la ayuda de otras herramientas como papel, lápices de colores, tijeras, fichas, fotocopias, etc. Sin embargo, un documento es, en realidad, la combinación de diferentes elementos: una serie de caracteres relacionados con códigos de formato: negritas, cursiva, definición de márgenes, etc.; es decir, con propiedades de esos caracteres o datos “brutos”. Una presentación son imágenes combinadas entre sí siguiendo una serie de criterios y a las que se aplica una serie de características: orden, tiempo de presentación en pantalla, efectos de difuminado, etc.; mientras que una hoja de cálculo incluirá, por ejemplo, fórmulas para el tratamiento de los datos numéricos.

En el caso de AtlasTi el resultado del trabajo realizado será un archivo, almacenado en el disco duro de la computadora o en una unidad externa de almacenamiento, compuesto por una serie de elementos. En este caso, al archivo es denominado Unidad Hermenéutica y sus componentes principales son los siguientes: (1) Los documentos primarios, que constituyen la base del análisis, es decir, los “datos brutos”. (2) Las citas, que son fragmentos de los documentos primarios que tienen algún significado. (3) Los códigos suelen ser, aunque no necesariamente, la unidad básica de análisis. (4) Las anotaciones son comentarios de un nivel cualitativamente superior, puesto que son todas aquellas anotaciones que realiza el analista durante el proceso de análisis. (5) Las familias pueden ser vistas como agrupaciones de citas. (6) Las redes permiten representar información compleja de una forma intuitiva mediante representaciones gráficas de los diferentes componentes y de las relaciones que se hayan establecido entre ellos.

Para fines de la propuesta, se debe reconocer que el proceso de ingeniería de requerimientos consiste fundamentalmente en la elicitación, análisis, validación y especificación de las necesidades de los clientes. En el contacto que se tiene entre el ingeniero del software con los clientes, lo que normalmente se recoge son datos cualitativos antes que cuantitativos. Los datos cualitativos por lo general provienen desde las entrevistas en profundidad, discursos, entrevistas focales, diarios, informes y testimonios; con la adición de los sistemas computarizados se propone la inclusión de textos de carácter general, documentos históricos, fotografías, imágenes, videos y sonidos. Valga hacer una distinción del dato cualitativo: Los ingenieros de requerimiento consideran datos a toda una serie de elementos relativos a las interacciones de los sujetos entre sí y con el propio ingeniero, sus actividades y los contextos en que tienen lugar, la información proporcionada por los sujetos, bien a iniciativa propia o a requerimiento del ingeniero de requerimientos, o por los artefactos que construyen y usan, sean estos documentos escritos u objetos materiales.

Se propone realizar el proceso de ingeniería de requerimientos a través de la teoría fundamentada contando como elementos con los siguientes: (1) Inicio, la mayoría de los proyectos comienzan cuando se identifica una necesidad de negocios o se descubre un nuevo mercado o servicio potencial. (2) Obtención, determina los objetivos para el sistema o producto software, qué es lo que se debe lograr, de qué forma el producto satisface las necesidades del negocio y por último cómo se utilizará el sistema o producto día a día. (3) Codificación, incluye la reunión y análisis de todos los datos que se refieren a temas, ideas, conceptos, interpretaciones y proposiciones. (4) Nivel de categorización, es entendido como una operación que agrupa o clasifica conceptualmente un conjunto de elementos, datos o códigos, que reúnen o comparten un significado, por tanto es concebida en un nivel de abstracción superior próximo a un nivel relacional conceptual. (5) Conceptualización, permite visualizar patrones o rutinas en el conjunto de datos que forman la coyuntura principal para explicar la realidad observada. (6) Teorización, consiste en la generación de conjuntos de conceptos bien relacionados vinculados por medio de oraciones de relación, las cuales juntas constituyen un marco conceptual integrado que puede usarse para explicar o predecir. (7) Negociación, se pide a los clientes, usuarios y otros interesados que ordenen sus requerimientos y después discutan los conflictos relacionados con la prioridad. (8) Especificación, se encuentra entendida como el refino de la teorización y la generación de una lista de requerimientos. (9) Validación, examina la especificación para asegurar que todos los requisitos del software se han establecido de manera precisa. (10) Gestión, consiste en un conjunto de actividades que ayudan al equipo del proyecto a identificar, controlar y rastrear los requerimientos y los cambios a estos en cualquier momento mientras se desarrolla el proyecto.

Para conocer más acerca del Doctor Choque y sus publicaciones, haz clic en el siguiente vínculo: