Las historias de usuario son porciones del comportamiento deseado de un sistema de software. Son muy utilizadas dentro del marco de desarrollo Ágil, y sirven para dividir una gran cantidad de funcionalidad en partes más pequeñas para facilitar la planificación. Este concepto también se lo puede llamar "característica", pero el término "historia" o "historia de usuario" se volvió muy popular dentro del marco Ágil.

Kent Beck fue quien introdujo este término como parte de Extreme Programming para fomentar una manera informal y conversacional para la toma de requerimientos (en lugar de especificaciones largas escritas). La esencia de una historia puede escribirse en una única tarjeta (Kent y Martin Fowler las prefieren de un tamaño de 3x5 pulgadas). De forma deliberada las historias no son detalladas hasta que están lista para ser desarrolladas; sólo se necesita el detalle necesario para permitir la priorización con otras historias.

Bil Wake inventó el acrónimo INVEST para describir las características de una buena historia:

  • Independiente: las historias pueden completarse en cualquier orden.
  • Negociable: los detalles de la historia son co-creados por los programadores y los clientes durante el desarrollo.
  • Valiosa: la funcionalidad es valiosa para los clientes o los usuarios del software.
  • Estimable: los pgoramadores pueden encontrar una estimación razonable para construir la historia.
  • Pequeña: las historias deberían construirse en poco tiempo, generalmente alrededor de "días/persona". Se tienen que poder construir muchas historias en una iteración.
  • Testeable: se debe poder escribir pruebas que verifiquen que el software de la historia funcione adecuadamente.

Una forma habitual de escribir las historias es "Como <rol>.... Quiero <característica>... Para <valor>". La parte del "Como..." se refiere a la persona que quiere la historia. La parte "Quiero..." describe la funcionalidad de la historia, y la parte "Para..." describe el motivo por el cual se pide esa funcionalidad.

Mike Cohn escribió el libro User Stories Applied: For Agile Software Development que contiene lo que hoy es un estándar para escribir historias de usuario.

Traducido de User Stories, por Martin Fowler.

 

Seguinos en Facebook.

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw