This work by Larman shares some commonalities with Balancing Agility and Discipline, a work by Boehm and Turner (see my review for that book) in which a wide range of methodologies are compared side-by-side to determine the best fit for teams. However, rather than serving as a guide to determine best fit from a wide assortment of methodologies, Larman's work is limited to a discussion of Scrum, XP, Unified Process (i.e. RUP/UP), and Evo, within the broader context of what the author categories as iterative and incremental development (IID). In my opinion, this book is probably the best organized text on this subject currently available in the marketplace. Although the subtitle for this work categorizes itself as a manager's guide, the content Larman has included here will prove beneficial for anyone involved in software development. And this is the case even if one does not read the four methodology-specific chapters. After a thorough explanation of iterative and evolutionary development, the author discusses its relationship to agile development and the motivation behind adopting such methodologies. The subsequent chapter on the evidence behind the effectiveness of IID is the most concise listing of research findings I have come across. While this chapter begins with a warning that "exhaustive data can make for exhaustive reading" and that it is "probably best spot-read as a reference", at only about 30 pages in length it is well recommended. While many in technology recognize the benefits of IID and have used the ideas brought to the table by various IID methodologies to some extent, the author reminds the reader that not only do many technology shops simply remain paralyzed by waterfall methods that view software as a predictive process, but that IID has been around for decades. David L. Parnas, a software engineering pioneer who developed the concept of module design, is quoted by Larman as follows. "Q: What are the most exciting, promising software engineering ideas or techniques on the horizon? A: I don't think that the most promising ideas are on the horizon. They are already here and have been for years, but are not being used properly." I found the following sections within the specific methodology discussions to be especially beneficial: common mistakes and misunderstandings (or how to fail with a particular methodology), signs that one has not understood a particular methodology, sample projects, process mixtures, and adoption strategies. In addition, the reader might be interested in knowing that the last chapter consists solely of questions and answers summarizing many of the main discussions presented elsewhere in the preceding eleven chapters, serving as a quick reference by pointing to specific portions of the text where ideas are elaborated upon.
less
0 comments
Post a comment