User Stories Applied: For Agile Software Development
User Stories Applied: For Agile Software Development book cover

User Stories Applied: For Agile Software Development

1st Edition

Price
$25.56
Format
Paperback
Pages
304
Publisher
Addison-Wesley Professional
Publication Date
ISBN-13
978-0321205681
Dimensions
7 x 0.65 x 9.25 inches
Weight
1.1 pounds

Description

Agile requirements: discovering what your users really want. With this book, you will learn to: Flexible, quick and practical requirements that work Flexible, quick and practical requirements that work Save time and develop better software that meets users' needs Save time and develop better software that meets users' needs Gathering user stories -- even when you can't talk to users 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 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 Leveraging user stories as part of planning, scheduling, estimating, and testing Ideal for Extreme Programming, Scrum, or any other agile methodology 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 User role modeling: understanding what users have in common, and where they differ Gathering stories: user interviewing, questionnaires, observation, and workshops Gathering stories: user interviewing, questionnaires, observation, and workshops Working with managers, trainers, salespeople and other "proxies" Working with managers, trainers, salespeople and other "proxies" Writing user stories for acceptance testing Writing user stories for acceptance testing Using stories to prioritize, set schedules, and estimate release costs Using stories to prioritize, set schedules, and estimate release costs Includes end-of-chapter practice questions and exercises 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 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).

Features & Highlights

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

Customer Reviews

Rating Breakdown

★★★★★
60%
(331)
★★★★
25%
(138)
★★★
15%
(83)
★★
7%
(39)
-7%
(-40)

Most Helpful Reviews

✓ Verified Purchase

The user story bible

'User Stories Applied' was a book that long stood on my Amazon wish list with a 'must have' rating. I'm not disappointed. I loved the book. Now let me explain why.

First of all, running the planning aspect of an XP project, for example, well is essential for reaping the benefits of agile software development. Yet, relatively little has been written to guide practitioners in doing that. I, for example, have made all the mistakes Cohn enumerates in the chapters for guiding the user towards writing *good* user stories (usually more than once). These sorts of things make you realize you shouldn't put the book on the shelf to gather dust! The author doesn't cover just writing good user stories, but the whole spectrum from putting together the customer team to estimating stories to discussing the stories to writing acceptance tests for the stories.

Second, it's a pleasure to read. The structure makes sense, each chapter is followed by a useful summary, and there's a set of questions -- along with answers -- to make sure you understood what the chapter talked about. Usually these kinds of Q&A sections simply force me to skip them over. The questions in this book did not. I read each and every one of them and I think there was only one set of questions that I did 'pass' with the first try, usually having forgotten some rather important aspects to consider (concrete evidence of their usefulness to me). To finish, the last part of the book, an example project, nicely ties together all the threads.

As usual, there were some things I experienced not so well. I believe the chapter on applying user stories with Scrum could've been left out without breaking the plot. Also, I think a typical user wouldn't have been bothered about dropping the appendix introducing Extreme Programming.

In summary, this is the book to get if you're involved with user stories. I had to pause reading every few pages to scribble down some specific tips. I'm confident that you will too.
67 people found this helpful
✓ Verified Purchase

More recent books are a better buy

It pains me to give this a 2-star rating because I'm a big fan of Mike Cohn and his writings. The reason for my rating is for two reasons:
1) The book reads like a bunch of individual articles that were bundled together, with a thin attempt to apply a common example application to tie them all together. Instead, you get too many instances where he makes a point that was previously made at least once, if not more, as if it's a new idea. I found the book somewhat disjointed, and difficult to read.
2) The book is dated. You can get everything that's in this book, in a more coherent format, plus additional material, in "Succeeding with Agile". I would have given this book a much higher rating when it was first released, but ten years later, there are better ways to spend your money on the same author.
60 people found this helpful
✓ Verified Purchase

Finally! Practical advice on writing user stories, and more

This excellent book is a must-have for anyone on an agile team - developers, testers, business experts, analysts - and for anyone who struggles with requirements, planning, or estimating on any software project.
User Stories Applied is easy to read and digest. As the title suggests, its techniques are easy to apply and deliver huge value. Each chapter summarizes developer and customer responsibilities, and has questions whose answers are provided in an appendix. The book is full of real-life, concrete examples, allowing you to learn from the successes and failures of others.
This book will give you many tools to help your projects succeed. Just a few of the most valuable topics:
When are user stories too big, too small, too detailed, too general, too open ended, when are they not user stories, and how to correct all these.
Why use user stories.
How to handle requirements for infrastructure, performance, qualitative aspects, UI.
How to ask questions to elicit requirements.
How to cope when you don't have `on-site customers'.
Practical ways to estimate stories.
Monitoring velocity and progress.
When to keep and when to discard artifacts.
Mike explores the differences between stories and other techniques for delivering requirements: IEEE 380, use cases, scenarios. He points out many positive side effects of user stories, such as encouraging participatory design and tacit knowledge accumulation.
I particularly like that the book emphasizes the team's responsibility to successfully complete each iteration. I enjoy Mike's illuminating bits of wisdom, such as the "everything takes 4 hours" example. I love the comprehensive example in Part IV. No matter what your level of experience, you'll put the ideas in this book to immediate and productive use.
31 people found this helpful
✓ Verified Purchase

Lots of knowledge, but not always good explanations.

This book is pretty good overall, but has some very frustrating habits. One habit is of the author not defining new terms he uses. Take testing stories for example. The section starts off ok, because he mentions that some stories aren't testable and gives examples. Fabulous. However, the very next sentence says that tests should be automated, with no explanation as to what that means. Automated how? Automation implies that a person won't do it him/herself. How is that possible when testing stories of software? A person is always involved. His only explanation implies that a test isn't automated because it would require the observation of a user. He never says with certainty though, so that's my attempt to interpret. As a UX designer, it sounds weird that a test would take place without a real user, and that you should test things in some other way that equates with "automation." Maybe I don't get it because I'm not a developer, but I think a new term like that should be explicitly defined. I have had several instances similar to this one, where a term is thrown into the mix and never fully explained. Otherwise the book is very informative.

**Update
I'm continuing with the book and have just now found the answer to what an automated test is in Chapter 6, and automated testing was first mentioned in Chapter 2.

I can't speak for all readers obviously, but I find myself doing Google searches to fill in the blanks this book leaves. Unfortunately there aren't a lot of books written on this subject (on Amazon anyways), so it can be difficult to supplement.
15 people found this helpful
✓ Verified Purchase

Good, but next is better

This book has some good stuff in it, especially the INVEST criteria for a good Story. But as far as practical application, Mike's other book, Agile Estimating and Planning, is better.

If you are a business or requirements analyst or a Product Owner, get this one. If you are a ScrumMaster, get both.
14 people found this helpful
✓ Verified Purchase

For XP enthusiasts

Writing user stories is one of the twelve practices of the XP software development methodology. User stories summarily describe features of the software that must be developed, from the point of view of the user. This means that no implementation detail is present on stories.

As with all the XP practices, the emphasis is on traveling light, producing only those artifacts that are absolutely necessary. Thus, user stories contain a brief description of the feature as a reminder, to the developers and to the customer, that sometime in the future they will need to meet and flesh out the details. This is in contrast to techniques like use cases, which might seem similar but are much more formal and rich.

User stories also play a fundamental role in the planning game, one of the other XP practices. During the planning game, the development team and the customer together discuss the stories, the developers estimate the time necessary to implement each story, in terms of story points and the customer prioritizes them. During the next iteration, developers will implement those stories that the customer deemed more urgent, up to a number whose total sum of points does not exceed the estimated team velocity.

All of this is explained in a couple of the XP series books, namely Extreme Programming Explained: Embrace Change and Planning Extreme Programming You'd better have already read at least the former of those before picking up Mike Cohn's book.

User Stories Applied does a good job explaining in detail what user stories are, what goes into them -and what doesn't -, how they should be estimated and what to do with them after the stories have been implemented.

There's a lot of good sense advice in this book, which might induce someone to think that user stories and all other XP practices are just a bunch of generic suggestions that you might apply or not, as you wish. That's certainly not true, as XP is a methodology whose effectiveness lies in the combined action of all the practices when they are taken to the limit. This takes determination and discipline and, in my experience, it's just too easy to fall into the habit of following only some of them, say when you're not under deadline pressure, and still pretend that you're an XP shop.

I would have liked more real-life stories in this book, in order to spice it up a little. As it is, everything that is there sounds highly reasonable (at least to me) but it wouldn't convince anyone who is skeptic of XP's supposed benefits. The example at the end of the book sounds contrived and hollow.

On the other hand, if you have been already convinced by Kent Beck's white book and want to start adopting XP, I can heartily recommend Mike Cohn's book.
14 people found this helpful
✓ Verified Purchase

good "how-to" book

This is a very good book. It describes how to write requirements as xp stories, what makes a good story, how to gather requirements, and a little bits about acceptance testing, estimating, and planning. Also nice to see a chapter on using XP-style stories with Scrum.
If you are playing the role of a product designer -- even if you're not using Extreme Programming -- you should buy this book, and also buy Gerald M. Weinberg's book on requirements "Exploring Requirements: Quality Before Design" (with Donald C. Gause.)
him
9 people found this helpful
✓ Verified Purchase

The only game in town

Many books have been written about requirements gathering as a discipline, and many more about techniques for doing it. To my knowledge, this is the first book dedicated to "user stories", the form of software requirements capture used in Extreme Programming (XP). At first blush, you might think that there isn't enough to the topic to warrant a book, because the beauty of user stories is their simplicity. But Mike Cohn shows that there is indeed plenty of potential material -- and useful material at that. My only complaint about this book is that the proofreading could have been more careful; there are too many "stray words" left over from editing.

In "User Stories Applied", Cohn explains what stories are, what makes a good story, and how stories are written. He uses copious examples throughout, and I enjoyed the self-test questions at the end of each chapter. My favorite part of the book comes near the end, when he works through how the initial set of stories would be developed using a nontrivial example (an eCommerce web site.)

Although user stories are traditionally associated with XP, they can be used without it, and Cohn shows how stories fit in with other agile methodologies (Scrum in particular.) If you need to capture requirements for agile projects, or if you're sick of writing ISO standard requirements documents and think there must be a better way, then this book is for you.
8 people found this helpful
✓ Verified Purchase

The definitive reference on User Stories

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!
6 people found this helpful
✓ Verified Purchase

Sensible Requirements Analysis - Help is Here

How hard can it be to write Stories? The answer seems to be both "pretty simple" and "kind of tricky". Writing short sentences is a skill many of us have mastered by now, but working with people is the challenging part of any job. How many projects have delivered exactly what the Customer *specified*, but not quite what they need? Mike teaches us to keep our Stories simple enough that the team can really communicate with the Customer, responding to the complexities they express as a project progresses.
The book is practical and addresses not just the practice of User Stories, but also how to plan for their use and manage them within different kinds of projects. It includes an introduction to Agile approaches like Extreme Programming (XP) and Scrum, but does not presume that all teams must work in this manner.
Cohn's writing style is crystal clear. The layout of the book is superb, and the material is well developed to make the most of this structure, with short sections clearly titled. While readable as a training manual, the detailed table of contents also makes it valuable as a reference book.
For Agile teams, this book provides a condensation of valuable experience, and practical advice. And if your team is stuck in analysis paralysis, spinning to refine and refine requirements, this book may provide the "aha" you are looking for.
6 people found this helpful