User Stories Applied: For Agile Software Development (eReader) [NOOK Book]

NOOK Book (eBook)
$25.07
BN.com price
$43.99 List Price (Save 43%)

Available on NOOK devices and apps

  • Nook Devices
  • NOOK
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for iPad
  • NOOK for iPhone
  • NOOK for Android
  • NOOK for Android (Tablet)
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK Study
  • NOOK for PC
  • NOOK for Mac

Want a NOOK? Explore Now

Overview

Agile requirements: discovering what your users really want. With this book, you will learn to:

  • Flexible, quick and practical requirements that work
  • Save time and develop better software that meets users' needs
  • Gathering user stories — even when you can't talk to users
  • How user stories work, and how they differ from use cases, scenarios, and traditional requirements
  • Leveraging user stories as part of planning, scheduling, estimating, and ...
See more details below

Overview

Agile requirements: discovering what your users really want. With this book, you will learn to:

  • Flexible, quick and practical requirements that work
  • Save time and develop better software that meets users' needs
  • Gathering user stories — even when you can't talk to users
  • How user stories work, and how they differ from use cases, scenarios, and traditional requirements
  • Leveraging user stories as part of planning, scheduling, estimating, and testing
  • Ideal for Extreme Programming, Scrum, or any other agile methodology
—————————————————————————————————————————————————————

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 role modeling: understanding what users have in common, and where they differ
  • Gathering stories: user interviewing, questionnaires, observation, and workshops
  • Working with managers, trainers, salespeople and other "proxies"
  • Writing user stories for acceptance testing
  • Using stories to prioritize, set schedules, and estimate release costs
  • Includes end-of-chapter practice questions and exercises

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.

ADDISON-WESLEY PROFESSIONAL

Boston, MA 02116

www.awprofessional.com

ISBN: 0-321-20568-5

Product Details

  • ISBN-13: 9780321685001
  • Publisher: Pearson Education
  • Publication date: 3/1/2004
  • Sold by: Barnes & Noble
  • Format: eBook
  • Edition number: 1
  • Pages: 304
  • Sales rank: 177,701
  • Series: Addison-Wesley Signature Series (Beck) Series
  • File size: 2 MB

Meet the Author

Mike Cohn is the founder of Mountain Goat Software, a process and project management consultancy and training firm. With more than twenty years of experience, Mike has been a technology executive in companies ranging from start-ups to Fortune 40s, and is a founding member of the Agile Alliance. He frequently contributes to industry-related magazines and presents regularly at conferences. He is the author of User Stories Applied (Addison-Wesley, 2004).

Read an Excerpt

I felt guilty throughout much of the mid-1990s. I was working for a company that was acquiring about one new company each year. Every time we'd buy a new company I would be assigned to run their software development group. And each of the acquired development groups came with glorious, beautiful, lengthy requirements documents. I inevitably felt guilty that my own groups were not producing such beautiful requirements specifications. Yet, my groups were consistently far more successful at producing software than were the groups we were acquiring.

I knew that what we were doing worked. Yet I had this nagging feeling that if we'd write big, lengthy requirements documents we could be even more successful. After all, that was what was being written in the books and articles I was reading at the time. If the successful software development teams were writing glorious requirements documents then it seemed like we should do the same. But, we never had the time. Our projects were always too important and were needed too soon for us to delay them at the start.

Because we never had the time to write a beautiful, lengthy requirements document, we settled on a way of working in which we would talk with our users. Rather than writing things down, passing them back and forth, and negotiating while the clock ran out, we talked. We'd draw screen samples on paper, sometimes we'd prototype, often we'd code a little and then show the intended users what we'd coded. At least once a month we'd grab a representative set of users and show them exactly what had been coded. By staying close to our users and by showing them progress in small pieces, we had found a way to be successful without the beautiful requirements documents.

Still, I felt guilty that we weren't doing things the way I thought we were supposed to.

In 1999 Kent Beck's revolutionary little book, Extreme Programming Explained: Embrace Change, was released. Overnight all of my guilt went away. Here was someone saying it was OK for developers and customers to talk rather than write, negotiate, and then write some more. Kent clarified a lot of things and gave me many new ways of working. But, most importantly, he justified what I'd learned from my own experience. Extensive upfront requirements gathering and documentation can kill a project in many ways. One of the most common is when the requirements document itself becomes a goal. A requirements document should be written only when it helps achieve the real goal of delivering some software.

A second way that extensive upfront requirements gathering and documentation can kill a project is through the inaccuracies of written language. I remember many years ago being told a story about a child at bath time. The child's father has filled the bath tub and is helping his child into the water. The young child, probably two or three years old, dips a toe in the water, quickly removes it, and tells her father "make it warmer." The father puts his hand into the water and is surprised to find that, rather than too cold, the water is already warmer than what his daughter is used to. After thinking about his child's request for a moment, the father realizes they are miscommunicating and are using the same words to mean different things. The child's request to "make it warmer" is interpreted by any adult to be the same as "increase the temperature." To the child, however, "make it warmer" meant "make it closer to the temperature I call warm."

Words, especially when written, are a very thin medium through which to express requirements for something as complex as software. With their ability to be misinterpreted we need to replace written words with frequent conversations between developers, customers, and users. User stories provide us with a way of having just enough written down that we don't forget and that we can estimate and plan while also encouraging this time of communication.

By the time you've finished the first part of this book you will be ready to begin the shift away from rigorously writing down every last requirement detail. By the time you've finished the book you will know everything necessary to implement a story-driven process in your environment. This book is organized in four parts and two appendices.

Part I: Getting Started—A description of everything you need to know to get started writing stories today. One of the goals of user stories is to get people talking rather than writing. It is the goal of Part I to get you talking as soon as possible. The first chapter provides an overview of what a user story is and how you'll use stories. The next chapters in Part I provide additional detail on writing user stories, gathering stories through user role modeling, writing stories when you don't have access to real end users, and testing user stories. Part I concludes with a chapter providing guidelines that will improve your user stories.

Part II: Estimating and Planning—Equipped with a collection of user stories, one of the first things we often need to answer is "How long will it take to develop?" The chapters of Part II cover how to estimate stories in story points, how to plan a release over a three- to six-month time horizon, how to plan an ensuing iteration in more detail, and, finally, how to measure progress and assess whether the project is progressing as you'd like.

Part III: Frequently Discussed Topics—Part III starts by describing how stories differ from requirements alternatives such as use cases, software requirements specifications, and interaction design scenarios. The next chapters in Part III look at the unique advantages of user stories, how to tell when something is going wrong, and how to adapt the agile process Scrum to use stories. The final chapter of Part III looks at a variety of smaller issues such as whether to writes stories on paper note cards or in a software system and how to handle nonfunctional requirements.

Part IV: An Example—An extended example intended to help bring everything together. If we're to make the claim that developers can best understand user's needs through stories then it is important to conclude this book with an extended story showing all aspects of user stories brought together in one example.

Part V: Appendices—User stories originate in Extreme Programming. You do not need to be familiar with Extreme Programming in order to read this book. However, a brief introduction to Extreme Programming is provided in Appendix A. Appendix B contains answers to the questions that conclude the chapters.

Table of Contents

Foreword xv
Acknowledgments xvii
Introduction xix
Part I Getting Started 1
Chapter 1 An Overview 3
What Is a User Story? 4
Where Are the Details? 5
"How Long Does It Have to Be?" 7
The Customer Team 8
What Will the Process Be Like? 8
Planning Releases and Iterations 10
What Are Acceptance Tests? 12
Why Change? 13
Summary 15
Questions 15
Chapter 2 Writing Stories 17
Independent 17
Negotiable 18
Valuable to Purchasers or Users 20
Estimatable 22
Small 23
Testable 27
Summary 28
Developer Responsibilities 28
Customer Responsibilities 28
Questions 29
Chapter 3 User Role Modeling 31
User Roles 31
Role Modeling Steps 33
Two Additional Techniques 37
What If I Have On-Site Users? 39
Summary 40
Developer Responsibilities 40
Customer Responsibilities 41
Questions 41
Chapter 4 Gathering Stories 43
Elicitation and Capture Should Be Illicit 43
A Little Is Enough, or Is It? 44
Techniques 45
User Interviews 45
Questionnaires 47
Observation 48
Story-Writing Workshops 49
Summary 52
Developer Responsibilities 53
Customer Responsibilities 53
Questions 53
Chapter 5 Working with User Proxies 55
The Users' Manager 55
A Development Manager 57
Salespersons 57
Domain Experts 58
The Marketing Group 59
Former Users 59
Customers 59
Trainers and Technical Support 61
Business or Systems Analysts 61
What to Do When Working with a User Proxy 61
Can You Do It Yourself? 63
Constituting the Customer Team 63
Summary 64
Developer Responsibilities 65
Customer Responsibilities 65
Questions 66
Chapter 6 Acceptance Testing User Stories 67
Write Tests Before Coding 68
The Customer Specifies the Tests 69
Testing Is Part of the Process 69
How Many Tests Are Too Many? 70
The Framework for Integrated Test 70
Types of Testing 72
Summary 73
Developer Responsibilities 73
Customer Responsibilities 73
Questions 74
Chapter 7 Guidelines for Good Stories 75
Start with Goal Stories 75
Slice the Cake 75
Write Closed Stories 76
Put Constraints on Cards 77
Size the Story to the Horizon 78
Keep the UI Out as Long as Possible 79
Some Things Aren't Stories 80
Include User Roles in the Stories 80
Write for One User 81
Write in Active Voice 81
Customer Writes 81
Don't Number Story Cards 82
Don't Forget the Purpose 82
Summary 82
Questions 83
Part II Estimating and Planning 85
Chapter 8 Estimating User Stories 87
Story Points 87
Estimate as a Team 88
Estimating 88
Triangulate 90
Using Story Points 91
What If We Pair Program? 92
Some Reminders 93
Summary 94
Developer Responsibilities 94
Customer Responsibilities 95
Questions 95
Chapter 9 Planning a Release 97
When Do We Want the Release? 98
What Would You Like in It? 98
Prioritizing the Stories 99
Mixed Priorities 100
Risky Stories 101
Prioritizing Infrastructural Needs 101
Selecting an Iteration Length 103
From Story Points to Expected Duration 103
The Initial Velocity 104
Creating the Release Plan 105
Summary 106
Developer Responsibilities 106
Customer Responsibilities 107
Questions 107
Chapter 10 Planning an Iteration 109
Iteration Planning Overview 109
Discussing the Stories 110
Disaggregating into Tasks 111
Accepting Responsibility 113
Estimate and Confirm 113
Summary 115
Developer Responsibilities 115
Customer Responsibilities 116
Questions 116
Chapter 11 Measuring and Monitoring Velocity 117
Measuring Velocity 117
Planned and Actual Velocity 119
Iteration Burndown Charts 121
Burndown Charts During an Iteration 123
Summary 126
Developer Responsibilities 127
Customer Responsibilities 127
Questions 127
Part III Frequently Discussed Topics 131
Chapter 12 What Stories Are Not 133
User Stories Aren't IEEE 830 133
User Stories Are Not Use Cases 137
User Stories Aren't Scenarios 141
Summary 143
Questions 143
Chapter 13 Why User Stories? 145
Verbal Communication 145
User Stories Are Comprehensible 148
User Stories Are the Right Size for Planning 148
User Stories Work for Iterative Development 149
Stories Encourage Deferring Detail 150
Stories Support Opportunistic Development 151
User Stories Encourage Participatory Design 152
Stories Build Up Tacit Knowledge 153
Why Not Stories? 153
Summary 154
Developer Responsibilities 155
Customer Responsibilities 155
Questions 155
Chapter 14 A Catalog of Story Smells 157
Stories Are Too Small 157
Interdependent Stories 157
Goldplating 158
Too Many Details 159
Including User Interface Detail Too Soon 159
Thinking Too Far Ahead 160
Splitting Too Many Stories 160
Customer Has Trouble Prioritizing 161
Customer Won't Write and Prioritize the Stories 162
Summary 162
Developer Responsibilities 163
Customer Responsibilities 163
Questions 163
Chapter 15 Using Stories with Scrum 165
Scrum Is Iterative and Incremental 165
The Basics of Scrum 166
The Scrum Team 166
The Product Backlog 167
The Sprint Planning Meeting 168
The Sprint Review Meeting 170
The Daily Scrum Meeting 171
Adding Stories to Scrum 173
A Case Study 174
Summary 175
Questions 176
Chapter 16 Additional Topics 177
Handling NonFunctional Requirements 177
Paper or Software? 179
User Stories and the User Interface 181
Retaining the Stories 184
Stories for Bugs 185
Summary 186
Developer Responsibilities 186
Customer Responsibilities 187
Questions 187
Part IV An Example 189
Chapter 17 The User Roles 191
The Project 191
Identifying the Customer 191
Identifying Some Initial Roles 192
Consolidating and Narrowing 193
Role Modeling 195
Adding Personas 197
Chapter 18 The Stories 199
Stories for Teresa 199
Stories for Captain Ron 202
Stories for a Novice Sailor 203
Stories for a Non-Sailing Gift Buyer 204
Stories for a Report Viewer 204
Some Administration Stories 205
Wrapping Up 206
Chapter 19 Estimating the Stories 209
The First Story 210
Advanced Search 212
Rating and Reviewing 213
Accounts 214
Finishing the Estimates 215
All the Estimates 216
Chapter 20 The Release Plan 219
Estimating Velocity 219
Prioritizing the Stories 220
The Finished Release Plan 221
Chapter 21 The Acceptance Tests 223
The Search Tests 223
Shopping Cart Tests 224
Buying Books 225
User Accounts 226
Administration 227
Testing the Constraints 228
A Final Story 229
Part V Appendices 231
Appendix A An Overview of Extreme Programming 233
Roles 233
The Twelve Practices 234
XP's Values 240
The Principles of XP 241
Summary 242
Appendix B Answers to Questions 245
Chapter 1, An Overview 245
Chapter 2, Writing Stories 246
Chapter 3, User Role Modeling 247
Chapter 4, Gathering Stories 248
Chapter 5, Working with User Proxies 249
Chapter 6, Acceptance Testing User Stories 249
Chapter 7, Guidelines for Good Stories 249
Chapter 8, Estimating User Stories 251
Chapter 9, Planning a Release 251
Chapter 10, Planning an Iteration 252
Chapter 11, Measuring and Monitoring Velocity 252
Chapter 12, What Stories Are Not 253
Chapter 13, Why User Stories? 254
Chapter 14, A Catalog of Story Smells 255
Chapter 15, Using Stories with Scrum 255
Chapter 16, Additional Topics 256
References 259
Index 263

Introduction

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. A great 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 Conn provides you with a front-to-back blueprint for writing these user stories and weaving them into your development life cycle. You'll learn what makes a great user story, and what makes a bad one. You'll discover practical way 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.

Customer Reviews

Average Rating 4.5
( 7 )

Rating Distribution

5 Star

(5)

4 Star

(1)

3 Star

(1)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or Leave Anonymously

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identiy on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

We're sorry, but penname is already taken.

Please select one of the following:
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

penname is available!

By visiting the BN.com website or marking a purchase on BN.com, a User is deemed to have accepted the Terms of Use.

Continue Anonymously

Welcome, penname

You have successfully created your Pen Name. Start enjoying the benefits of the BN.com Community today.

Sort by: Showing all of 4 Customer Reviews
  • Anonymous

    Posted February 6, 2010

    No text was provided for this review.

  • Anonymous

    Posted October 19, 2011

    No text was provided for this review.

  • Anonymous

    Posted January 23, 2010

    No text was provided for this review.

  • Anonymous

    Posted December 30, 2010

    No text was provided for this review.

Sort by: Showing all of 4 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)
500 character limit