|
| Login | Sign up | Settings | New! iPhone App | My Wish List | My iBundle |
![]() | Agile and Iterative Development: A Manager's Guide by Craig Larman ISBN-10: 9780131111554 ISBN-10: 0-13-111155-8 ISBN-13: 9780131111554 ISBN-13: 978-0-13-111155-4 Paperback 2003-08-21 Addison-Wesley Professional Find Lowest Price | |
Editorials | ||
Product Description Agile and iterative methods have emerged as the most popular approaches to software development, and with good reason. Research (examined and cited in detail within this book) shows that iterative methods reduce the risk of failure, compared to traditional models of development. This book is an efficient introduction for both managers and practitioners that need a distilled and carefully organized learning aid for the hands-on practices from planning to requirements to testing and the values that define these methods. The author also provides evidence of the value of switching to agile and iterative methods. By studying this book, the reader will learn to apply the key ideas in agile and iterative development, the details and comparison of four influential iterative methods (Scrum, Extreme Programming, Evo, and the Unified Process), answers to frequently asked questions, and important related management skills. The book's goal is quality information that can be quickly understood and applied. | ||
Reviews | ||
A good reference for those transitioning from traditional software development methods to Agile Having employed traditional software development methodology in managing projects previously, this book has helped me by introducing agile concepts & methodology, allowing me to see the difference between traditional & agile, and helping me to know when it is best to adopt the agile methodology | ||
Excellent survey of agile methods and practices This book is organized for easy self-directed exploration, with extensive margin references to sections that expand on topics mentioned. It includes an excellent section on the historical foundations of our current software development practices that leads to building a solid business case for agile methods. About half of the text is devoted to comparative case-studies of Scrum, Extreme Programming, Unified Process and Evo. This provides a fairly objective overview of each process. The book concludes with agile practice tips and frequently asked questions (with answers) common to the whole family of agile and iterative development methods. | ||
Great first book to read for managers...but you need another after choosing your method In my experience there is always something about a particular agile method that you don't like. This book provides a brilliant examination and comparison of the methods that let you make pragmatic choices around how to combine methods into your overall agile approach. I also like that it has tons of references that provide evidence for why agile is better than waterfall. There are many things in this book that help you sell agile to your management team without it coming across as biased; its just the obvious choice. NOTE: This book should be one of the first you read, and will not be the last you read since it doesn't have enough detail about the individual methods but it is an amazing book to allow you to navigate and not get caught up in a particular philosophy or method. SUMMARY: If you want to explore agile buy this book first. | ||
Excellent survey of iterative and incremental development (IID) methodologies 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. | ||
Great comprehensive guide Unlike many of the books out there, this book covers iterative development techniques in general. The book is well organized and structured and gives a good framework for thinking about different ways to manage a project and develop software. Agile, Scrum, Extreme Programming, Unified Process and Evo are all covered and compared which is invaluable in deciding which one to use or, more likely, which elements can be used for your projects. Finally, some practice tips and a FAQ are provided to help you succeed in applying these methods to your project as well as answering the questions your team may come up with. I found this book easy to read and understand and now feel well equipped to apply these techniques. | ||