En el contexto de una metodología ágil, popularmente se asocia el concepto “historia de usuario” con el de “requisito funcional”. Se habla de que las metodologías ágiles usan la “historia de usuario” y las tradicionales el “requisito funcional”. Aunque detrás del concepto historia de usuario hay muchos aspectos particulares que la hacen sustancialmente diferente de lo que es un requisito, diferencias que muchas veces son poco conocidas y que llevan a muchos equipos a muchas dudas y confusiones.
Una historia de usuario describe funcionalidad que será útil para el usuario, o comprador, de un sistema software. Y aunque normalmente las historias de usuario, asociadas a las metodologías ágiles, suelen escribirse en post-it o tarjetas, son mucho más que eso. Ron Jeffries comentaba que una historia no es sólo una descripción de una funcionalidad, normalmente en un post-it, una historia de usuario además está formada por otras dos partes más:
- La conversación que conllevan, ya que son una herramienta para interactuar.
- El cómo se confirma su implementación, las pruebas y verificación de la misma.
Las historias de usuario, frente a mostrar un “cómo”, sólo dicen el “qué”. Es decir, muestran funcionalidad que será desarrollada, pero no cómo se desarrollará. Por ello, cosas como que “el software se escribirá en C++” no es una buena historia de usuario. [Leer el resto de la entrada...]