Técnicas de elicitación de requisitos

RECU-0415 (Recurso Técnica)

Descripción

Para recopilar información sobre el negocio del cliente o sobre los requisitos del sistema a desarrollar, las técnicas más habituales son las entrevistas, debido a que es la forma más fácil de comunicación verbal, el estudio de documentación y la observación in situ. También existen otras técnicas de reuniones en grupo como el Joint Application Development (JAD), la tormenta de ideas (brainstorming) o los talleres de trabajo (workshops).

Uso en MADEJA

A continuación se van a presentar una serie de técnicas destinadas a facilitar la elicitación correcta y efectiva de los requisitos dentro de un proceso de desarrollo.

Entrevistas

Las entrevistas son reuniones normalmente de dos personas, en las que se plantean una serie de preguntas para obtener las correspondientes respuestas en el contexto de un determinado dominio de problemas. En el ámbito de la ingeniería de requisitos, las entrevistas suelen realizarlas los ingenieros de requisitos al personal de la organización del cliente, con el objeto de abordar asuntos relacionados con los procesos de negocio o con características del software a desarrollar.

Las entrevistas deben planificarse, determinando su duración, los temas a tratar y seleccionando el número mínimo de personas a entrevistar dentro de la organización en función de su perfil profesional. En las primeras entrevistas los participantes suelen ser directivos que poseen una visión global de la organización y en ellas se abordan aspectos generales. Posteriormente, se suelen realizar entrevistas a los futuros usuarios para conocer las prácticas profesionales que llevan a cabo a diario y sus necesidades.

Es recomendable hacer llegar a los participantes, con antelación a la entrevista, un resumen de los temas a tratar y los objetivos a alcanzar durante la misma. También puede ser útil enviar cuestionarios al objeto de situar al ingeniero de requisitos ante determinadas situaciones, conocer la opinión de los usuarios sobre el sistema actual y sus expectativas ante el desarrollo del nuevo sistema.

Estudio de documentación

El estudio de documentación consiste en realizar una lectura en profundidad basada en documentos sobre el dominio del problema del sistema a desarrollar. Dichos documentos versarán sobre aspectos relativos a los objetivos de negocio de la organización o sobre sus prácticas profesionales. Algunos de los principales documentos que se pueden consultar y analizar son: manuales de procedimientos y funciones, informes generados por el sistema actual, normativas y legislaciones, manuales de usuario del sistema actual, etc.

Observación in situ

La observación in situ consiste en la observación directa de las prácticas profesionales que se realizan habitualmente en la organización para la que se va a desarrollar el software. Antes de celebrar una sesión de observación in situ, se deben escoger un conjunto de prácticas representativas del resto, que se lleven a cabo con una frecuencia relativamente alta o que presenten cierta complejidad de comprensión. Además, se debe intentar que los resultados de la práctica profesional sean observables en el entorno real de trabajo.

Existen algunas variantes de la observación in situ como son la inmersión dentro de la organización para la que se va a desarrollar el software o la realización de periodos de aprendizaje por parte de los ingenieros de requisitos, en las que la observación pasiva se cambia por una participación en los procesos a observar como si fuera un miembro más del personal de la organización bajo estudio.

Joint Application Development

El JAD se basa en organizar reuniones integradas por miembros del equipo de desarrollo y miembros de la organización para la que se va a desarrollar el sistema software. Durante una sesión de JAD, el coordinador plantea las cuestiones a discutir para determinar los objetivos y los requisitos generales del sistema a desarrollar y los participantes contestan a dichas cuestiones. Si quedan temas abiertos, el coordinador de la sesión debe documentarlo para programar otra reunión en la que se aborden dichos temas. Si ya se dispone de los modelos de negocio del sistema a desarrollar, este material puede resultar útil para consultar y aclarar algunos aspectos durante la sesión.

Reunión de trabajo (fuente:wikipedia)Reunión de trabajo (fuente:wikipedia)

Tormenta de ideas

La tormenta de ideas o lluvia de ideas es una técnica de reuniones en grupo cuyo objetivo es la generación de ideas en un ambiente libre de críticas o juicios. Como técnica de recopilación de información de requisitos, la tormenta de ideas puede ayudar a generar una gran variedad de vistas del problema y a formularlo de diferentes formas, sobre todo al comienzo del proceso de ingeniería de requisitos, cuando todavía los requisitos están muy difusos.

Talleres de trabajo

Los talleres de trabajo son reuniones integradas por clientes y usuarios y parte del equipo de desarrollo. La principal particularidad es que el coordinador debe dirigir la sesión intentado limitar la profundidad con que se abordan los requisitos según el nivel establecido a priori para la sesión. Por ejemplo, durante la exploración inicial de casos de uso el tiempo límite por caso de uso puede ser de 30 minutos evitando entrar en un nivel excesivo de detalle antes de tiempo. Las principales reglas durante el desarrollo de los talleres son: comenzar y terminar a la hora prevista, mantener una sola conversación en cada momento, no interrumpir al que esté hablando, y centrar los comentarios y críticas en el asunto que sea, sin incidir en alguien en concreto.

Taller de trabajo (fuente:wikipedia)Taller de trabajo (fuente:wikipedia)