Author: Mitch Lacey
Publisher: Addison Wesley
Audience: Development Project Managers
Reviewer: Kay Ewbank
This practical guide to Scrum is an updated second edition of the popular title.
Like its predecessor this book provides a really readable and practical introduction to Scrum. Changing your development project management to use the Scrum methodology is notoriously tricky, but this book is very practical and understandable, concentrating less on the theory and more on advice and techniques designed to make your Scrum projects end successfully. Books about frameworks and similar topics can be incredibly dry and difficult to read, but Lacey manages to keep the book readable and even interesting. He's a certified Scrum trainer who started life as a program manager at Microsoft, where he was in charge of core enterprise services for Windows Live.
Within the book each chapter starts with a story about looking at a particular area of application project management, followed by an expansion and interpretation of the concepts presented in the story, showing how Scrum can be used for that particular aspect of development.The outcome of the stories generally sounded a bit too good to be realistic - 'after blaming each other for the disaster over x, everyone agreed to try harder', sort of thing, rather than 'everyone slammed out of the meeting and sat at their desks checking their CV was up to date and sticking pins into wax images of the project leader'. However, the stories do show pain points, there are lots of bite-sized pieces of advice and tips, and overall it's very accessible.
If you're familiar with the previous edition, this one has been updated with improved Scrum techniques and tools, and has a new section of "tips from the field". There are five new chapters, and the others have been updated and improved.
The book opens with a chapter explaining what Scrum is, titled Scrum: Simple, Not Easy, and that's more or less the theme of the book. Part one of the book has an overall theme of 'getting prepared', with chapter topics including getting people on board; using team consultants to optimize team performance; predicting team velocity; implementing the Scrum roles; determining Sprint length; how do you know you're done; and ending with the case for a full-time ScrumMaster. One of the most interesting chapters was the one on knowing when you're done with the different stages - stories, sprints, release to integration and release to production.
Part two of the book, field basics, has chapters on why engineering practices are important to Scrum; core hours; release planning; decomposing stories and tasks; keeping defects in check; sustained engineering and Scrum; the Sprint review; and retrospectives. This section is all about how Scrum works in practice and what you should be doing at various points of the project.
Part three of the book, in contrast, is called First Aid, and is all about what you need to do as unforeseen problems occur. There are chapters on how to make daily scrum meetings productive, how to make sure pair programming works, what to do when adding new team members, and when cultures collide. The section closes with a good chapter on Sprint emergency measures.
Advanced survival techniques are the subject of the next part of the book, looking at a range of broader areas in which problems occur, such as how to develop at a sustainable pace, ways to deliver working software every sprint, how to estimate up-front project costing, and how to manage outsourcing and offshoring.
The final part of the book is the new part, titled Wilderness Essentials, it has chapters on Driving to Done, how story points relate to hours, immersive interviewing and hiring, aligning incentives with outcomes, and risk management in Scrum. The book ends with a good appendix laying out the Scrum Framework.
I started this book as a skeptic about the benefits of agile programming and Scrum, and I'm still not convinced. Done well, Scrum projects can obviously succeed; done badly they can be a fiasco. One thing I am convinced of is that if you're working on a development project and using Scrum, it's worth reading this book.
To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.
Agile Product Management With Scrum