En el mundo de la ingeniería del software por ser una rama relativamente nueva, existen varios impedimentos para realizar proyectos exitosos. Uno de ellos es convertir necesidades en software funcional y de calidad.
El principal problema son los puntos de vista de cada individuo que pertenece a un proyecto, por ejemplo los gerentes de proyectos desean tener un seguimiento de cómo va el mismo, respecto a estimación y costos, los programadores desean implementar sus soluciones con código para satisfacer necesidades, los tester medir y garantizar la calidad del producto, los diferentes stakeholders buscan tanto comportamiento en el mercado y rentabilidad del mismo.
Para potencializar la comunicación entre ellos, existe una herramienta poderosa para mitigar varios problemas a la hora de afrontar requerimientos de los clientes llamada en el mundo ágil “Historias de Usuarios”.
¿Qué es una historia de usuario?
1)Una historia de usuario describe la funcionalidad que será valioso para un usuario de un sistema o software enfocada al lenguaje del negocio.
Historias de usuario se componen de tres aspectos:
- Una descripción escrita de la historia se utiliza para la planificación y como un recordatorio
- Conversaciones acerca de la historia que sirven para dar cuerpo a los detalles de la historia
- Pruebas que transmiten y detalles del documento y que se pueden utilizar para determinen cuando es una historia completa.
Utilizamos la definición de (Card , Conversation, and Confirmation) , donde lo que se hace es escribir una carta donde recordemos una conversación entre cliente y equipo de desarrollo ,y definamos como podemos confirmar o probar lo que se conversó.
Una historia de usuario debe ser (INVEST) :
- Independent (Independiente) : Evita dependencias con otras historias , ya que podría afectar tanto priorización como estimación.
- Negotiable (Negociable) : Esta bien visto hacer cambios en lo confirmado , mientras se llegue a un consenso positivo entre cliente y equipo.
- Valuable to users or customers (Valiosa) Suple una necesidad ya sea por parte del cliente o del equipo
- Estimatable (Estimable):El equipo puede identificar el esfuerzo que le llevara finalizar la historia , en caso de no poder ser estimado , se realiza un SPIKE , donde se da un tiempo para investigar y realizar una prueba pequeña de lo que se realizaría.
- Small (Pequeña) Cuando la historia es muy grande , lo recomendado es dividirla en varias historias para generar valor al cliente frecuentemente .
- Testable (Probable) Se debe verifica que lo que se acordó corresponda a lo se ha desarrollado.
Ventajas
- Historias de usuarios se enfoca en la comunicación verbal .• Las historias de usuario son comprensibles por todos.
- Las historias de usuario son del tamaño correcto para la planificación.
- Historias de usuarios trabajen para el desarrollo iterativo.
- Las historias de usuario fomentan el aplazamiento de detalle.
- Historias de usuarios de apoyo al diseño oportunista .
- Las historias de usuario animan diseño participativo .
- Historias de usuarios Avanzar en el conocimiento tácito
Fuente : User Stories Applied: For Agile Software Development (Cohn, Mike 2004)