Agile Software Development: The Cooperative Game
The agile model of software development has taken the world by storm. Now, in Agile Software Development, Second Edition, one of agile’s leading pioneers updates his Jolt Productivity award-winning book to reflect all that’s been learned about agile development since its original introduction.
Alistair Cockburn begins by updating his powerful model of software development as a “cooperative game of invention and communication.” Among the new ideas he introduces: harnessing competition without damaging collaboration; learning lessons from lean manufacturing; and balancing strategies for communication. Cockburn also explains how the cooperative game is played in business and on engineering projects, not just software development
Next, he systematically illuminates the agile model, shows how it has evolved, and answers the questions developers and project managers ask most often, including
- Where does agile development fit in our organization?
- How do we blend agile ideas with other ideas?
- How do we extend agile ideas more broadly?
Review By: L. Terry Wray
09/13/2007Alistair Cockburn, the author of the Crystal methodologies, continues to define agile theory and Crystal's different "flavors" in the second edition of Agile Software Development. This book sets the bar for literature in the agile movement.
As a widely recognized subject matter expert, his book doesn't disappoint those seeking a way to begin understanding the benefits of agile. He begins slowly and uses situations and themes common to most people. The complexity builds at a digestible pace, and he challenges you to consider how you'd tailor Crystal or other agile methodologies to work for you, instead of taking their definitions as unbending law.
His use of visual aids is a bit on the scarce side for my taste. Also, some diagrams appear a little busy or difficult to sync up with his accompanying descriptions. For the most part, however, his diagrams are simplistic, yet offer a good mental image of the associated idea.
The use of lists, such as “Seven Principles (For Designing and Evaluating Methodologies),” and the “What Should I Do Tomorrow” sections at the end of chapters give those inexperienced with agile the warm, safe feeling that we get from cookbooks.
He uses an unusual style of fine-tuning his first edition. Instead of correcting and clarifying the original text in place, he simply adds an x.1 chapter after each original chapter. This is probably a coping mechanism for handling the controversy and bickering which other industry texts, like Extreme Programming editions one and two, suffered.
Although the book isn't quite as condensed as it could be, it remains easy to read even for those without a background in software development or project management. One improvement I might suggest is more robustness in the indexes. This is a key feature for those who wish to return to the book for guidance when faced with a challenge in the agile realm.
One clear gem in this book is Cockburn's comparison of agile to CMMI/ISO9001. This section alone will lend credibility to Agile among those who usually put their trust in certifications for a sure path to success. He also gives ammunition to agile defenders with chapter 5.1’s section “Misconstruing the Message,” in which he confronts most of the major excuses for not adopting certain agile practices.