SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Learn to build robust software that more closely meets the customer's needs through applying the concept of user stories.
° A clear explanation of the most agile means of gathering software requirements
° Thoroughly reviewed and eagerly anticipated by the agile software development community
° Allows the reader to save time and resources by gathering the proper requirements BEFORE coding begins
Thoroughly reviewed and eagerly anticipated by the agile community, User Stories Applied offers a requirements process that saves time, eliminates rework, and leads directly to better software.
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. In User Stories Applied, Mike Cohn provides you with a front-to-back blueprint for writing these user stories and weaving them into your development lifecycle.
You'll learn what makes a great user story, and what makes a bad one. You'll discover practical ways to gather user stories, even when you can't speak with your users. Then, once you've compiled your user stories, Cohn shows how to organize them, prioritize them, and use them for planning, management, and testing.
User Stories Applied will be invaluable to every software developer, tester, analyst, and manager working with any agile method: XP, Scrum... or even your own home-grown approach.
Telling Stories and User Role Modeling
Download the sample pages (includes Chapter 3 and Index)
Foreword.
Acknowledgments.
Introduction.
I: GETTING STARTED.
1: An Overview.
What Is a User Story?
Where Are the Details?
“How Long Does It Have to Be?”
The Customer Team.
What Will the Process Be Like?
Planning Releases and Iterations.
What Are Acceptance Tests?
Why Change?
Summary.
Questions.
2: Writing Stories.
Independent.
Negotiable.
Valuable to Purchasers or Users.
Estimatable.
Small.
Testable.
Summary.
Developer Responsibilities.
Customer Responsibilities.
Questions.
3: User Role Modeling.
User Roles.
Role Modeling Steps.
Two Additional Techniques.
What If I Have On-Site Users?
Summary.
Developer Responsibilities.
Customer Responsibilities.
Questions.
4: Gathering Stories.
Elicitation and Capture Should Be Illicit.
A Little Is Enough, or Is It?
Techniques.
User Interviews.
Questionnaires.
Observation.
Story-Writing Workshops.
Summary.
Developer Responsibilities.
Customer Responsibilities.
Questions.
5: Working with User Proxies.
The Users' Manager.
A Development Manager.
Salespersons.
Domain Experts.
The Marketing Group.
Former Users.
Customers.
Trainers and Technical Support.
Business or Systems Analysts.
What to Do When Working with a User Proxy.
Can You Do It Yourself?
Constituting the Customer Team.
Summary.
Developer Responsibilities.
Customer Responsibilities.
Questions.
6: Acceptance Testing User Stories.
Write Tests Before Coding.
The Customer Specifies the Tests.
Testing Is Part of the Process.
How Many Tests Are Too Many?
The Framework for Integrated Test.
Types of Testing.
Summary.
Developer Responsibilities.
Customer Responsibilities.
Questions.
7: Guidelines for Good Stories.
Start with Goal Stories.
Slice the Cake.
Write Closed Stories.
Put Constraints on Cards.
Size the Story to the Horizon.
Keep the UI Out as Long as Possible.
Some Things Aren't Stories.
Include User Roles in the Stories.
Write for One User.
Write in Active Voice.
Customer Writes.
Don't Number Story Cards.
Don't Forget the Purpose.
Summary.
Questions.
II: ESTIMATING AND PLANNING.
8: Estimating User Stories.
Story Points.
Estimate as a Team.
Estimating.
Triangulate.
Using Story Points.
What If We Pair Program?
Some Reminders.
Summary.
Developer Responsibilities.
Customer Responsibilities.
Questions.
9: Planning a Release.
When Do We Want the Release?
What Would You Like in It?
Prioritizing the Stories.
Mixed Priorities.
Risky Stories.
Prioritizing Infrastructural Needs.
Selecting an Iteration Length.
From Story Points to Expected Duration.
The Initial Velocity.
Creating the Release Plan.
Summary.
Developer Responsibilities.
Customer Responsibilities.
Questions.
10: Planning an Iteration.
Iteration Planning Overview.
Discussing the Stories.
Disaggregating into Tasks.
Accepting Responsibility.
Estimate and Confirm.
Summary.
Developer Responsibilities.
Customer Responsibilities.
Questions.
11: Measuring and Monitoring Velocity.
Measuring Velocity.
Planned and Actual Velocity.
Iteration Burndown Charts.
Burndown Charts During an Iteration.
Summary.
Developer Responsibilities.
Customer Responsibilities.
Questions.
III: FREQUENTLY DISCUSSED TOPICS.
12: What Stories Are Not.
User Stories Aren't IEEE 830.
User Stories Are Not Use Cases.
User Stories Aren't Scenarios.
Summary.
Questions.
13: Why User Stories?
Verbal Communication.
User Stories Are Comprehensible.
User Stories Are the Right Size for Planning.
User Stories Work for Iterative Development.
Stories Encourage Deferring Detail.
Stories Support Opportunistic Development.
User Stories Encourage Participatory Design.
Stories Build Up Tacit Knowledge.
Why Not Stories?
Summary.
Developer Responsibilities.
Customer Responsibilities.
Questions.
14: A Catalog of Story Smells.
Stories Are Too Small.
Interdependent Stories.
Goldplating.
Too Many Details.
Including User Interface Detail Too Soon.
Thinking Too Far Ahead.
Splitting Too Many Stories.
Customer Has Trouble Prioritizing.
Customer Won't Write and Prioritize the Stories.
Summary.
Developer Responsibilities.
Customer Responsibilities.
Questions.
15: Using Stories with Scrum.
Scrum Is Iterative and Incremental.
The Basics of Scrum.
The Scrum Team.
The Product Backlog.
The Sprint Planning Meeting.
The Sprint Review Meeting.
The Daily Scrum Meeting.
Adding Stories to Scrum.
A Case Study.
Summary.
Questions.
16: Additional Topics.
Handling NonFunctional Requirements.
Paper or Software?
User Stories and the User Interface.
Retaining the Stories.
Stories for Bugs.
Summary.
Developer Responsibilities.
Customer Responsibilities.
Questions.
IV: AN EXAMPLE.
17: The User Roles.
The Project.
Identifying the Customer.
Identifying Some Initial Roles.
Consolidating and Narrowing.
Role Modeling.
Adding Personas.
18: The Stories.
Stories for Teresa.
Stories for Captain Ron.
Stories for a Novice Sailor.
Stories for a Non-Sailing Gift Buyer.
Stories for a Report Viewer.
Some Administration Stories.
Wrapping Up.
19: Estimating the Stories.
The First Story.
Advanced Search.
Rating and Reviewing.
Accounts.
Finishing the Estimates.
All the Estimates.
20: The Release Plan.
Estimating Velocity.
Prioritizing the Stories.
The Finished Release Plan.
21: The Acceptance Tests.
The Search Tests.
Shopping Cart Tests.
Buying Books.
User Accounts.
Administration.
Testing the Constraints.
A Final Story.
V: APPENDICES.
Appendix A: An Overview of Extreme Programming.
Roles.
The Twelve Practices.
XP's Values.
The Principles of XP.
Summary.
Appendix B: Answers to Questions.
Chapter 1, An Overview.
Chapter 2, Writing Stories.
Chapter 3, User Role Modeling.
Chapter 4, Gathering Stories.
Chapter 5, Working with User Proxies.
Chapter 6, Acceptance Testing User Stories.
Chapter 7, Guidelines for Good Stories.
Chapter 8, Estimating User Stories.
Chapter 9, Planning a Release.
Chapter 10, Planning an Iteration.
Chapter 11, Measuring and Monitoring Velocity.
Chapter 12, What Stories Are Not.
Chapter 13, Why User Stories?
Chapter 14, A Catalog of Story Smells.
Chapter 15, Using Stories with Scrum.
Chapter 16, Additional Topics.
References.
Index.