lunes, 26 de mayo de 2014

Historias de usuario en 5 pasos

Imagen de: Agile Bench

En las metodologías ágiles de desarrollo de software, las historias de usuario son el instrumento para recopilar la información de requerimientos del cliente, entender sus expectativas e involucrarlos en la construcción del producto para lograr su satisfacción.

A diferencia de los enfoques predictivos, las historias de usuario no son especificaciones detalladas de la funcionalidad que debe tener el software. La intención es que estás sean el inicio de las conversaciones con el cliente y no el final.

Muchos proyectos de software fracasan por una mala recopilación de requerimientos, de allí la importancia de utilizar una metodología para escribirlas y refinarlas.

En este artículo te presentamos como elaborar y refinar las historias de usuario en 5 pasos, donde te hablaremos sobre como Identificar las fuentes de información, recopilar la Información para escribir las historias por medio de alguna de las técnicas para tal fin, Escribir las historias (en una tarjeta), Conversar sobre las historias con el usuario y refinar las historias, subdividiéndolas en partes manejables según sea necesario.

PMOInformatica.com, La Oficina de Proyectos de Informática presenta: 5 pasos para escribir y refinar las historias de usuario.

¿Qué son las historias de usuario?

Las historias de usuario, son descripciones cortas de una necesidad de un cliente del software que estemos desarrollando. Su utilización es común cuando se aplican marcos de trabajo ágiles, tales como Scrum o el Extreme Programming (XP).

Para mayor información sobre que son las historias de usuario, aquí te dejamos un interesante artículo: 
7 preguntas y respuestas sobre que son las historias de usuario.

También aquí te dejamos en enlace a una Plantilla para elaborar historias de usuario:
Plantilla para escribir las historias de usuario

Las historias de usuario en 5 pasos

1. - Identifica fuentes de información

  • Tomando como referencia Scrum, esta tarea es desempeñada por el Dueño de Producto (Product Owner).
  • El dueño de producto se reúne con distintos grupos de cliente y va identificando todos los que deben intervenir en la elaboración de las historias de usuario.
  • También se elaborar historias de usuario sobre requerimientos no funcionales. En este caso, el dueño de producto identifica a usuarios de áreas técnicas y de soporte involucradas.

2. – Recopilar la información seleccionando una técnica

  • Una vez identificados los grupos de clientes, se selecciona las técnicas de recopilación de información.
  • Algunas de las técnicas para recopilar información, tal como las describe Mike Cohn en su obra “User Stories Applied” son:
    • Entrevistas con los usuarios: en donde es importante seleccionar a los entrevistados adecuados y realizar preguntas abiertas.
    • Cuestionarios: es la única opción cuando la población de usuarios es muy grande o se necesitan respuestas especificas sobre preguntas especificas.
    • Observación: Lo mejor cuando el desarrollo de software es in-house.
    • Workshops de elaboración de historias de usuario: Es la técnica más usada, y es la más efectiva durante la fase inicial del proyecto.
  • Los clientes (usuarios) son quienes elaboran las historias de usuario, el grado de intervención del dueño de producto dependerá de que tan familiarizado estén con los métodos ágiles.
  • Para usuarios experimentados en historias de usuario, se les puede solicitar que ellos mismos las escriban, mientras que para usuarios no experimentados, el dueño de producto servirá de Coach en la metodología.

3. – Escribir las historias (en una tarjeta):

  • Una vez recopilada la información, el dueño de producto o los usuarios escriben las historias de usuario bajo el formato que acuerde la organización.
  • Una de las formas de escribir historias de usuario es:
Yo como un [Agregar en este espacio el Rol], necesito [agregar en este espacio la descripción de la funcionalidad], con la finalidad de [agregar en este espacio la descripción de la consecuencia o finalidad].

Nota: Las historias de usuario se pueden escribir en cualquier formato que sirva a los fines del equipo de trabajo y la organización.

  • También en esta etapa, se pueden definir los criterios de aceptación, bajo el siguiente formato:

En caso que [agregar aquí información del Contexto] y adicionalmente [agregar aquí más información del Contexto], cuando [agregar aquí la condición o evento], el sistema [agregar aquí el resultado o comportamiento esperado]

  • Las historias no son descripciones detalladas de la funcionalidad, su finalidad es servir como comienzo de las conversaciones entre los desarrolladores y los usuarios, no como el final de estas conversaciones.
  • Escribir buenas historias de usuario puede ser un gran reto, especialmente cuando se está comenzando a usar técnicas ágiles. Aquí dejamos un interesante artículo sobre que errores no cometer al escribirlas.
¿Que son las historias de usuario?: 5 errores comunes al escribirlas

Lectura recomendada

Si buscas más información sobre como elaborar y utilizar las historias de usuario te recomendamos los siguientes libros:

User Stories Applied: For Agile Software Development (en Inglés)
Autor: Mike Cohn
>> Comprar en Latinoámerica (amazon.com)
>> Comprar en España (amazon.es)
Sobre la Obra: Este libro describe las historias de usuario, mostrando como podemos usarlas para planificar, gestionar y probar los proyectos de desarrollo de software. En el contenido se muestran implementaciones exitosas y no exitosas del concepto y proporciona preguntas y ejercicios.

Sobre el Autor: Mike Cohn cuenta con más de 20 años de experiencia en compañías que van desde las de Fortune 40 hasta las start-ups, es miembro fundador del Agile Alliance, realiza frecuentes contribuciones a publicaciones de la industria y es fundador de Mountain Goat Software, firma de consultoría y formación en Gerencia de Proyectos y Procesos.

4. – Revisar / Conversar sobre las historias de usuario

  • Una vez escritas las historias de usuario, el dueño de producto se las presenta al equipo de desarrollo de software. En Scrum, esto se le conoce como la Revisión de la Pila de Producto (Product Backlog Review).
  • En estos enlaces de dejamos más información sobre el manejo de la Pila de Producto:
  • En estas conversaciones, cualquier integrante del equipo puede realizar preguntas. Las respuestas pueden registrarse para futura referencia (por lo que estas reuniones deben tener minutas)
  • Al evaluar las historias, se utiliza el modelo “INVEST”, por medio del cual toda historia de usuario debe tener las siguientes características: Independiente, Negociable, Agregar Valor al usuario, Estimable, Pequeña (Small), Verificable (Testable). 
  • Sino cumple el principio INVEST, la historia se puede evaluar, y posiblemente dividir o expandir en contenido de las historias si se requiere.
  • El equipo de desarrollo puede ir elaborando Wireframes, y clasificando las historias.
  • Luego el equipo de desarrollo puede comenzar a planear iteraciones y a definir pruebas sobre las condiciones de aceptación.
  • Aquí dejamos un artículo que amplia el uso que se le da a las historias de usuario después de escribirlas y revisarlas.
¿Qué son las historias de usuario?: Recomendaciones sobre su definición y uso

5. – Ampliar y refinar las historias de usuario

  • Del paso anterior resultaran preguntas nuevas o decisiones que el dueño de producto debe revisar con los usuarios o grupos de usuario.
  • Por ejemplo si se separan las historias en varias partes estás deben revisarse con el usuario.
  • Igualmente pueden modificaciones sobre la forma en que esté escrita la historia o los criterios de aceptación.
  • Para evitar invertir tiempo adicional, se puede incorporar a algunos los usuarios o grupos de usuarios en las reuniones (juntando este paso con el anterior).

¿y tú?, ¿Qué opinas?

¿Has trabajo con historias de usuario para definir requerimientos?, ¿Cuáles pasos tiene la metodología usada en tu organización?, ¿Qué agregarías o quitarías a lo explicado en este artículo? Te invitamos a dejar sus comentarios en la Web de La Oficina de Proyectos de Informática (pmoinformatica) y a suscribirse por los distintos canales, incluyendo lista de correo electrónico, al Twitter @PMOInformatica, a nuestra página de Facebook o al feed RSS.

Lectura recomendada

Si buscas más información sobre como elaborar y utilizar las historias de usuario te recomendamos:

Essential Scrum: A Practical Guide to the Most Popular Agile Process (en Inglés)
Autor: Kenneth S. Rubin
Sobre la Obra: Guía práctica sobre Scrum en una sola fuente, dirigida a todos los integrantes del equipo, Gerentes y Ejecutivos. En la obra, Kenny Rubin, uno de los principales líderes en coaching y formación en Scrum, nos muestra los valores y principios de este y describe enfoques de efectividad comprobada para su implementación, valiéndose de descripciones sencillas y más de 200 ilustraciones que describen los roles de Scrum, artefactos y actividades.
El contenido de la obra deriva de la experiencia de Kenny Rubin ayudando a cientos de empresas a tener éxito con Scrum.

Referencia

Dennis, S. How to write meaningful User Stories. Publicado en: subcide.com

Leli, S. Cómo escribir buenas historias de usuario. Publicado en LibrosWeb.

Villanueva, G. A Case for User Stories. Scrumalliance.

Otros artículos sobre desarrollo ágil

No hay comentarios :

Publicar un comentario

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.