User Stories Applied: For Agile Software Development

User Stories Applied: For Agile Software Development
By Mike Cohn

List Price: $54.99
Price: $40.87 Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

45 new or used available from $30.00

Average customer review:
(105 customer reviews)

Product Description

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.


Product Details

  • Amazon Sales Rank: #27821 in Books
  • Brand: Addison-Wesley Professional
  • Published on: 2004-03-11
  • Released on: 2004-03-01
  • Original language: English
  • Number of items: 1
  • Dimensions: 9.20" h x .80" w x 7.00" l, 1.10 pounds
  • Binding: Paperback
  • 304 pages

Features

  • Great product!

Editorial Reviews

From the Back Cover

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

About 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).

Excerpt. © Reprinted by permission. All rights reserved.
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.




Customer Reviews

Most helpful customer reviews

0 of 0 people found the following review helpful.
5An excellent and complete book on Agile Requirements Management centered on the "User Stories" concept.
By Dimitris Tranoudis
The book gives an excellent presentation of Agile Software Development from a perspective of one of the key components, that of the "User Story".

The User Story is the structural element of Agile in Terms of Requirements Management and emanated as concept out of Extreme Programming. The book introduces nicely and smoothly what are the "User Stories", the qualities of good "User Stories", the Roles and "Personas" owning the "User Stories", the process to Generate, Estimate, Plan and Test the User Stories.

At the end of each chapter there is a summary of the main ideas but also a series of questions to test understanding (with their answers provided at the end of the book).

The language is smooth and the read is very understandable even for the newcomers in the Agile World. The book offers also a valuable "hands on" feeling of the mechanisms built around user stories through a detailed description of the dialogues that would evolve among team members in a real life example (Part IV).

As a "Bonus", the book offers a short introduction to the Scrum Process (which a widely used process and is a kind of orchestration part for Agile) and to Extreme Programming.

The book can serve both as a textbook for teaching "User Stories" or as a book to comprehend a little deeper the requirements management processes of Agile once the process has been understood ("Essential Scrum" from the same author could be the one).

1 of 1 people found the following review helpful.
5Outstanding text that is easy to read and understand.
By Amazon Customer
Mike Cohn's clear and digestible writing style makes him my favorite Agile author. This book continues that tradition.

Of all the risks in any software development project, the most dangerous (possibly fatal) risk is not bad code or incomplete tests - it is getting the requirements wrong. The impact can be anywhere from highly dissatisfied clients to unemployed development teams.

One of biggest advantages of Agile development is that it directly addresses the reality of changing system requirements and how to keep a project aimed directly for the key business goal even in such a fluid environment. User Stories, and how they are used in an Agile Project Management context, are a key tool in ensuring project success (AKA client satisfaction).

Project Managers, Scrum Masters, Lead Developers, QA and Test Leads, Product Owners as well as Business Analysts should read this text. So much of software development process thinking has to do with "doing the thing, in right manner" (AKA good system-building technique). This book covers "doing the right thing" (AKA building the right product).

1 of 1 people found the following review helpful.
4The definitive reference on User Stories
By Bas Vodde
User stories are a method of capturing requirements which was originally introduced in the extreme programming method. User stories are commonly described as "a promiss for a conversation" and are often recorded on index cards (at least, originally). Mike Cohn's book takes the user story practice out of Extreme Programming and shows how it can be used in general in different methods.

The key-idea of user stories is that conversations and understanding via documentation is often wasteful and inefficient. User Stories describes a requirement in such a way that we can remember it in the future. At the time the requirement is ready to be implemented, we'll discuss the requirement in more detail. That way we can delay some of the requirement analysis and move it closer to when we implement it. This reduces "requirement inventory" and can lead to less waste in the development process. Whether and how to use user stories in your project depends on many different variables and user stories explained will explain the details of user stories, the different types of user stories and give plenty of examples. All this is needed for a better understanding and for deciding how user stories can help you on your project.

The book is well written, though personally I found that it contained too much text. There was quite much repetition and that made the book slightly boring after a 100 pages. It could have been written with less text, in my opinion. Another drawback of the book was that the examples given didn't feel real enough. It would have been nice to cover some larger projects and also discuss how user stories would work on these.

In conclusion, User Stories Applied is the definitive and only reference on user stories and when interested in user stories or when working with user stories, this is an absolute must!

See all 105 customer reviews...



Manage research, learning and skills at IT1me. Create an account using LinkedIn to manage and organize your IT knowledge. IT1me works like a shopping cart for information -- helping you to save, discuss and share.


  Contact Us  |  About IT1me.com |  IT Training & References |  IT Careers |  IT Hardware |  IT Software |  IT Books