Resumen - Historias Usuario
#ingenieriaDeSoftware
1. Definición de Historias de Usuario
- Las historias de usuario son una herramienta de comunicación que combina lo mejor de la comunicación verbal y escrita, describiendo funcionalidades desde el punto de vista del usuario.
- Se originan de la metodología eXtreme Programming (XP) y son utilizadas ampliamente en métodos ágiles como Scrum.
- Se estructuran según el modelo de las tres Cs de Ron Jeffries:
- Card: Se sintetizan en una tarjeta o post-it.
- Conversation: Se añaden criterios de aceptación mediante conversaciones.
- Confirmation: El propietario del producto valida que los requisitos se entienden y cumplen.
2. Ventajas de las Historias de Usuario
- Fomentan la colaboración y la documentación necesaria.
- Facilitan la planificación e implementación en proyectos con requisitos volátiles.
- Permiten dividir los proyectos en entregas pequeñas y frecuentes.
3. Elementos Claves de una Historia de Usuario
- Descripción: Responde a tres preguntas: ¿Quién se beneficia? ¿Qué se quiere? ¿Cuál es el beneficio?
- Estimación: Esfuerzo necesario, expresado en puntos de historia.
- Prioridad: Orden de implementación basado en el valor de negocio.
- Criterios de Aceptación: Definen cuándo una historia se considera terminada y satisfactoria.
4. De Epics y Temas a Tareas
- Epic: Una historia de gran tamaño con mayor incertidumbre, se descompone en historias más pequeñas antes de su implementación.
- Tema: Conjunto de epics e historias relacionadas que describen un sistema o subsistema.
- Tareas: Descomposición de historias de usuario en unidades de trabajo manejables.
5. División de Historias de Usuario
- Se presentan 10 estrategias para dividir historias de usuario, con ejemplos detallados para cada una:
- Spike: Investigación previa a la implementación.
- Pasos de flujo de trabajo: División basada en el flujo de trabajo del usuario.
- Reglas de negocio: Incorporación gradual de reglas de negocio complejas.
- Flujo ideal/fallo: Diferenciar escenarios de éxito y fallos (happy/unhappy flow).
- Opciones/plataformas de entrada: Diferenciación por dispositivos o medios de interacción.
- Tipos de datos: Implementación progresiva según la complejidad de datos.
- Operaciones: Descomposición en operaciones CRUD (crear, leer, actualizar, eliminar).
- Casos/escenarios de prueba: División basada en los criterios de aceptación.
- Roles: Diferenciación por roles o personas.
- Optimización: Implementación funcional seguida de optimización.
- Compatibilidad de navegador: Separación por compatibilidad con navegadores.
6. Estimación y Priorización
- Se sugieren técnicas como la serie de Fibonacci y planning poker para la estimación.
- Técnicas como MoSCoW (Must have, Should have, Could have, Won’t have) y Weighted Shortest Job First (WSJF) son recomendadas para la priorización.
7. Definición de Hecho (DoD)
- La Definición de Hecho establece los criterios necesarios para considerar una historia de usuario como completada. Esto incluye desarrollo, pruebas, integración, y documentación.
8. Requerimientos No Funcionales
- Se identifican como cualidades generales que afectan a todo el sistema, tales como rendimiento, seguridad, usabilidad y escalabilidad.
9. Calidad en las Historias de Usuario
- El método INVEST asegura la calidad:
- Independiente, Negociable, Valiosa, Estimable, Pequeña y Comprobable.