La guía definitiva para escribir buenas historias de usuario

 

Las historias de usuario son el corazón de las buenas implementaciones de agilidad, porque crean un puente entre las necesidades del usuario y el trabajo del equipo.

🗓️ Aprendí y comencé a guiar a los equipos con las historias de usuario en 2012. El diagrama de arriba viene de un curso que di en 2014 en un banco. Sin embargo, estamos en 2024 y esta técnica aún no suele usarse bien.

🤸 En este artículo, utilizando ejemplos de GymTonic y su aplicación GymApp, exploraremos cómo escribir historias que aporten valor, eviten el retrabajo y mantengan al equipo enfocado en el usuario.


¿Qué es una historia de usuario?

Una historia de usuario es una descripción breve de una funcionalidad desde la perspectiva del usuario. Está diseñada para responder tres preguntas clave: ¿Quién lo necesita?, ¿Qué necesita? y ¿Por qué lo necesita?.

Por ejemplo, para GymApp: “Como cliente del gimnasio, quiero poder reservar clases desde mi móvil, para asegurarme de tener un lugar en las sesiones más demandadas.”

🤔 Este formato, simple pero potente, ayuda al equipo a entender la necesidad del usuario sin entrar en detalles técnicos innecesarios.


¿Qué ventajas tienen las historias de usuario sobre las especificaciones tradicionales?

A diferencia de las especificaciones de requisitos, que suelen ser largas, detalladas y estáticas, las historias de usuario son:

    • Dinámicas y centradas en el usuario: No describen solo funcionalidades, sino los problemas o necesidades de las personas que usan el producto.

    • Flexibles y adaptables: Permiten ajustes rápidos basados en el feedback del usuario o cambios en las prioridades.

    • Enfocadas en el valor: Cada historia está diseñada para ofrecer un beneficio tangible, evitando desarrollar funcionalidades que no aporten.

    • Reducen el retrabajo: Al identificar hipótesis y validar con usuarios, se minimizan las posibilidades de desarrollar algo innecesario o equivocado.

En GymApp, en lugar de implementar directamente “un sistema para reservas de clases”, podemos plantear primero una hipótesis: ¿Los clientes realmente usarán la app para reservar? Esto nos lleva a probar una solución mínima y validar su valor antes de invertir en desarrollos más complejos.

🤔 La clave es que todos los roles, como usuario, analista, programador, tester, product manager, etc. se enfocan en el mismo elemento para entender, priorizar, construir y validar el trabajo.


El ciclo de las historias de usuario: de los 3C a los 5C

Las historias de usuario evolucionan a través de cinco fases: Card, Conversation, Confirmation, Construction y Consequences. Este ciclo garantiza que una historia se comprenda, se valide y aporte valor al producto.

    1. Card (Tarjeta): Se describe la oportunidad o necesidad inicial, definiendo el “quién”, “qué” y “por qué”. Aquí se definen hipótesis e indicadores para medir el éxito.

    2. Conversation (Conversación): Durante el refinamiento en Scrum, se detalla y desglosa la historia con el equipo. 

    3. Confirmation (Confirmación): Se establecen los criterios de aceptación para consensuar los aspectos clave que debe satisfacer la historia. La Definition of Ready (DoR) asegura que la historia se ha refinado correctamente.

    4. Construction (Construcción): Se desarrolla y prueba la funcionalidad, a ser posible incorporando al usuario para las validaciones, y revisando que se cumple Definition of Done (DoD).

    5. Consequences (Consecuencias): Se analizan métricas e indicadores para determinar si la historia cumplió su objetivo y si es necesario escalarla o pivotar.

Por ejemplo, en GymApp, para la funcionalidad de “notificaciones automáticas de clases”, las métricas de éxito podrían incluir el porcentaje de usuarios que se presentan a las clases tras recibir la notificación.

🤔 Tras una primera entrega de la funcionalidad, evaluando este indicador se puede entender si el usuario conoce la funcionalidad y le aporta valor, o por contra hay que cambiar cosas, o incluso retirar la funcionalidad.


La estructura de una buena historia de usuario

La fórmula clásica para escribir historias de usuario es:

“Como [tipo de usuario], quiero [objetivo, poder hacer algo o funcionalidad], para [beneficio o valor].”

Cada parte aporta:

    • Who (quién): Define al usuario. Ejemplo: “Como cliente premium del gimnasio…”
    • What (qué): Explica qué necesita hacer el usuario. Ejemplo: “…quiero recibir notificaciones personalizadas de clases…”
    • Why (por qué): Describe el beneficio que obtiene el usuario. Ejemplo: “…para no perder sesiones importantes y aprovechar al máximo mi suscripción.”

Esta estructura no solo comunica el qué, sino también el quién y el por qué, proporcionando contexto y claridad al equipo.

🤔 ¡Atención! Los usuarios no necesitan funcionalidades (en el qué) sino resolver necesidades. Es frecuente ver que en esta sección se añaden funcionalidades y así bloquea las opciones de que el equipo desarrolle mejores soluciones.


Principios para escribir historias de usuario efectivas

El acrónimo INVEST es una guía esencial:

    • Independent: Cada historia debe ser independiente para evitar bloqueos.

    • Negotiable: Debe haber margen para discutir y ajustar.

    • Valuable: Cada historia debe aportar valor real al usuario.

    • Estimable: El equipo debe poder estimar el esfuerzo necesario.

    • Small: Las historias deben ser lo suficientemente pequeñas para completarse en un sprint.

    • Testable: Debe ser posible verificar si se cumple.

¿Por qué es útil? Porque las historias INVEST facilitan la nicpriorización, la planificación y la entrega de valor continuo.

🤔 ¿Puedes recordar una historia en la que trabajastes recientemente y revisar si usaste los criterios INVEST? No comprobarlo puede dar muchos problemas como, p.e. historias que:

    • Canibalizan el Sprint porque no están acotadas o estimadas.

    • No dan resultados porque no se conocen bien los objetivos.

    • Historias que se desvían porque no tenemos criterios comunes de aceptación.


Herramientas complementarias para trabajar con historias de usuario

Además de escribir historias, estas herramientas te ayudarán a gestionarlas mejor. Te las clasifico por fase del desarrollo donde se pueden aplicar.

Herramientas para la estrategia

    • Impact Mapping: Técnica visual que conecta las historias de usuario con objetivos de negocio. Identifica cómo las acciones del equipo generan impacto en los resultados deseados.

    • Opportunity Solution Tree (OST): Un árbol que organiza visualmente las oportunidades, soluciones y experimentos, conectándolos con objetivos estratégicos.

    • Jobs-to-be-Done (JTBD): Un marco para entender mejor las necesidades del cliente, más allá de únicamente explorar la interacción con el product.

Herramientas para el análisis y la planificación

    • Story Mapping: Visualiza el flujo del usuario y organiza las historias según prioridades.

    • User Journey Mapping: Representa el recorrido del usuario a través del producto, destacando interacciones, puntos de dolor y oportunidades.

    • Service Blueprint: Parecido a User Journey Map, pero profundizando en la ejecución interna de las actividades.

    • Three Amigos: Reúne a un desarrollador, un diseñador y un representante de negocio para discutir y acordar los detalles durante el refinamiento.

Herramientas para la construcción

    • Escenarios: Desglosa historias complejas en casos concretos. Ejemplo: Para “notificaciones automáticas”, define escenarios como “Usuario activa notificaciones” o “Usuario desactiva notificaciones”.

    • BDD con Gherkin: Escribe tests en un lenguaje legible para todos los roles, facilitando la validación.

🤔 ¿Hay alguna herramienta que no conozcas o que te gustaría comenzar a utilizar? Comparte este artículo en las redes sociales, me encantaría ayudarte.


Errores comunes y cómo evitarlos

Existen muchos antipatrones del uso de las historias de usuario que reducen su efectividad. Aquí van 3 que son frecuentes. 

💻 Historias orientadas a la implementación

    • Mala historia: “Implementar una base de datos para las reservas.”

    • Mejor historia: “Como usuario, quiero poder ver y gestionar mis reservas en tiempo real para evitar confusiones.”

    • Por qué es mejor: Centra al equipo en el valor para el usuario, no en la solución técnica.

 

😐 Historias que se olvidan del objetivo del usuario

    • Mala historia: “Añadir un botón de cancelar.”

    • Mejor historia: “Como cliente, quiero poder cancelar una reserva para liberar mi lugar si no puedo asistir.”

    • Por qué es mejor: Comunica el beneficio detrás de la funcionalidad.

 

🐳 Historias demasiado grandes:

    • Mala historia: “Permitir al cliente registrarse, reservar clases y gestionar sus datos personales.”

    • Mejor historia: Divide en varias historias pequeñas, como “registro”, “reserva” y “gestión de datos”.

    • Por qué es mejor: Facilita la planificación y la entrega iterativa.

🤔 ¿Has visto otros antipatrones? Comparte este artículo en las redes sociales y tus experiencias.

Reflexión y acción: Lleva tus historias de usuario al siguiente nivel

Escribir buenas historias de usuario no es solo una práctica técnica, es también un cambio de mentalidad que puede transformar cómo trabajas y cómo tu equipo entrega valor. 

Ahora que has explorado las técnicas, principios y herramientas que las hacen efectivas, es momento de reflexionar y actuar. Aquí tienes algunas ideas prácticas para comenzar:

1. Reflexiona sobre tus historias actuales

    • ¿Tus historias de usuario están enfocadas en el valor que entregan al usuario o simplemente describen funcionalidades?

    • ¿Cuentas con criterios de aceptación claros que guíen el desarrollo y validen el trabajo del equipo?

    • ¿Estás usando herramientas complementarias como el Story Mapping o los escenarios en el refinamiento?

🤔 Tómate un momento para analizar cómo escribes y gestionas las historias de usuario actualmente. Identifica una o dos áreas clave que necesiten mejorar.

 

2. Pon en práctica una nueva técnica

    • Si no lo has hecho, prueba a usar Story Mapping para visualizar cómo las historias se alinean con el viaje del usuario.

    • O empieza a incluir escenarios detallados durante el refinamiento para enriquecer las historias con más contexto y claridad.

🤔 Implementar una técnica nueva no tiene que ser complicado. Elige una que te llame la atención y pruébala en un próximo refinamiento.

 

3. Enfoca las historias en el impacto

    • Comienza a plantear hipótesis e indicadores de éxito para cada historia de usuario. Por ejemplo: ¿Cómo sabrás si esta funcionalidad resuelve el problema del usuario?

    • Usa esa información para priorizar historias que aporten el mayor valor posible.

🤔 Este cambio de enfoque puede ser gradual, pero tendrá un impacto profundo en cómo se mide y entrega el éxito.

 

4. Forma al equipo para mejorar las historias

    • Facilita una sesión de equipo para revisar los principios INVEST y evaluar juntos cómo mejorar las historias actuales.

    • Si eres Scrum Master, Product Owner o Agile Coach, asegúrate de que todo el equipo comprenda el valor de trabajar con historias de usuario claras y bien definidas.

 

5. Adopta un enfoque de mejora continua

    • Define un pequeño experimento para mejorar cómo creas historias, como trabajar con los Three Amigos en el próximo sprint.

    • Evalúa los resultados al final del ciclo y ajusta según sea necesario.

🤔 La clave está en no intentar cambiarlo todo de golpe, sino en realizar pequeñas mejoras que se acumulen con el tiempo.


🗓️ Al terminar este artículo, te propongo algo: elige una idea que puedas aplicar esta misma semana.

👣 Quizás sea algo tan simple como escribir una historia con mejor estructura o introducir una herramienta como el BDD con Gherkin. Lo importante es dar ese primer paso.

💪 Las historias de usuario son más que una práctica técnica; son una herramienta estratégica que conecta al equipo con el valor que entregan. Y tú puedes liderar ese cambio.

Lorem fistrum por la gloria de mi madre esse jarl aliqua llevame al sircoo. De la pradera ullamco qué dise usteer está la cosa muy malar.

¿Quieres recibir más información y recursos de calidad?

¡Sigue a Alex en las redes sociales!

Alex Ballarin

Alex Ballarin es Professional Scrum Master y Business Agility Coach. Además de este blog, publica contenido frecuentemente en las redes sociales

¡Suscríbete a nuestra newsletter mensual!

Cada mes enviamos una newsletter a más de 1.200 personas con contenidos, recursos y ofertas especiales de nuestros cursos. Queremos ofrecer contenido de calidad y sin spam.

¡Sácale más partido a este artículo!

Comenta en Linkedin

Continúa la conversación en Linkedin citándome (@alexballarin).

Comparte con tus conocidos

¡O comparte este artículo con otras personas a las que les pueda interesar!

Continua aprendiendo

En nuestro blog encontrarás otros artículos clasificados por rol y por nivel,
y además podrás irlos guardando tal y como los leas. 👇

Scroll al inicio