Captura

Elaborado por: *Santiago Cuervo Velasco*

El proceso de captura o elicitación corresponde a los orígenes de los requerimientos del software y cómo el ingeniero los puede recolectar (IEEE Computer Society, 2014, p. 36). Este es un proceso eminentemente interpersonal. Es decir, que asumir este proceso como un conjunto de técnicas preestablecido con una serie de resultados fijos sería un error. Debemos lidiar también con el factor humano y considerar las circunstancias a la hora de asumir esta tarea para garantizar la satisfacción del cliente. El éxito de este proceso está determinado por la comunicación constante y clara entre los grupos de interés, la definición de los alcances y limitaciones del proyecto y la priorización de los requerimientos (IEEE Computer Society, 2014, p. 36).

## Fuentes de requerimientos

### Metas

Lo que el software pretende lograr a nivel general. Deben establecerse un orden de prioridad entre ellas (IEEE Computer Society, 2014, p. 36).

### Conocimiento de área

El ingeniero de software debe familiarizarse con el campo de acción de su producto. Esto lo hará mediante la consolidación de unas sólidas bases conceptuales que le faciliten contrastar los requerimientos a un aspecto específico del contexto de operación del software. (IEEE Computer Society, 2014, p. 36).

### Grupos de interés

Es importante tener en cuenta las necesidades grupos de interés desde una perspectiva global para gestionar los conflictos de interés que puedan existir entre ellos (IEEE Computer Society, 2014, p. 36).

### Reglas del negocio

Definen las restricciones que rigen el desarrollo y el funcionamiento del software (IEEE Computer Society, 2014, p. 37).

### Ambiente operacional

Se refiere a los aspectos técnicos y restricciones del funcionamiento de la organización en donde el software será utilizado (IEEE Computer Society, 2014, p. 37).

### Ambiente organizacional

Se refiere a los aspectos interpersonales y culturales del funcionamiento de la organización en donde el software será utilizado (IEEE Computer Society, 2014, p. 37).

## Técnicas de captura de requerimientos

### Entrevistas

Mediante esta técnica se conocen las necesidades de los grupos de interés de primera mano.

### Escenarios

Se plantea un caso de ejemplo y se hacen preguntas como “¿qué tal sí?” o “¿cómo se hace esto?”. Esto le permite al ingeniero brindar contexto y tener una comunicación más fluida (IEEE Computer Society, 2014, p. 37).

### Prototipos

Técnica particularmente útil para clarificar requerimientos ambiguos. Se hacen *mockups* de diseños de baja fidelidad que ilustren el funcionamiento del software (IEEE Computer Society, 2014, p. 37).

### Reuniones

Forma de entrevistar a varias personas simultáneamente. Mediante esta técnica pueden salir a flote conflictos de interés que pueden solucionarse al instante. Así mismo, pueden surgir ideas que difícilmente saldría en una entrevista uno a uno. Deben contar con un moderador para evitar que grupos de interés con mayor poder cohíban a otros de manifestar sus puntos de vista (IEEE Computer Society, 2014, p. 37 - 38).

### Observación

Esta técnica requiere la inmersión del ingeniero en la organización donde será utilizado el software. Este debe prestar atención a la forma en como se relacionan los miembros de la organización, el software que utilizan y otros recursos que considere relevantes (IEEE Computer Society, 2014, p. 38).

### Historias de usuario

Son descripciones cortas y concisas, en lenguaje natural que el cliente brinda con funcionalidad deseada para el software. Siguen la siguiente estructura: “Yo como [rol] quiero que [objetivo/deseo] para que [beneficio/resultado]” (IEEE Computer Society, 2014, p. 38).

### Otras técnicas

Existen diversas estrategias como analizar los productos de la competencia, la minería de datos, consultar a las fuentes del conocimiento del área o la utilización de bases de datos con peticiones de clientes (IEEE Computer Society, 2014, p. 38).

## Referencias

IEEE Computer Society. (2014). Guide to the Software Engineering Body of Knowledge. En *IEEE Computer Society*