Después de elicitar información mediante entrevistas, talleres, observación, documentos o prototipos, el equipo no obtiene automáticamente requerimientos finales. Obtiene datos, ideas, problemas, reglas, restricciones, necesidades, opiniones y posibles soluciones.
El análisis de requerimientos permite ordenar esa información, clasificarla, refinarla y revisar su consistencia. Es la actividad que transforma información dispersa en requerimientos más claros, útiles y verificables.
Sin análisis, el proyecto puede acumular una lista larga de pedidos sin saber cuáles son verdaderos requerimientos, cuáles se contradicen, cuáles son incompletos y cuáles no son factibles.
Analizar requerimientos significa estudiar la información obtenida para comprenderla mejor, detectar problemas y mejorar su calidad antes de especificarla o implementarla.
No se trata solo de ordenar textos. Implica razonar sobre necesidades, reglas, dependencias, conflictos, prioridades, riesgos y condiciones de aceptación.
Los principales objetivos del análisis de requerimientos son:
Clasificar requerimientos ayuda a organizarlos y analizarlos con criterios adecuados.
| Tipo | Descripción | Ejemplo |
|---|---|---|
| Funcional | Describe una función o comportamiento del sistema. | El sistema debe permitir registrar pedidos. |
| No funcional | Describe una condición de calidad. | La consulta de pedidos debe responder en menos de 2 segundos. |
| Regla de negocio | Define una condición propia del dominio. | Un cliente bloqueado no puede comprar a crédito. |
| Restricción | Limita alternativas de solución. | El sistema debe integrarse con el sistema contable existente. |
| Dato requerido | Información necesaria para operar. | Todo reclamo debe tener motivo, cliente y descripción. |
Durante la elicitación, muchos interesados proponen soluciones directamente. En el análisis conviene separar la solución sugerida de la necesidad que la origina.
Ejemplo:
| Frase inicial | Análisis |
|---|---|
| Necesitamos un botón para reenviar correos. | Puede indicar una necesidad de reenviar confirmaciones cuando el correo original no llegó. |
| Queremos una app móvil. | Puede indicar necesidad de operar fuera de la oficina o desde visitas a clientes. |
| Hace falta un reporte más completo. | Puede indicar necesidad de tomar decisiones con datos que hoy están dispersos. |
Esta separación permite evaluar alternativas y evitar comprometerse con una solución prematura.
Refinar un requerimiento significa mejorar su precisión, completitud y verificabilidad. Muchos requerimientos comienzan como frases generales y deben trabajarse.
Ejemplo:
El refinamiento agrega información necesaria sin caer en detalles técnicos innecesarios.
Para refinar requerimientos, conviene hacer preguntas como:
La consistencia significa que los requerimientos no se contradicen entre sí ni con reglas, restricciones u objetivos del proyecto.
Ejemplos de inconsistencias:
Detectar estas inconsistencias temprano evita conflictos posteriores.
Un requerimiento es más completo cuando contiene la información necesaria para entenderlo, construirlo y verificarlo. No significa que deba ser largo, sino suficiente.
Aspectos a revisar:
La factibilidad indica si un requerimiento puede realizarse con las tecnologías, recursos, tiempos, presupuesto y restricciones disponibles.
Puede analizarse desde varias dimensiones:
Un requerimiento puede ser deseable, pero no factible en la versión actual.
Algunos requerimientos dependen de otros. Identificar dependencias ayuda a planificar y priorizar.
Ejemplos:
Ignorar dependencias puede producir planes de trabajo poco realistas.
El análisis también permite detectar conflictos entre necesidades de distintos interesados.
Ejemplos:
El objetivo no es ocultar estos conflictos, sino hacerlos visibles para negociarlos.
Durante la elicitación pueden aparecer requerimientos duplicados escritos de formas distintas.
Ejemplo:
El análisis debe consolidar estas expresiones, aclarar términos y evitar duplicación innecesaria.
No toda idea obtenida durante la elicitación debe convertirse inmediatamente en requerimiento aprobado. Puede registrarse como requerimiento candidato.
Un requerimiento candidato es una necesidad o solicitud que debe analizarse, refinarse, validar su valor, revisar factibilidad y priorizar.
Esta categoría evita perder ideas sin comprometerlas antes de tiempo.
Una matriz puede ayudar a ordenar requerimientos durante el análisis.
| Requerimiento | Tipo | Estado | Duda o acción |
|---|---|---|---|
| Registrar reclamos con cliente, motivo y descripción. | Funcional | Refinado | Confirmar si canal de ingreso es obligatorio. |
| La consulta debe ser rápida. | No funcional | Ambiguo | Definir tiempo, operación y volumen de datos. |
| Integrarse con sistema contable. | Restricción / integración | Pendiente | Solicitar documentación técnica. |
| Clientes bloqueados no pueden comprar a crédito. | Regla de negocio | Validar | Confirmar excepciones con administración. |
Los requerimientos pueden tener estados durante el análisis. Por ejemplo:
Estos estados ayudan a gestionar la información sin mezclar niveles de certeza.
El análisis prepara el camino para priorizar. Antes de decidir qué se hará primero, conviene saber qué significa cada requerimiento, qué valor aporta, qué costo puede tener, qué dependencias posee y qué riesgos implica.
Priorizar requerimientos ambiguos puede llevar a decisiones equivocadas. Por eso, los requerimientos más importantes deberían refinarse antes de priorizarlos definitivamente.
Al analizar requerimientos, suelen aparecer estos errores:
Algunas buenas prácticas son:
El análisis de requerimientos es una etapa esencial para ordenar y mejorar la información obtenida durante la elicitación. Permite clasificar, refinar, detectar inconsistencias, evaluar factibilidad y preparar decisiones de prioridad.
Un proyecto con buen análisis evita acumular requerimientos ambiguos o contradictorios que luego generan retrabajo.
En el próximo tema estudiaremos con más detalle la detección de ambigüedades, contradicciones y omisiones, problemas frecuentes que afectan la calidad de los requerimientos.