Non-Functional user Stories Specification and test
Agile: artefactos de requerimientos
Cómo se organizan los artefactos desde el alto nivel hasta las user-stories. Tanto del lado del cliente → developer → management. Básicamente un mapa de donde cae cada cosa en una matrix: épicas, features, user stories, acceptance criteria.
Req. Funcionales vs RNF
flowchart TD
US["📝 User Story"]
US --> FR["⚙️ Req. Funcional (RF)\n¿QUÉ hace el sistema?\n'El usuario puede hacer login'"]
US --> NFR["📊 Req. No Funcional (RNF)\n¿CÓMO lo hace?\n'Carga en < 2s con 1000 usuarios'"]
NFR --> ISO["🏷️ ISO 25010:2023\nCategorías de calidad"]
ISO --> PERF["⚡ Performance"]
ISO --> SEC["🔒 Security"]
ISO --> MAINT["🔧 Maintainability"]
ISO --> USE["🖥️ Usability"]
NFR --> AC["✅ Acceptance Criteria\nmedibles + automatizables"]
AC --> TEST["🤖 Tests automatizados\n(load testing, security scans)"]
style NFR fill:#1e1e2e,stroke:#ffd700,color:#f8f8f2
style ISO fill:#1e1e2e,stroke:#61dafb,color:#f8f8f2
style TEST fill:#1e1e2e,stroke:#50fa7b,color:#f8f8f2
- Requisitos funcionales: describen el comportamiento del sistema (qué hace).
- Requisitos no funcionales (RNF): describen restricciones de calidad (cómo lo hace).
Árbol de categorías de RNF basado en ISO 25010:2023: rendimiento, usabilidad, seguridad, mantenibilidad, portabilidad, confiabilidad, compatibilidad.
Specification on Scrum
Generalmente los RNF no se escriben como debería. Pasan a ser un “wishlist” vago (“el sistema debe ser rápido”) sin métricas ni criterios de aceptación claros.
La solución: escribir los RNF como user stories con datos que puedan ser validados a través de pruebas, usando criterios de aceptación medibles.
Ejemplo:
“Como usuario final, quiero que la página de inicio cargue en menos de 2 segundos bajo una carga de 1000 usuarios concurrentes.”
Takeaways
- Considerar los RNF desde el inicio del proyecto
- Revisar la norma ISO 25010:2023 como base de categorías
- Especificar con criterio: solo lo que tenga sentido testear
- Escribir los acceptance criteria y automatizar los tests asociados
- Los NFR demandan mucho tiempo — priorizar qué testear y cómo
Referencias
- ISO/IEC 25010:2023 — Systems and software Quality Requirements and Evaluation (SQuaRE)
- Non-Functional Requirements — Wikipedia