Facebook Pixel
Searching...
English
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
User Stories Applied

User Stories Applied

For Agile Software Development
by Mike Cohn 2004 304 pages
3.89
2k+ ratings
Listen

Key Takeaways

1. User stories are short, simple descriptions of features from the user's perspective

Stories are comprehensible by both customers and developers.

Concise and clear. User stories typically follow a simple format: "As a [user role], I want [goal] so that [benefit]." This structure ensures that the story focuses on user value rather than technical implementation. Stories are usually written on index cards or sticky notes, emphasizing their temporary nature as conversation starters rather than comprehensive specifications.

Encourage collaboration. The brevity of user stories promotes discussions between developers and customers, fostering a shared understanding of requirements. This collaborative approach helps uncover hidden assumptions and reduces the risk of misinterpretation that often plagues detailed written specifications.

Flexible and adaptable. User stories allow for easy reprioritization and modification as project needs evolve. Their simplicity makes it easier to estimate effort and plan iterations, supporting agile development practices.

2. User roles and personas help identify diverse user needs and guide story creation

User role modeling: understanding what users have in common, and where they differ.

Identify user types. User roles represent different categories of users who will interact with the system, such as "novice user," "administrator," or "power user." Personas are fictional characters that embody key characteristics of these roles, making them more relatable and concrete.

Guide story creation. By considering diverse user roles and personas, teams can ensure they're addressing the needs of all potential users. This approach helps prevent overlooking important functionality or usability considerations for specific user groups.

Prioritize features. Understanding the relative importance of different user roles helps in prioritizing features and making trade-offs during development. For example, a feature crucial for power users might be less important for novice users.

3. Effective story gathering techniques include interviews, workshops, and observation

The best way to build software that meets users' needs is to begin with "user stories": simple, clear, brief descriptions of functionality that will be valuable to real users.

User interviews. Conduct one-on-one interviews with potential users to understand their goals, pain points, and workflows. Use open-ended questions to encourage detailed responses and uncover unexpected insights.

Story-writing workshops. Bring together developers, customers, and users to collaboratively generate and refine user stories. This technique promotes shared understanding and helps identify gaps in requirements.

Observation. Watch users interact with existing systems or perform their tasks in their natural environment. This can reveal needs and opportunities that users themselves might not articulate in interviews or workshops.

4. Estimating stories in points allows for flexible planning and prioritization

Story points are not equivalent to my team's story points. A story your team estimates as worth three story points may be worth five to my team.

Relative sizing. Story points represent the relative effort or complexity of implementing a story, rather than absolute time estimates. This approach allows teams to estimate more quickly and accurately by comparing stories to each other.

Team-specific scale. Each team defines its own scale for story points, which might be based on complexity, effort, or risk. This allows teams to estimate in a way that makes sense for their specific context and expertise.

Velocity tracking. By measuring how many story points a team completes in each iteration, teams can predict their future capacity more accurately. This "velocity" metric helps in planning releases and managing stakeholder expectations.

5. Release and iteration planning balance customer priorities with team capacity

Planned and actual velocity after the first three iterations.

Release planning. Customers prioritize stories for upcoming releases, while the development team provides estimates. This collaboration ensures that the most valuable features are delivered first, within the constraints of the team's capacity.

Iteration planning. At the start of each iteration (typically 1-4 weeks), the team selects stories to work on based on priority and their estimated velocity. This allows for regular adjustment and reprioritization as new information emerges.

Continuous adaptation. By comparing planned and actual velocity, teams can refine their estimates and adjust plans accordingly. This promotes transparency and helps manage expectations throughout the project.

6. Acceptance tests define story completion and promote clear communication

Acceptance tests validate that a story has been developed with the functionality the customer team had in mind when they wrote the story.

Clarify expectations. Acceptance tests specify the conditions under which a story is considered complete. This helps prevent misunderstandings between customers and developers about what "done" means for each feature.

Guide development. Writing acceptance tests before implementation helps developers understand the desired behavior and can inform their technical design decisions.

Automate verification. Where possible, automating acceptance tests allows for rapid feedback on whether new changes have broken existing functionality. This supports continuous integration and delivery practices.

7. User stories encourage collaboration, adaptability, and customer-focused development

Stories are not contractual obligations. As we'll see, agreements are documented by tests that demonstrate that a story has been developed correctly.

Promote conversation. User stories serve as reminders to have conversations about requirements, rather than attempting to document every detail upfront. This ongoing dialogue helps uncover and address complexities as they arise.

Embrace change. The lightweight nature of user stories makes it easier to adapt to changing requirements or priorities. Unlike detailed specifications, stories can be easily modified, added, or removed as the project evolves.

Focus on value. By continually tying development work back to user needs and business value, user stories help teams avoid building unnecessary features or over-engineering solutions. This ensures that effort is spent on what matters most to customers and users.

Last updated:

Review Summary

3.89 out of 5
Average of 2k+ ratings from Goodreads and Amazon.

User Stories Applied receives mixed reviews, averaging 3.89/5 stars. Readers appreciate its clear introduction to user stories in agile development, praising the practical examples and case study. Many find it well-written and easy to follow. However, some criticize its dated content (published 2004) and lack of depth on certain topics. The book is recommended for those new to agile methodologies but may be less valuable for experienced practitioners. Some readers note its excessive breadth and high price as drawbacks.

Your rating:

About the Author

Mike Cohn is a prominent figure in the agile software development community. As the owner of Mountain Goat Software, he has made significant contributions to the Scrum methodology. Cohn is recognized as one of the inventors of Scrum and co-founded the Scrum Alliance. He holds the title of Certified Scrum Trainer and specializes in training others on Scrum and agile techniques. Cohn is credited with popularizing Planning Poker, a technique for estimating effort in software development, and provides a free online planning tool for this purpose. His expertise and influence in the field have made him a respected author and trainer in agile methodologies.

Download PDF

To save this User Stories Applied summary for later, download the free PDF. You can print it out, or read offline at your convenience.
Download PDF
File size: 0.39 MB     Pages: 8

Download EPUB

To read this User Stories Applied summary on your e-reader device or app, download the free EPUB. The .epub digital book format is ideal for reading ebooks on phones, tablets, and e-readers.
Download EPUB
File size: 3.17 MB     Pages: 7
0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Bookmarks – save your favorite books
History – revisit books later
Ratings – rate books & see your ratings
Unlock unlimited listening
Your first week's on us!
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Nov 21,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to summaries
12,000+ hours of audio
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
30,000+ readers
“...I can 10x the number of books I can read...”
“...exceptionally accurate, engaging, and beautifully presented...”
“...better than any amazon review when I'm making a book-buying decision...”
Save 62%
Yearly
$119.88 $44.99/yr
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance