No sabes escribir User Stories
me obsesiona este tema, lo reconozco, he visto cientos de User Stories a lo largo de mi carrera y casi todas estaban mal, así que aquí vuelvo a dar la turra con este tema.
Las user stories tienen sus raíces en la metodología Extreme Programming (XP), desarrollada por Kent Beck en la década de 1990. Beck buscaba una forma de capturar los requisitos del software que fuera más flexible y centrada en el usuario que los métodos tradicionales de especificación de requisitos.
La idea era simple pero poderosa: en lugar de largas listas de especificaciones técnicas, ¿por qué no contar historias desde la perspectiva del usuario? Así nació el concepto de user story.
Con el tiempo, las user stories fueron adoptadas y refinadas por la comunidad ágil. Ron Jeffries, uno de los fundadores de XP, propuso los "Tres C" de las user stories:
1. Card (Tarjeta): La story escrita en una tarjeta física.
2. Conversation (Conversación): Las discusiones que ocurren alrededor de la story.
3. Confirmation (Confirmación): Los criterios de aceptación que definen cuándo la story está completa.
Mike Cohn, en su influyente libro "User Stories Applied", popularizó aún más el concepto y proporcionó un marco para escribir stories efectivas.
Cómo Escribir User Stories Efectivas
Escribir user stories efectivas es una habilidad fundamental para cualquier Product Manager. Es el puente entre las necesidades abstractas del usuario y las tareas concretas del equipo de desarrollo. Una user story bien escrita no solo comunica qué se necesita construir, sino también por qué es importante y para quién. Vamos a sumergirnos en profundidad en el arte y la ciencia de crear user stories que realmente impulsen el desarrollo de productos centrados en el usuario.
Anatomía de una User Story
La estructura básica de una user story es simple pero poderosa:
"Como [tipo de usuario], quiero [alguna acción o funcionalidad] para [algún beneficio o valor]"
Vamos a desglosar cada componente:
1. "Como [tipo de usuario]": Esta parte identifica para quién estamos construyendo. No es suficiente decir simplemente "usuario". Debes ser específico. ¿Es un cliente nuevo? ¿Un usuario frecuente? ¿Un administrador?
2. "Quiero [alguna acción o funcionalidad]": Aquí describes qué quiere hacer el usuario. Es importante enfocarse en la acción o el resultado, no en los detalles de implementación.
3. "Para [algún beneficio o valor]": Esta es la parte crucial que a menudo se pasa por alto. Explica por qué el usuario quiere esta funcionalidad. ¿Qué beneficio obtienen?
Principios INVEST para User Stories Efectivas
Bill Wake propuso el acrónimo INVEST para ayudar a recordar las características de una buena user story:
- Independent (Independiente): La story debe poder implementarse por sí sola, sin depender de otras stories.
- Negotiable (Negociable): La story debe ser flexible, no un contrato rígido. Debe haber espacio para discusión.
- Valuable (Valiosa): Debe proporcionar valor al usuario o cliente.
- Estimable (Estimable): El equipo debe poder estimar el esfuerzo necesario para implementar la story.
- Small (Pequeña): Debe ser lo suficientemente pequeña como para planificarse y priorizarse con precisión.
- Testable (Comprobable): Debe haber una forma clara de determinar cuándo la story está completa.
Técnicas para Escribir Mejores User Stories
Empieza con Personas: Antes de escribir tus stories, crea personas detalladas que representen a tus usuarios típicos. Esto te ayudará a ponerte en sus zapatos cuando escribas stories.
Ejemplo de Persona:
"María, 35 años, madre trabajadora. Usa nuestra app de gestión de tareas para equilibrar sus responsabilidades laborales y familiares. Valora la eficiencia y la simplicidad."
Usa el Mapeo de Empatía: Esta técnica te ayuda a profundizar en la mente de tu usuario. Considera qué piensan, sienten, ven, escuchan, dicen y hacen en relación con tu producto.
Enfócate en los Resultados, no en las funcionalidades: En lugar de decir "quiero un botón de búsqueda", di "quiero encontrar rápidamente la información que necesito".
Usa el Formato "En Orden Para": A veces, el formato estándar puede ser limitante. Prueba con: "En orden para [lograr algún objetivo], como [tipo de usuario], quiero [alguna funcionalidad]".
Incluye Criterios de Aceptación: Aunque no son parte de la story en sí, los criterios de aceptación son cruciales. Definen cuándo una story está completa.
Veamos un ejemplo que aglutine todo lo mencionado hasta aquí:
Story: "Como usuario de la app de fitness, quiero establecer metas de ejercicio personalizadas para mantenerme motivado y seguir mi progreso."
Criterios de Aceptación:
El usuario puede establecer metas para pasos diarios, minutos de ejercicio y calorías quemadas.
Las metas se pueden establecer por día, semana o mes.
El usuario recibe notificaciones cuando alcanza el 50% y el 100% de su meta.
El progreso hacia las metas se visualiza en gráficos en el dashboard principal.
Utiliza la Técnica de los "Cinco Por Qués": Para llegar a la raíz de la necesidad del usuario, pregunta "por qué" cinco veces. Esto te ayudará a escribir stories que aborden las necesidades fundamentales.
Ejemplos Detallados de User Stories
Veamos algunos ejemplos más detallados de user stories, incluyendo buenos y malos ejemplos, y cómo mejorarlos:
Ejemplo 1: Aplicación de Comercio Electrónico
Mala Story: "Como usuario, quiero un carrito de compras."
Por qué es mala: Es demasiado vaga, no especifica el tipo de usuario ni el beneficio.
Mejor Story: "Como comprador frecuente, quiero poder guardar artículos en un carrito de compras y acceder a él desde múltiples dispositivos, para poder comenzar mis compras en mi teléfono durante mi viaje en tren y completarlas más tarde en mi computadora en casa."
Por qué es mejor: Especifica el tipo de usuario, la funcionalidad deseada y el beneficio claro. También proporciona contexto sobre cómo el usuario interactúa con la aplicación en diferentes situaciones.
Ejemplo 2: Aplicación de Productividad
Mala Story: "Como usuario, quiero una función de recordatorio."
Por qué es mala: No proporciona contexto sobre el tipo de usuario o el beneficio específico.
Mejor Story: "Como profesional autónomo con múltiples proyectos, quiero establecer recordatorios con etiquetas personalizables y prioridades, para poder gestionar eficazmente mis deadlines y nunca perder una fecha importante de entrega a un cliente."
Por qué es mejor: Proporciona un contexto claro sobre quién es el usuario y por qué necesita esta función. La story también sugiere características específicas (etiquetas, prioridades) sin prescribir exactamente cómo deben implementarse.
Ejemplo 3: Plataforma de Aprendizaje en Línea
Mala Story: "Como estudiante, quiero ver videos de cursos."
Por qué es mala: Es demasiado básica y no proporciona información sobre el valor para el estudiante.
Mejor Story: "Como estudiante de idiomas que aprende mejor visualmente, quiero poder ver videos de lecciones con subtítulos opcionales en mi idioma nativo y en el idioma que estoy aprendiendo, para mejorar mi comprensión auditiva y reforzar mi vocabulario en contextos reales."
Por qué es mejor: Esta story proporciona detalles sobre el tipo específico de estudiante, la funcionalidad deseada (videos con opciones de subtítulos) y los beneficios claros (mejorar la comprensión auditiva y el vocabulario).
Errores Comunes y Cómo Evitarlos
Ser Demasiado Técnico:
Mal: "Como usuario, quiero una base de datos SQL para almacenar mis contactos."
Mejor: "Como networker, quiero almacenar y organizar fácilmente la información de mis contactos profesionales para poder mantener y cultivar mis relaciones de negocios a lo largo del tiempo."
Olvidar el "Por Qué":
Mal: "Como usuario, quiero un botón de 'Me gusta'."
Mejor: "Como usuario de redes sociales, quiero poder indicar rápidamente que aprecio el contenido de otros usuarios para interactuar de manera positiva sin tener que comentar cada publicación."
Ser Demasiado Vago:
Mal: "Como usuario, quiero una mejor experiencia de usuario."
Mejor: "Como usuario mayor con visión reducida, quiero poder ajustar el tamaño de la fuente en toda la aplicación para poder leer el contenido cómodamente sin forzar la vista."
Combinar Múltiples Stories en Una:
Mal: "Como usuario, quiero poder registrarme, iniciar sesión, restablecer mi contraseña y actualizar mi perfil."
Mejor: Divide esto en múltiples stories, cada una enfocada en una acción específica.
Técnicas Avanzadas
Story Splitting: Cuando una story es demasiado grande, divídela en stories más pequeñas.
Por ejemplo, "Gestionar inventario" podría dividirse en:
- "Como gerente de tienda, quiero añadir nuevos productos al inventario para mantener actualizado nuestro catálogo."
- "Como gerente de tienda, quiero recibir alertas cuando el stock de un producto esté bajo para poder reabastecerlo oportunamente."
Uso de Escenarios: Complementa tus stories con escenarios detallados que ilustren cómo se usará la funcionalidad.
Ejemplo:
Story: "Como usuario de la app de fitness, quiero establecer metas de ejercicio personalizadas."
Escenario: "María acaba de empezar a hacer ejercicio. Abre la app y va a la sección de metas. Establece una meta inicial de 5000 pasos diarios para la primera semana. La app le sugiere aumentar gradualmente su meta cada semana. María acepta y la app establece automáticamente metas incrementales para las próximas 4 semanas."
User Story Mapping: Utiliza el user story mapping para visualizar cómo las stories individuales se relacionan con el viaje general del usuario a través de tu producto.
Three Amigos: Antes de considerar una story lista para el desarrollo, asegúrate de que un representante del negocio, un desarrollador y un diseñador hayan discutido y estén de acuerdo con los detalles de la story.
Escribir user stories efectivas es una habilidad que se perfecciona con la práctica. Recuerda siempre mantener al usuario en el centro de tu proceso. Una buena user story no solo comunica qué necesita construirse, sino que también inspira a tu equipo a pensar creativamente sobre cómo satisfacer mejor las necesidades del usuario.
Al dominar el arte de escribir user stories, estarás equipado para guiar el desarrollo de tu producto de una manera que verdaderamente resonará con tus usuarios. Recuerda, cada story es una oportunidad para hacer la vida de tus usuarios un poco mejor. Aprovecha esa oportunidad al máximo.