Casos de uso y Historias de usuario
Cual es la diferencia entre Casos de uso y las Historias de Usuario de XP?
Traducido del articulo UseCasesAndStories de Martin Fowler
Esta es una pregunta común, y no una que tiene una respuesta generalmente aceptada. Muchas personas en la comunidad de XP consideran que las historias son una forma simplificada de casos de uso, pero aunque solía tener la misma visión, ahora veo las cosas de manera diferente.
Los casos de uso y las historias de usuario son similares porque ambas son formas de organizar requerimientos. Son diferentes en que organizan los requerimientos para diferentes propósitos. Los casos de uso organizan los requerimientos para formar una narrativa de cómo los usuarios se relacionan y usan un sistema. Por lo tanto, se centran en las metas de los usuarios y cómo la interacción con un sistema satisfacen las metas. En cambio, las historias de XP (y cosas similares, a menudo llamadas características) dividen los requerimientos en trozos (porciones, chunks) para fines de planificación. Las historias son explícitamente divididas hasta que se puedan estimar siendo parte del proceso de planificación del release de XP. Debido al uso distinto de los requerimientos, las heurísticas para hacer buenos casos de uso y historias son distintas.
Los dos tiene una correlación compleja. Las historias usualmente son de mayor grano fino (pequeñas) porque ellas tienen que ser enteramente desarrolladas (construidas) en una iteración (1 o 2 semanas en XP). Un pequeño caso de uso puede corresponder a una historia; sin embargo una historia puede ser uno o más escenarios en un caso de uso (recuerdas los escenarios, uno donde todo sale bien y otros alternativos, donde quizá las cosas no salen bien), o uno o más pasos en un caso de uso. Una historia puede incluso no tener que mostrarse en la narrativa del caso de uso, por ejemplo agregar un nuevo método de depreciación de recursos a una lista emergente.
¿Necesitas ambas? Como en muchas cosas, en teoría sí pero en la práctica no. Algunos equipos podrían usar los casos de uso en un comienzo para construir una imagen narrativa (general), y luego para la planificación, las dividen en historias. Otros equipos van directamente a las historias. Otros podrían sólo hacer casos de uso y anotar su texto para mostrar cuando se desarrolla cada característica.
Espero que te haya gustado el articulo, cualquier corrección o mejora en la traducción escribirme en los comentarios, desde ya gracias :)
Ahh.. y si te gustaría saber más opiniones de otras personas y gurús del desarrollo de software, te dejo los mejores artículos que encontré.
Donde buscar más:
User Story And Use Case Comparison y User Story And Use Case Discussion del wiki de C2, encontrarás discusiones de gurús del mundo ágil.
A user story is to a use case as a gazelle is to a gazebo y Stop confusing use cases and user stories del blog de Alistair Cockburn, en ellas encontrarás que los historias de usuario y los casos de uso solo tienen en común las letras “usuario” y que tienen distintos propósitos
User Stories Versus Use Cases del blog de ScrumAlliance