

Obtenga 200 historias de usuarios de la vida actual
Ejemplos escritos por Mike Cohn
Últimamente he recibido más y más correos electrónicos de personas que preguntan: “¿Qué es una épica, una función y una historia de usuario en Agile?” “¿Puedes darme algunos ejemplos épicos, de funciones y de historias de usuario?” “¿Puedes decirme cómo escribir epopeyas, características e historias de usuarios?”. “¿Epics? ¿Historias de usuarios? ¿Cuál es la diferencia?”
Entonces, en este artículo, vamos a cubrir un territorio básico, pero muy útil, al explicar algo del lenguaje relacionado con la historia del usuario.
Las historias, los temas, las épicas y las características son simplemente términos que los equipos ágiles usan para ayudar a simplificar algunas discusiones. Algunos de estos términos se remontan a los días de los equipos de Programación Extrema (XP), pero ahora se usan de formas más nuevas. Comenzaré con las definiciones estándar de la industria y también comentaré los cambios.
Historia épica vs. usuario
Cuando se trata de comprender la diferencia entre epopeyas e historias de usuarios, es útil comprender qué es cada una.
A historia del usuario es simplemente algo que un usuario quiere. Para nuestros propósitos aquí, podemos pensar en una historia de usuario como un fragmento de texto que cube algo así como “Paginar el informe de ventas mensual” o “Cambiar los cálculos de impuestos en las facturas”. Hay más para historias del usuario que solo texto escrito en una ficha o tecleado en una herramienta, pero hagámoslo easy aquí.
Las historias de usuarios son la forma más común de elementos de la cartera de productos para los equipos ágiles. Durante la planificación de sprints o iteraciones, las historias de usuario se mueven del backlog del producto al backlog del dash.
Muchos equipos han aprendido los beneficios de escribir historias de usuarios en forma de: “Como (tipo de usuario) yo (quiero esto) para que (pueda lograr este objetivo)”. Revisar la ventajas de ese formato de historia de usuario. Sin embargo, incluso dentro del formato, somos libres de personalizar las historias de los usuarios.
Tal como lo definieron los equipos de XP que inventaron las historias de usuarios, un épico es una gran historia de usuario. No hay un umbral mágico en el que llamemos épica a una historia en explicit. Para nuestros propósitos en Agile y Scrum, épico solo significa gran historia de usuario.
Me gusta pensar en esto en relación con las películas. Si te digo que una película en explicit fue una “película de acción y aventuras”, eso te cube algo sobre la película. Probablemente haya algunas persecuciones de autos, probablemente algunos tiroteos, y así sucesivamente. El término que usé les cube esto a pesar de que no existe una definición common que hayamos acordado seguir; nadie afirma que una película de acción y aventuras deba contener al menos tres persecuciones de automóviles, que se disparen al menos 45 balas, and so forth.
Si bien épica es solo una etiqueta que aplicamos a una historia grande, llamar a una historia épica a veces puede decirnos qué tan refinados son en la cartera de pedidos.
Suponga que me pregunta si tuve tiempo ayer para crear historias de usuarios sobre la parte de informes mensuales del sistema. “Sí”, respondo, “pero en su mayoría son épicas”. Eso te cube que, si bien los escribí, la mayoría todavía son trozos de trabajo bastante grandes, de hecho, demasiado grandes para incluirlos directamente en un dash o iteración. Recuerde que el marco Scrum no cube nada sobre epopeyas, historias y temas. Estos términos provienen de XP.
Tema versus historia de usuario
El equipo que inventó las historias de usuarios usó la palabra tema para referirse a una colección de historias de usuarios. Podríamos poner una banda elástica alrededor de ese grupo de historias sobre informes mensuales y lo llamaríamos un tema.
A veces es útil pensar en un grupo de historias, así que tenemos un término para eso. Siguiendo con la analogía de la película anterior, en mi estante de DVD he archivado las películas de James Bond juntas. Son un tema o agrupación.
Característica versus historia de usuario
Un término más que vale la pena definir es rasgo. Este término no fue utilizado por el equipo unique de historias de usuarios, lo que ha llevado a rasgo siendo aplicado a diferentes cosas en diferentes organizaciones y equipos.
Lo más común es que una característica sea una historia de usuario lo suficientemente grande como para ser lanzada o tal vez lo suficientemente grande como para que los usuarios la noten y estén más contentos. Muchos equipos trabajan con historias de usuarios que son muy pequeñas. A algunos de esos equipos les resulta útil tener un término que puedan aplicar a las historias que son lo suficientemente grandes como para publicarlas por sí mismas.
No soy un gran admirador de la complejidad adicional que trae un término más, y encuentro una pérdida de tiempo desmotivadora cuando los equipos se ven atrapados discutiendo si una determinada historia es una característica o solo una historia, por ejemplo.
Si quieres usar rasgo, recomiendo usarlo como una etiqueta que se puede aplicar a cualquier elemento de la cartera de productos. Un amigo publica fotos en Instagram de comidas increíbles que prepara. Los etiqueta con #yum. Haga lo mismo con #characteristic si encuentra que ayuda a las personas a trabajar con su cartera de productos.
¿Confundido? Su software program puede usar estos términos de manera diferente
Si en este punto quiere decirme que estoy equivocado, recuerde que estoy describiendo estos términos tal como los definió el equipo que inventó las historias de usuarios.
Algunos de los proveedores de herramientas de acumulación de productos utilizan los términos de manera diferente. Jira, por ejemplo, usa epic para referirse a un grupo de historias de usuarios en lugar de una sola historia de usuario grande. No sé si esto fue un error de su parte o no. Pero, una conocida estrategia de bloqueo de proveedores es manipular el vocabulario para que los usuarios piensen que todas las demás herramientas usan las palabras incorrectamente.
Estas son las buenas noticias: si bien las concepts detrás de los términos pueden ser útiles, los términos en sí no son muy importantes. Tema, épica, característica e historia de usuario no son términos con significados específicos importantes, como señalar a un programador u obligación de deuda garantizada para quien se ocupe de eso.
No luche contra su herramienta: cualquiera que sea el término que use su software program para referirse a una pequeña historia (historia de usuario), un grupo de historias (tema) o una gran historia (épica), es el término que debe usar.
Visualizando las diferencias
La siguiente ilustración de una cartera de productos deja en claro la diferencia entre historia, épica y tema. Cada cuadro representa un elemento de la cartera de productos con los cuadros dibujados para mostrar el tamaño de los diferentes elementos. Algunos artículos son pequeños y, por lo tanto, rápidos de desarrollar. Otros elementos tardarán más y se muestran como cuadros más grandes.
Los grandes artículos son epopeyas. Un elemento es tal vez lo suficientemente grande como para que algunos en el equipo lo llamen épico, pero no tan grande como para que todos estén de acuerdo. Esto refleja el hecho de que no existe un umbral preciso en el que un elemento se convierte en una epopeya.
La ilustración también muestra un tema, que se representa como un cuadro que agrupa un conjunto de historias. Los temas no son necesariamente más grandes que las epopeyas. Un tema puede ser más grande que una epopeya si, quizás, tienes un tema que comprende ocho historias medianas. Pero un tema puede ser más pequeño que una epopeya, como sería el caso si tienes un tema de una docena de errores ortográficos simples para corregir.
Y dado que la característica generalmente significa un elemento que se puede lanzar por sí solo, se muestran en verde.
Un ejemplo de cómo estas palabras son útiles
Supongamos que estamos construyendo algún tipo de sistema financiero que incluirá un conjunto de informes. Dado que apenas estamos comenzando el desarrollo, no estamos demasiado preocupados todavía por exactamente qué informes serán esos. Pero no queremos arriesgarnos a olvidar que necesitamos desarrollar los informes, por lo que escribimos un elemento de la cartera de productos como historia de usuario:
Como usuario autorizado, puedo ejecutar informes para poder ver el estado financiero de la organización.
No solo es una historia de usuario, es épica porque es demasiado grande para caber en un dash o iteración. Es casi seguro que se necesitarán más informes de los que se pueden hacer en un solo dash o iteración. Así que llamamos a esto una epopeya.
Nuestra historia/epopeya de informes permanece como está en la cartera de productos durante un tiempo, tal vez unos meses. Un día, el propietario del producto resolve que el equipo trabajará en estos informes en la próxima iteración. Eso significa que la epopeya se divide en un conjunto de historias más pequeñas, tal vez algo así como:
- Como usuario autorizado, puedo ejecutar un informe de pérdidas y ganancias…
- Como usuario autorizado, puedo ejecutar un informe de flujo de efectivo…
- Como usuario autorizado, puedo ejecutar un informe detallado de transacciones…
y más. Digamos que identificamos diez informes. Unos días después de separar estas diez historias de su epopeya principal, el propietario del producto anuncia un cambio de prioridades. En lugar de trabajar en informes, el equipo trabajará en algo completamente diferente.
La cartera de productos ahora podría verse abarrotada porque hay diez pequeñas historias de informes donde solía haber una sola epopeya. Para reducir este desorden, considere agrupar las diez historias de informes en un solo tema denominado “Reportaje”. Si su herramienta de software program es suitable con esto, puede facilitar la búsqueda de un trabajo pendiente porque verá un tema de informes en lugar de diez historias de informes distintas.
¿Cómo utiliza estos términos?
¿Cómo usas la épica, el tema, la historia y la función? ¿Su herramienta es suitable con las definiciones que usa o ha tenido que cambiar su idioma para que coincida con la herramienta? Por favor comparte tus pensamientos en la sección de comentarios.