User Stories Applied: For Agile Software DevelopmentAddison-Wesley Professional, 2004 - 268 pagina's 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. |
Inhoudsopgave
Getting Started | xxi |
An Overview | 1 |
Where Are the Details? | 3 |
How Long Does It Have to Be? | 5 |
The Customer Team | 6 |
Planning Releases and Iterations | 8 |
What Are Acceptance Tests? | 10 |
Why Change? | 11 |
Developer Responsibilities | 125 |
Frequently Discussed Topics | 129 |
What Stories Are Not | 131 |
User Stories Are Not Use Cases | 135 |
User Stories Arent Scenarios | 139 |
Summary | 141 |
Why User Stories? | 143 |
User Stories Are Comprehensible | 146 |
Summary | 13 |
Writing Stories | 15 |
Negotiable | 16 |
Valuable to Purchasers or Users | 18 |
Estimatable | 20 |
Small | 21 |
Testable | 25 |
Summary | 26 |
Questions | 27 |
User Role Modeling | 29 |
Role Modeling Steps | 31 |
Two Additional Techniques | 35 |
What If I Have OnSite Users? | 37 |
Summary | 38 |
Customer Responsibilities | 39 |
Gathering Stories | 41 |
Techniques | 43 |
Questionnaires | 45 |
Observation | 46 |
StoryWriting Workshops | 47 |
Summary | 50 |
Developer Responsibilities | 51 |
Working with User Proxies | 53 |
A Development Manager | 55 |
Domain Experts | 56 |
The Marketing Group | 57 |
Trainers and Technical Support | 59 |
Can You Do It Yourself? | 61 |
Summary | 62 |
Developer Responsibilities | 63 |
Questions | 64 |
Acceptance Testing User Stories | 65 |
Write Tests Before Coding | 66 |
The Customer Specifies the Tests | 67 |
How Many Tests Are Too Many? | 68 |
Types of Testing | 70 |
Summary | 71 |
Questions | 72 |
Guidelines for Good Stories | 73 |
Write Closed Stories | 74 |
Put Constraints on Cards | 75 |
Size the Story to the Horizon | 76 |
Keep the UI Out as Long as Possible | 77 |
Some Things Arent Stories | 78 |
Write for One User | 79 |
Dont Number Story Cards | 80 |
Questions | 81 |
Estimating and Planning | 83 |
Estimating User Stories | 85 |
Triangulate | 88 |
Using Story Points | 89 |
What If We Pair Program? | 90 |
Some Reminders | 91 |
Summary | 92 |
Customer Responsibilities | 93 |
Planning a Release | 95 |
Prioritizing the Stories | 97 |
Mixed Priorities | 98 |
Risky Stories | 99 |
Selecting an Iteration Length | 101 |
The Initial Velocity | 102 |
Creating the Release Plan | 103 |
Summary | 104 |
Customer Responsibilities | 105 |
Planning an Iteration | 107 |
Disaggregating into Tasks | 109 |
Accepting Responsibility | 111 |
Summary | 113 |
Customer Responsibilities | 114 |
Measuring and Monitoring Velocity | 115 |
Planned and Actual Velocity | 117 |
Iteration Burndown Charts | 119 |
Burndown Charts During an Iteration | 121 |
Summary | 124 |
User Stories Work for Iterative Development | 147 |
Stories Encourage Deferring Detail | 148 |
Stories Support Opportunistic Development | 149 |
User Stories Encourage Participatory Design | 150 |
Stories Build Up Tacit Knowledge | 151 |
Summary | 152 |
Developer Responsibilities | 153 |
A Catalog of Story Smells | 155 |
Too Many Details | 157 |
Thinking Too Far Ahead | 158 |
Customer Has Trouble Prioritizing | 159 |
Customer Wont Write and Prioritize the Stories | 160 |
Developer Responsibilities | 161 |
Using Stories with Scrum | 163 |
The Product Backlog | 165 |
The Sprint Planning Meeting | 166 |
The Sprint Review Meeting | 168 |
The Daily Scrum Meeting | 169 |
Adding Stories to Scrum | 171 |
A Case Study | 172 |
Summary | 173 |
Questions | 174 |
Additional Topics | 175 |
Paper or Software? | 177 |
User Stories and the User Interface | 179 |
Retaining the Stories | 182 |
Stories for Bugs | 183 |
Summary | 184 |
Customer Responsibilities | 185 |
An Example | 187 |
The User Roles | 189 |
Consolidating and Narrowing | 191 |
Role Modeling | 193 |
Adding Personas | 195 |
The Stories | 197 |
Stories for Captain Ron | 200 |
Stories for a Novice Sailor | 201 |
Stories for a NonSailing Gift Buyer | 202 |
Some Administration Stories | 203 |
Wrapping Up | 204 |
Estimating the Stories | 207 |
Advanced Search | 210 |
Rating and Reviewing | 211 |
Accounts | 212 |
Finishing the Estimates | 213 |
All the Estimates | 214 |
The Release Plan | 217 |
Prioritizing the Stories | 218 |
The Finished Release Plan | 219 |
The Acceptance Tests | 221 |
Shopping Cart Tests | 222 |
Buying Books | 223 |
User Accounts | 224 |
Administration | 225 |
Testing the Constraints | 226 |
A Final Story | 227 |
Appendices | 229 |
An Overview of Extreme Programming | 231 |
XPs Values | 238 |
The Principles of XP | 239 |
Summary | 240 |
Answers to Questions | 243 |
Chapter 3 User Role Modeling | 245 |
Chapter 4 Gathering Stories | 246 |
Chapter 5 Working with User Proxies | 247 |
Chapter 8 Estimating User Stories | 249 |
Chapter 10 Planning an Iteration | 250 |
Chapter 12 What Stories Are Not | 251 |
Chapter 13 Why User Stories? | 252 |
Chapter 14 A Catalog of Story Smells | 253 |
Chapter 16 Additional Topics | 254 |
References | 257 |
Index | 261 |