En este tutorial les presentaré un mecanismo que suele utilizarse para facilitar la labor del Product Owner al momento de escribir historias de usuario.
Índice de contenidos
- Introducción
- Enfoques para la creación de historias de usuario
- Gestionando las dependencias de una historia entre equipos
- Conclusiones
1. Introducción
Scrum es una de las metodologías ágiles más populares dado que cuenta con una serie de principios que tienen el propósito de asegurar una implementación efectiva del marco de trabajo, en pro de la confianza y transparencia en la gestión de proyectos.
De este modelo una de las prácticas que ha resultado más favorable tiene que ver con el trabajo que se realiza en las fases iniciales de la ejecución de un proyecto. En esta, la recomendación que nos da Scrum es que se dividan las iniciativas en elementos más pequeños, para reducir la incertidumbre que los rodea y acotar el alcance de la solución propuesta. Con este modelo lo que se pretende promover es que la entrega de valor sea continua, incremental y basada en las prioridades del negocio.
Dicho esto, la herramienta más utilizada para dividir un proyecto en elementos más pequeños son las llamadas Historias de Usuarios que nos permiten estandarizar la especificación de los requisitos funcionales de una iniciativa.
Dado que la formulación de historias de usuario requiere de técnica y experiencia, en el presente tutorial les hablaré de algunos modelos que se suelen utilizar para facilitar la labor del Product Owner al momento de enfocar la formulación de un proyecto.
2. Enfocando las historias de usuario
Según lo comentado anteriormente, es en la formulación de las historias de usuario que se sienta las bases para su correcta ejecución y existen algunos enfoques que nos facilitarán el proceso.
El primero de ellos ha sido heredado de las metodologías tradicionales (o en cascada) y propone que la división de los proyectos se haga en base a historias de usuario orientadas por las capas o componentes técnicos que estén involucrados. El problema de este enfoque horizontal es que existen algunas incongruencias desde el punto de vista de las metodologías ágiles, por ejemplo:
- Las historias de usuario no aportan valor de manera independiente.
- Se aumenta la dependencia entre equipos según su grado de especialización de los mismos.
- La priorización no sólo se basa en el valor que aportan las historias al negocio sino en la capacidad de desarrollo de los equipos involucrados.
Aunque esta división horizontal genera historias pequeñas, limita la capacidad de los equipos a ofrecer componentes de software que por sí solos no aporta una funcionalidad, lo cual ocasiona que los plazos de entrega crezcan y aumenten el riesgo de fallar.
El siguiente enfoque, y el que en mi opinión propone un división más acertada, plantea que las historias de usuario se dividan de manera vertical independientemente de los componentes técnicos que estén involucrados.
Para explicar mejor este modelo podemos utilizar una metáfora en la que cortamos un pastel con varias capas de distintos sabores. Si se desea cortar el pastel horizontalmente puede que la división no aporte demasiado dado que los invitados no podrán probar todas las capas. En tal sentido, la solución más eficiente sería cortar el pastel en rebanadas verticales en el que cada trozo aporte el valor esperado.
Un ejemplo podría ser la siguiente historia que debemos dividir por su complejidad:
‘Como cliente quiero poder pagar por mis pedidos para conseguir mis productos’
En este caso podemos dividir la funcionalidad en varias historias de usuario que reduzcan el alcance, pero sin dejar de entregarle valor al negocio:
- ‘Como cliente quiero poder pagar por transferencia bancaria mis pedidos para conseguir mis productos’,
- ‘Como cliente quiero poder pagar con tarjeta de crédito mis pedidos para conseguir mis productos’
- y ‘Como cliente quiero poder pagar manualmente mis pedidos para conseguir mis productos’.
3. Gestionando las dependencias de una historia entre equipos
Aunque los principios de gestión de proyectos ágiles presuponen que los equipos son multidisciplinarios y han logrado eliminar las dependencias, también es cierto que en la práctica no siempre se logra evitar las dependencias entre los equipos y según sea el caso se deben gestionar las mismas para el cumplimiento de los objetivos planteados.
En estos escenarios, una buena práctica es que alguno de los equipos involucrados asuma la responsabilidad de la integración de las piezas que componen una historia y el resto de equipos figuren como colaboradores en la ejecución de tareas técnicas o historias “habilitadoras” que otorgan valor de forma integral.
4. Conclusiones
Tras algún tiempo como colaborador en distintos proyectos ágiles, puedo dar fe de que todos los esfuerzos que se realicen en la creación de buenas historias de usuario son clave para la obtenención de buenos resultados en la implementación de la solución. En tal sentido, un enfoque adecuado puede ser crucial para la ejecución de un proyecto dado que determinará la cadencia con la que aportamos valor a negocio y cómo minimizamos las dependencias entre los equipos.
En Autentia proporcionamos soporte a la implantación corporativa de metodologías ágiles ayudando a la transformación digital de grandes organizaciones. Te invito a que te informes sobre los servicios profesionales de Autentia y el soporte que podemos proporcionar a tu empresa.