¿Qué son las historias de usuario y por qué “invertir” en ellas?

Las historias de usuario o “user stories” son la base del desarrollo de software incremental. Mike Cohn en User stories Applied for Agile Software Development define una historia de usuario como un recordatorio para llevar una conversación futura con el cliente.

Esta conversación futura se usará como base para confirmar la historia a través de su criterio de aceptación. Las historias de usuario tienen 3 aspectos fundamentales…

  • Descripción: representa el requerimiento
  • Conversación: detalle de la historia
  • Confirmación: criterio de aceptación, lo que es aceptable para que el usuario considere la historia completa

Las historias de usuario deben estar escritas en el lenguaje del negocio de tal manera que el cliente pueda darles un valor y una prioridad.  Deben estar justificadas para cuantificar su beneficio desde el punto de vista del negocio.

Estructura básica de una historia de usuario

Como (rol de usuario)
Quiero (una funcionalidad en especifico)
De modo que (pueda generar un beneficio)

Criterio de aceptación

Cuando … (ejecuto una acción) Espero … (una reacción)

Repetir el criterio de aceptación hasta que el cliente considere que la historia esté completa

Usemos como ejemplo un website de reclutamientosi identificamos candidatos a ofertas de trabajo como usuarios potenciales del sistema y hacer búsquedas de ofertas de trabajo como un requerimiento, una forma simple de definir una historia de usuario podría ser:

Como candidato
Quiero poder buscar ofertas de trabajo
De modo que pueda encontrar puestos relevantes de acuerdo a mi experiencia

Hasta allí hemos cumplido con la descripción y conversación con lo cual tenemos representado el requerimiento con los detalles de la historia. La historia también ha sido justificada desde el punto de vista del negocio pero falta un elemento muy importante para hacer que esta historia esté lista para llevarla al desarrollo, la confirmación, y esto lo definimos mediante el criterio de aceptación:

Criterio de aceptación para el usuario

Cuando hago una búsqueda simple de ofertas de trabajo usando una categoría

Espero …

– Ver todas las ofertas disponibles bajo la categoría y por cada oferta ver el puesto, nombre de la empresa y una breve descripción del puesto

– Mostrar 10 puestos por página

– Poder navegar por el resto de páginas si se encontraron mas de 10 puestos

Cuando hago una búsqueda avanzada de ofertas de trabajo usando filtros

Espero…

– Ver las ofertas disponibles de acuerdo a los filtros seleccionados y por cada oferta ver el puesto, nombre de la empresa y una breve descripción del puesto

– Mostrar 10 puestos por página

– Poder navegar por el resto de páginas si se encontraron mas de 10 puestos

El criterio de aceptación se repite hasta que el usuario cumpla con su definición de “terminado”. Por ejemplo si se horneo una torta mi criterio de aceptación es meter un cuchillo, si el cuchillo sale seco la torta cumple con la definición de terminado y por lo tanto concluyo que la torta está lista para comer.

Son los usuarios los que definen las historias de usuario, a veces lo pueden hacer con ayuda de un analista o proxy representate del colectivo de usuarios.

Criterio INVEST para historias de usuario

Bill Wake autor del libro “Extreme Programming Explored” sugirió el acrónimo I.N.V.E.S.T. para asegurar que una historia de usuario esté definida correctamente. El acrónimo lo llevaremos al idioma castellano para concluir que debemos I.N.V.E.R.T.ir en historias de usuario, a continuación veamos el acrónimo:

Independientes Idealmente, no debe existir dependencia con otras historias, a veces esto es difícil pero deben hacerse los mejores esfuerzos
Negociable Las historias no son contratos o documentos extensos de requerimientos, son descripciones específicas de funcionalidad
Valorable Para los usuarios o compradores del producto. El valor es definido solamente por el cliente.
Estimable Debe poder estimarse un grado de complejidad que determine el tamaño de la historia con respecto a otras. Esto depende en las conversaciones, que tan completa esté la historia, la experiencia del equipo y a veces de la tecnología a usarse para la implementación. Algunas veces para poder estimar se necesita un elemento de investigación como parte de la historia, en ese caso se divide la historia en dos partes, una dedicada a la investigación (spike) y la otra que es la funcionalidad en si que se va a post poner para una iteración futura
Reducida Debe tener un tamaño reducido en la medida de lo posible pero no debe ser ni tan grande ni tan pequeña. Si es muy grande se consideran epics, por lo cual se tienen que partir en historias más pequeñas, si es muy pequeña agrupar con otras historias es lo mas indicado
Testeable El criterio de aceptación debe ser capturado para facilitar las pruebas de aceptación
Comparte...Tweet about this on TwitterShare on LinkedInShare on FacebookShare on Google+
Manuel Mazán

Manuel Mazán

Fundador de Agiland en el 2010 y Consultor internacional en Metodologías Ágiles e innovación. 20 años de experiencia internacional trabajando en Perú, España, Irlanda y UK. Pionero aplicando el método Lean Kanban en Perú. Manuel ha llevado a cabo transformaciones ágiles exitosas a nivel de equipo y a escala. En el 2015 lideró la transformación ágil de la banca digital en BBVA Continental. Ingeniero de Sistemas (Cum Laude) Universidad de Lima. MBA Ulster University (UK). Certified Scrum Master (CSM), Certified Scrum Professional (CSP), Scaled Agile Framework (SAFe) Program Consultant, Facilitador Management 3.0 y PNL Practitioner. Expositor internacional Lean Kanban Southern Europe 2012 España, Ágiles 2012 Argentina, Ágiles 2013 Perú,Ágiles 2014 Colombia y ScrumDay Perú.
Manuel Mazán
Tagged with:
Posted in Blog

Enviamos a tu inbox noticias y te mantenemos al tanto con lo mejor de nuestro
BLOG

¡Al suscribirte te daremos acceso inmediato a un caso de estudio tipo "White Paper" y un cupón GRATIS a un curso online!

Leénos en FB !

Algunos testimonios de nuestros cursos

El contenido del curso y la exposición de los temas es muy bueno, cumple con las expectativas del mismo y aporta valiosa información al respecto del tema principal del mismo. Adecuado para aplicar en casos del día a día. Recomendado!        
Hernando RondónPrincipios para entender y aplicar Agile, Scrum, XP y Kanban
Curso que explica de manera clara las bases fundamentales para llevar acabo un proyecto de software de manera exitosa, ideal para aquellos que nos encontramos inmersos dentro de la gerencia de proyectos. Este curso toca temas y problemas reales con los que uno tropieza al liderar proyectos de este tipo. Buen curso.        
Christian DelgadoPrincipios para entender y aplicar Agile, Scrum, XP y Kanban
Este es un curso sencillo, claro de entender y muy preciso. Mis expectativas fueron cubiertas en un 100%. Lo recomiendo ampliamente para aquellos que (como yo) se encuentran en proceso de implementar este tipo de metodologías para mejorar su trabajo día con día.        
Jesús V.Principios para entender y aplicar Agile, Scrum, XP y Kanban
Aprendizaje con casos y dinámicas, perfecto! Usa la experiencia para asimilar conceptos
Jose Luis SánchezTaller de Incepción al Framework Ágil Scrum
Manuel se caracteriza por tener buenos conocimientos en temas de Lean – Agile, los cuales fueron de mucha ayuda para el buen desenvolvimiento del curso, y para ampliar lo ya aprendido, provee buenas dinámicas para poner en practica lo aprendido, comparte conocimientos y consejos, ampliamente recomendado        
Enmanuel MestanzaGestión de Proyectos Lean-Agile
Uno de los mejores cursos de metodologías ágiles que he llevado a lo largo de mi carrera profesional, la metodología didáctica y el conocimiento profundo de la materia hace de este curso sea uno de los mas recomendables en su linea.
César Garrido LeccaTaller de Incepción al Framework Ágil Scrum
Este curso me ayudo a entender los diversos conceptos relacionados con el mundo LEAN y me ayudó a darme cuenta que en el proceso actual de desarrollo de software de mi empresa se estaban cometiendo muchas ineficiencias que no generaban valor al producto final. Definitivamente este curso es 100% recomendable.        
Marco CarranzaGestión de Proyectos exitosa con Lean Software Development
Curso muy Dinámico. El instructor sabe llegar a los alumnos. Casos prácticos que ayudan a entender los conceptos
Kristel NuñezTaller de Incepción al Framework Ágil Scrum
Manuel, tiene la facilidad de simplificar los conceptos y pone en práctica lo enseñado de una manera ágil y amena. El entrenamiento logrado ha sido excelente para poder aplicar las metodologías ágiles en los proyectos de desarrollo de software
Carlos PeraltaGestión de Proyectos Lean-Agile
Un curso obligado para comenzar a entender estos conceptos. Muy bien explicado. Me resulta difícil dar una reseña completa del curso porque se presentan varios conceptos nuevos para mi y además se emparejan con conceptos de manufactura, en definitiva debo leer el libro que recomienda al final del curso. La valoración tan alta la doy porque el instructor tiene una excelente fluidez al explicar los puntos tratados y un dominio en los temas que mantiene toda mi atención y crea mayor interés p…
Felipe De Jesús Piña Gestión de Proyectos exitosa con Lean Software Development