Succeeding With Agile: Software Development Using Scrum, by Mike Cohn, Addison-Wesley, Boston, Massachusetts, 2010. 475 pp., $49.99(paper) ISBN 978-0-321-57936-2.
Reviewed by Charles Ashbacher
One of the easiest things to do in print is to praise a strategy or set of tactics used to perform difficult tasks. When all you are doing is simply expounding the stated virtues of a methodology, you are somewhat free to use hype, anecdotal information and instance proofs of success. Implementation details and explanations of logical and frequent difficulties encountered by practitioners of the methodology are ignored or minimized.
That is not the case in this book, Cohn describes the agile software development process and he provides extensive examples of the use of the Scrum methodology and the difficulties commonly encountered. It is easy to understand the hesitation that development teams will have when considering the adoption of Scrum. The development of large software projects is the most complex task that humans have ever undertaken; even a single wrong character out of millions can break a program. The appearance of the relaxation of controls of the process can appear counterintuitive, as it seems that would allow for additional errors to slip through the weakened defenses.
Cohn goes to great lengths to demonstrate how Scrum will strengthen those defenses by reducing the likelihood that errors will survive for very long. Splitting the process into short spurts means that all minds can be on deck and their focus will be on a small set of parameters. This is a way to make minds smarter without actually having to be smarter. Cohn also joins the collective clamor against the extensive use of overtime as a way to compress the time to completion. Evidence going back decades is completely convincing that when it is brainwork, overtime can only increase productivity for a short time. Intellectual fatigue rapidly sets in and after approximately three weeks, the productivity level begins to drop down to less that what is achieved in a standard forty-hour week.
Charts, graphs and tables are used to support the arguments made for the adoption and intelligent use of Scrum. Convincing a team to adopt Scrum is essentially using facts and demonstrated rewards to overcome emotional barriers and the natural unwillingness to execute change. This cannot be done in any way other than by starting with the reality of current problems, giving multiple demonstrations that it can work and then detailed explanations of how to overcome common obstacles that are encountered. Cohn does all of this very well; this book is an excellent point to begin the study and adoption of Scrum.