Ideas clave
1. Las historias de usuario son descripciones breves y sencillas de funcionalidades desde la perspectiva del usuario
Las historias son comprensibles tanto para clientes como para desarrolladores.
Concisas y claras. Las historias de usuario suelen seguir un formato simple: "Como [rol de usuario], quiero [objetivo] para que [beneficio]." Esta estructura garantiza que la historia se centre en el valor para el usuario y no en la implementación técnica. Normalmente, se escriben en tarjetas o notas adhesivas, subrayando su carácter temporal como punto de partida para la conversación, no como especificaciones exhaustivas.
Fomentan la colaboración. La brevedad de las historias promueve el diálogo entre desarrolladores y clientes, facilitando un entendimiento compartido de los requisitos. Este enfoque colaborativo ayuda a descubrir supuestos ocultos y reduce el riesgo de malentendidos que suelen surgir con especificaciones detalladas por escrito.
Flexibles y adaptables. Las historias de usuario permiten una fácil repriorización y modificación conforme evolucionan las necesidades del proyecto. Su simplicidad facilita estimar el esfuerzo y planificar iteraciones, apoyando prácticas ágiles de desarrollo.
2. Los roles de usuario y las personas ayudan a identificar necesidades diversas y guían la creación de historias
Modelar roles de usuario: comprender qué tienen en común y en qué difieren.
Identificar tipos de usuario. Los roles representan categorías distintas de usuarios que interactuarán con el sistema, como "usuario novato", "administrador" o "usuario avanzado". Las personas son personajes ficticios que encarnan características clave de estos roles, haciéndolos más tangibles y cercanos.
Guiar la creación de historias. Al considerar diversos roles y personas, los equipos aseguran que se atienden las necesidades de todos los usuarios potenciales. Este enfoque previene pasar por alto funcionalidades importantes o aspectos de usabilidad para grupos específicos.
Priorizar funcionalidades. Entender la importancia relativa de cada rol ayuda a priorizar características y tomar decisiones durante el desarrollo. Por ejemplo, una función crucial para usuarios avanzados puede ser menos relevante para usuarios novatos.
3. Técnicas efectivas para recopilar historias incluyen entrevistas, talleres y observación
La mejor forma de construir software que satisfaga las necesidades de los usuarios es comenzar con "historias de usuario": descripciones simples, claras y breves de funcionalidades valiosas para usuarios reales.
Entrevistas con usuarios. Realizar entrevistas individuales para comprender sus objetivos, dificultades y flujos de trabajo. Usar preguntas abiertas para fomentar respuestas detalladas y descubrir insights inesperados.
Talleres de escritura de historias. Reunir a desarrolladores, clientes y usuarios para generar y refinar historias de forma colaborativa. Esta técnica promueve un entendimiento común y ayuda a identificar vacíos en los requisitos.
Observación. Observar cómo los usuarios interactúan con sistemas existentes o realizan sus tareas en su entorno natural. Esto puede revelar necesidades y oportunidades que los usuarios no expresan en entrevistas o talleres.
4. Estimar historias en puntos permite una planificación y priorización flexibles
Los puntos de historia no son equivalentes entre equipos. Una historia que tu equipo estima en tres puntos puede valer cinco para otro equipo.
Tamaño relativo. Los puntos de historia representan el esfuerzo o complejidad relativa para implementar una historia, no estimaciones absolutas de tiempo. Este método permite estimar más rápido y con mayor precisión comparando unas historias con otras.
Escala específica del equipo. Cada equipo define su propia escala de puntos, basada en complejidad, esfuerzo o riesgo. Esto permite estimar de manera coherente con su contexto y experiencia.
Seguimiento de velocidad. Midiendo cuántos puntos completa un equipo en cada iteración, se puede predecir su capacidad futura con mayor exactitud. Esta métrica de "velocidad" ayuda a planificar entregas y gestionar expectativas de interesados.
5. La planificación de entregas e iteraciones equilibra prioridades del cliente con capacidad del equipo
Velocidad planificada y real tras las primeras tres iteraciones.
Planificación de entregas. Los clientes priorizan historias para próximas versiones, mientras el equipo de desarrollo aporta estimaciones. Esta colaboración asegura que las funcionalidades más valiosas se entreguen primero, respetando la capacidad del equipo.
Planificación de iteraciones. Al inicio de cada iteración (usualmente de 1 a 4 semanas), el equipo selecciona historias según prioridad y velocidad estimada. Esto permite ajustes regulares y repriorización conforme surge nueva información.
Adaptación continua. Comparando la velocidad planificada con la real, los equipos refinan sus estimaciones y ajustan planes. Esto fomenta la transparencia y ayuda a gestionar expectativas durante todo el proyecto.
6. Las pruebas de aceptación definen la finalización de una historia y promueven comunicación clara
Las pruebas de aceptación validan que una historia se ha desarrollado con la funcionalidad que el equipo cliente tenía en mente al escribirla.
Aclarar expectativas. Las pruebas de aceptación especifican las condiciones para considerar una historia como completa. Esto evita malentendidos entre clientes y desarrolladores sobre qué significa "terminado" para cada funcionalidad.
Guiar el desarrollo. Escribir pruebas de aceptación antes de implementar ayuda a los desarrolladores a entender el comportamiento esperado y puede orientar sus decisiones técnicas.
Automatizar la verificación. Cuando es posible, automatizar estas pruebas permite obtener retroalimentación rápida sobre si cambios recientes han afectado funcionalidades existentes. Esto apoya prácticas de integración y entrega continua.
7. Las historias de usuario fomentan la colaboración, adaptabilidad y un desarrollo centrado en el cliente
Las historias no son obligaciones contractuales. Como veremos, los acuerdos se documentan mediante pruebas que demuestran que una historia se ha desarrollado correctamente.
Promover la conversación. Las historias recuerdan la importancia de dialogar sobre los requisitos, en lugar de intentar documentar cada detalle desde el inicio. Este diálogo continuo ayuda a descubrir y resolver complejidades conforme surgen.
Aceptar el cambio. La naturaleza ligera de las historias facilita adaptarse a cambios en requisitos o prioridades. A diferencia de especificaciones detalladas, las historias pueden modificarse, añadirse o eliminarse fácilmente durante el proyecto.
Enfocarse en el valor. Al vincular constantemente el trabajo de desarrollo con las necesidades del usuario y el valor de negocio, las historias ayudan a evitar construir funcionalidades innecesarias o soluciones sobredimensionadas. Así, el esfuerzo se concentra en lo que realmente importa para clientes y usuarios.
También leyeron
Preguntas frecuentes
What's User Stories Applied about?
- Focus on User Stories: User Stories Applied by Mike Cohn emphasizes the role of user stories in agile software development, providing a framework for writing effective stories that capture user needs.
- Requirements Process: The book outlines a process that saves time and reduces rework, teaching how to gather, prioritize, and utilize user stories throughout the development lifecycle.
- Practical Guidance: It offers practical advice on writing, organizing, and using user stories for planning, management, and testing, making it a comprehensive guide for agile methodologies.
Why should I read User Stories Applied?
- Enhance Agile Practices: The book enhances understanding of agile practices, particularly in writing and utilizing user stories effectively, making it valuable for developers, testers, analysts, and managers.
- Improve Communication: It helps improve communication between technical teams and stakeholders, leading to software that better meets user needs.
- Practical Tools and Techniques: Cohn provides tools and techniques that can be immediately applied to projects, useful for both beginners and experienced practitioners in agile development.
What are the key takeaways of User Stories Applied?
- User-Centric Development: Emphasizes writing user stories from the user's perspective to ensure software meets actual user needs.
- INVEST Criteria: Introduces the INVEST criteria for good user stories: Independent, Negotiable, Valuable, Estimatable, Small, and Testable.
- Continuous Collaboration: Highlights the importance of ongoing collaboration between developers and users to refine requirements and adapt to changing needs.
What is a user story according to User Stories Applied?
- Definition: A user story is a simple, clear, and brief description of functionality valuable to real users, capturing what the user wants to achieve.
- Three Aspects: Consists of a written description, conversations to flesh out details, and tests to confirm completion, ensuring clarity and accountability.
- Example: An example might be, "As a job seeker, I want to search for jobs by location so that I can find opportunities near me."
How do I write effective user stories as per User Stories Applied?
- Follow the INVEST Criteria: Ensure stories are Independent, Negotiable, Valuable, Estimatable, Small, and Testable for manageability and user value focus.
- Use User Roles: Include specific user roles to clarify who the story is for, enhancing effectiveness.
- Keep It Simple: Avoid unnecessary details or technical jargon, focusing on user needs for further discussion and refinement.
What techniques does User Stories Applied suggest for gathering user stories?
- User Interviews: Conduct interviews to gather insights about user needs and expectations, uncovering valuable information.
- Story-Writing Workshops: Organize workshops for stakeholders to collaboratively write user stories, encouraging participation and idea generation.
- Observation: Observe users interacting with existing systems to identify pain points and areas for improvement, providing real-world context.
What is the role of acceptance testing in User Stories Applied?
- Validation of User Stories: Used to validate that software meets requirements outlined in user stories, ensuring alignment with user expectations.
- Customer Involvement: Customers specify acceptance tests, clarifying user story details and ensuring development team understanding.
- Part of the Development Process: Integrated into the development process, catching issues early and ensuring software alignment with user needs.
How does User Stories Applied define the concept of velocity?
- Definition of Velocity: Velocity is the amount of work (measured in story points) a team can complete in a single iteration, serving as a key planning metric.
- Importance for Planning: Helps teams estimate completion time for remaining work and plan future iterations effectively.
- Adjusting Expectations: Velocity can change over time; regular measurement allows teams to adjust plans and expectations based on performance.
What are the best practices for planning a release according to User Stories Applied?
- Prioritize Stories: Collaboratively prioritize user stories based on organizational value and user needs, using techniques like the MoSCoW method.
- Estimate Workload: Estimate total story points for the release and use team velocity to predict needed iterations, setting realistic timelines.
- Flexibility in Planning: Be prepared to adjust the release plan as new information emerges or priorities change, maintaining flexibility for success.
What are "story smells" in User Stories Applied?
- Indicators of Problems: Story smells are signs of issues with user stories, such as being too small or too large.
- Guidance for Improvement: Provides a catalog of common story smells and suggests ways to address them, refining user story practices.
- Promotes Better Practices: Recognizing and addressing story smells leads to more effective user stories, improving the development process.
How does User Stories Applied integrate with Scrum?
- User Stories in Scrum: Explains how user stories can be used within Scrum, particularly in managing the product backlog.
- Sprint Planning: Discusses how user stories help prioritize work during sprint planning, ensuring valuable features are developed first.
- Daily Scrums: Provides context for daily scrum meetings, helping teams stay focused on delivering user value throughout the sprint.
What are some common pitfalls to avoid when using user stories according to User Stories Applied?
- Avoid Over-Detailing: Writing too many details can lead to confusion and detract from facilitating conversation.
- Don't Ignore User Input: Failing to involve users in the story-writing process can result in stories that don't reflect user needs.
- Neglecting to Prioritize: Not prioritizing user stories can lead to wasted effort on non-valuable features, impacting project success.
Descargar PDF
Descargar EPUB
.epub digital book format is ideal for reading ebooks on phones, tablets, and e-readers.