La necesidad
¿Para qué se pide ese botón o ese informe? Comprender el problema permite discutir si la solución propuesta ayudará a quien la va a utilizar.
Análisis funcional
Entre «necesitamos una mejora» y una aplicación que resuelve el problema hay preguntas que alguien tiene que hacer. El análisis funcional ayuda a convertir esa conversación en decisiones claras.
En pocas palabras
Es el trabajo de comprender una necesidad y definir qué debe hacer el software para resolverla. Aclara quién lo utilizará, qué reglas debe respetar y cómo se comprobará el resultado. Su utilidad está en que usuarios y desarrollo compartan la misma idea de lo que van a construir.
El mapa del tema
¿Para qué se pide ese botón o ese informe? Comprender el problema permite discutir si la solución propuesta ayudará a quien la va a utilizar.
Quién puede hacer cada cosa, en qué condiciones y con qué excepciones. Una regla que parece evidente para una persona puede ser desconocida para otra.
Ejemplos y criterios de aceptación que permiten verificar el resultado. Decidir cómo lo comprobaremos también ayuda a descubrir lo que todavía no está claro.
Imagina que una persona selecciona cien expedientes y pulsa «Cerrar». Tres no cumplen las condiciones. ¿Debe rechazarse toda la operación? ¿Cerrar los otros noventa y siete? ¿Mostrar cuáles han quedado pendientes y por qué?
La frase inicial no responde a esas preguntas. El análisis funcional hace explícitas las decisiones: quién puede cerrar, qué estados lo permiten, qué sucede con cada excepción y qué información debe quedar registrada. Las respuestas se acuerdan con quienes conocen el proceso.
Trabajar a partir de una especificación —spec-driven— significa usar una descripción compartida del comportamiento esperado para orientar el desarrollo. Puede incluir reglas, ejemplos, diagramas y pruebas. El formato debe ayudar a revisar las decisiones y a mantenerlas al día.
EARS ofrece patrones para redactar requisitos. Gherkin permite expresar escenarios con una estructura como «Dado este contexto, cuando ocurre esta acción, entonces esperamos este resultado». Herramientas como Cucumber conectan esos pasos con código de prueba. Escribir el escenario no automatiza por sí solo la comprobación.
Una IA puede producir código a partir de una petición, pero las reglas que faltan siguen faltando. Si nadie explica las excepciones, la respuesta puede apoyarse en supuestos que no coinciden con el funcionamiento del negocio.
Relacionar cada necesidad con sus requisitos, las partes del sistema que la resuelven y sus pruebas ayuda a revisar los cambios. Esa relación es la trazabilidad. Permite volver a la pregunta original: ¿para qué estamos construyendo esto?
Preguntas frecuentes
El requisito describe una capacidad o condición que debe cumplir el sistema. El criterio de aceptación concreta cómo decidir si se ha cumplido. Por ejemplo: poder cerrar expedientes y comprobar que uno sin autorización permanece abierto y muestra el motivo.
No siempre, pero entender cómo se construye el software ayuda a formular preguntas y valorar consecuencias. Conocer el proceso de negocio, escuchar a sus usuarios y expresar las reglas con precisión son partes esenciales del trabajo.
Puede ordenar notas, proponer escenarios y señalar ambigüedades. Las propuestas deben revisarse con las personas que conocen el proceso: una respuesta bien redactada también puede incluir una regla inventada.
Seguir leyendo
Automatización y supervisión humana
De los triggers a los agentes de IA: deuda cognitiva, deuda de intención y continuidad de contexto. Con Bainbridge, Endsley, Elish y Storey.
Análisis funcional
Una historia sobre un botón que hacía exactamente lo pedido y, aun así, dejaba el problema sin resolver.
Análisis funcional
Cómo usar el código como otra fuente para entender lo que el sistema hace.
Del contenido a la práctica
En Formación puedes consultar las líneas que estoy preparando y proponer una sesión sobre requisitos y casos de uso. Los materiales se anunciarán cuando estén disponibles.
Ver recursos y propuestas