Historia de usuario
De Dos Ideas.
Una historia de usuario es una descripción funcional de una parte del software.
Contenido
¿ Por qué escribimos historias de usuario ?
- Orientan a registrar funcionalidad
- Enfatizan la comunicación verbal
- Enfocan en los aspectos relevantes del momento y los detalles pueden verse en el momento más oportuno
- Tienen un buen tamaño para planificar
- Funcionan bien en el desarrollo iterativo
¿ Qué incluyen las historias de usuario?
- Una descripción escrita: es un item del Backlog Del Producto
- Conversación con el cliente: guardamos apuntes, información obtenida, prototipos
- Confirmación: pruebas que limiten el alcance de la historia
Características de las historias de usuario
- Independientes: cada historia es coherente por si misma
- Negociables: se negocia el objetivo y alcance a través de la conversación
- Valiosas para el usuario: añade valor al producto
- Estimables
- Small: pequeñas en esfuerzo para el equipo de trabajo (no más de 2-3 personas/semana de trabajo)
- Testeables: necesitamos saber que vamos a poder probarla
I.N.V.E.S.T.: invertir en
Historias funcionales
- Escribir historias funcionales nos ayuda a pensar en entregar valor al usuario
¿ Qué hacemos con historias no funcionales ?
- las historias tienen que aportarle valor al usuario y si necesitamos incluir cuestiones técnicas nos conviene incluir tareas en las primeras historias
- en primeras etapas escribir super historias que puedan ser negociadas con el usuario
Desventaja aparente por tener solo historias funcionales
- Unicamente se explica el producto a nivel de cliente
Ventaja aparente por tener solo historias funcionales
- Fuerza a centrarse en la colaboración con el cliente
- No se fijan los detalles de la implementación hasta el momento en que se va a realizar (en la descomposición en tareas) con lo que se puede reaccionar más ágilmente ante los cambios de los requisitos o de las necesidades del cliente
Ejemplo de una historia de usuario
Historia: Préstamo de libro
ID: 5
Descripción: Cómo cliente quiero que los socios puedan pedir prestado un libro, indicando su número de socio y la referencia del libro, siempre y cuando no tengan ya tres libros en préstamo en ese momento.
Importancia: 300
Cómo probarlo:
- Introducir un número de socio incorrecto y comprobar que se indica error
- Introducir un socio que ya tiene 3 libros en préstamo y comprobar que se indica error
- Introducir un libro del que no hay ejemplares y comprobar que se indica un error
- Introducir todos los datos correctos y comprobar que el número de ejemplares disponibles del libro disminuye y el número de préstamos del socio aumenta en uno
Ejemplo gráfico de una historia de usuario
http://sixservix.com/blog/david/2010/02/10/estructura-historia-usuario/
Ejercicio para escribir historias de usuario
La propuesta es trabajar con el siguiente ejemplo de requerimiento de usuario de biblioteca y escribir las historias de usuario.
- Se quiere desarrollar un sistema sencillo de control de préstamos en una biblioteca.
- El sistema debe admitir el alta y la baja de socios y de libros.
- Los socios pueden pedir libros en préstamo, pero no se pueden tener más de tres libros en préstamo en un momento determinado.
- Los libros se han de devolver antes de un mes de la fecha del préstamo. Cada vez que un socio devuelve un libro después de la fecha de la devolución, se penaliza reduciendo en una unidad el número de libros que puede tener simultáneamente.
- Cuando llega a cero el socio se de de baja automáticamente.
Recomendamos hacer la actividad en equipo con un moderador para luego entre todos construir el backlog del producto.
Material de Referencia
- http://www.slideshare.net/jrramon/formacin-user-stories-biko-mayo-2011
- http://groups.google.com/group/agile-spain/browse_thread/thread/5a15cfb5a47a3569?hl=es&pli=1
- https://elearning.industriallogic.com/gh/submit?Action=PageAction&album=blog2009&path=blog2009/2011/horizontalSlicing&devLanguage=Java
- http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/
- http://devnettips.blogspot.com/2009/03/definiendo-historias-de-usuario-en.html