This post originated from an RSS feed registered with Agile Buzz
by Dave Churchville.
Original Post: Book Review - User Stories Applied
Feed Title: Agile Project Planning
Feed URL: http://feeds2.feedburner.com/AgileProjectPlanning
Feed Description: Thoughts on agile project planning, Extreme programming, and other software development topics
I recently finished Mike Cohn's book User Stories Applied, an excellent and well-organized guide to agile software planning, development, and testing with user stories.
The book starts with the basics of what a user story is and is not. For example, Cohn points out that stories are not IEEE requirements ("The system shall support donut making") or use cases. They are reminders of future conversations between customer and developer.
The book continues with comprehensive coverage of how to write good stories at an appropriate level of detail. It discusses strategies for how to tell if a story is too big, too detailed, or too vague, and how to fix those issues.
What separates this book from other Agile writings is the breadth and depth of examples. Cohn has an entire section of the book to work through a detailed example of analysis, release planning, iteration planning, acceptance test writing and more. This is the most complete discussion I've seen on the topic of acceptance tests, what they are, and how to write them.
As an extra bonus, Cohn has chapters on using Scrum (a popular agile project management technique) with user stories that includes a good overview of the process itself. Another chapter summarizes Extreme Programming practices.
Each chapter has a summary of the most important topics covered, as well as the responsibilities discussed for each role (Customer, Developer). You could actually just skim the summary at the end of each chapter and still come away with valuable information.
There are also reader exercises at the end of each chapter (but don't worry, the answers are at the back of the book).
Overall, in my opinion, this is the most practical, no-nonsense guide to working with user stories and Agile methods available. This would be an excellent book to use with a training course, or just to have the whole team read before starting a project.