TL; DR
Scrum no exige el uso de historias de usuarios; son simplemente una práctica ágil útil. Si bien el propietario del producto ciertamente podría usar especificaciones técnicas en lugar de historias de usuarios para crear la cartera de pedidos del producto, la mayoría de sus otros problemas de proceso se derivan de una falla en adoptar Scrum y prácticas ágiles efectivas.
Varios problemas con su proceso
Su Scrum parece estar roto en una amplia variedad de formas, que incluyen:
- Sus especificaciones carecen de un punto de vista explícito o propuesta de valor.
- Sus elementos pendientes no están vinculados a los objetivos de Sprint.
- Su proceso de preparación del Backlog falta por completo o no puede crear picos de historia para el Backlog del producto.
- Su proceso de Planificación de Sprint no está descomponiendo adecuadamente los elementos de la Pila del Producto en los elementos de la Pila del Sprint.
- Su equipo no incluye adecuadamente la incertidumbre sobre los elementos de la cartera de pedidos en sus estimaciones de Sprint Planning.
- Su equipo no respeta los fundamentos del time-boxing o la integridad del Sprint.
Si bien Scrum no siempre es el adecuado para cada proyecto, en este caso sería más exacto decir que Scrum no está funcionando porque el equipo realmente no está haciendo Scrum. Su pregunta sobre historias de usuarios es solo una pequeña parte de los problemas de proceso más grandes que enfrenta su equipo.
Por qué los programadores ágiles adoptan historias de usuarios
Las especificaciones técnicas son una forma fundamentalmente rota de comunicar los requisitos. Los requisitos que no están amarrados desde un punto de vista no brindan ninguna guía útil para los desarrolladores. Usando sus ejemplos publicados:
- Reescribe el caché de objetos. ¿Por qué? Cual es el objetivo? ¿Quién recibe el beneficio? ¿Quién puede proporcionar aclaraciones sobre la tarea? Si esto está vinculado a un requisito no funcional, ¿qué objetivo del proyecto aborda este?
- Implementar el registro del sistema. ¿Por qué? ¿Quién va a leer los registros? ¿Qué información necesitan contener los registros? ¿Cómo sabrá si el formato de registro o los datos de registro son útiles?
Desde la perspectiva del desarrollador, no poder responder a este tipo de preguntas conduce exactamente al tipo de problemas de proceso que usted describe. Eso es lo que hacen las historias de usuarios: proporcionan un contexto muy necesario y actúan como marcadores de posición para conversaciones adicionales con partes interesadas o usuarios finales sobre características específicas.
No debe usar historias de usuario porque cree que es un requisito de marco o porque es una práctica ágil ampliamente aceptada. En cambio, debe trabajar en crearlos y usarlos de manera efectiva porque facilita las tareas de programación y hace que la profesión de programación sea más divertida. Su kilometraje puede variar, por supuesto.