Agile methods are clearly one of the most important developments in software over the past decades, but they are a surprising mix of the best and the worst. Until now every project and every developer had to sift by themselves through the ideas and sort out the gems from the gravel. This book, the result of an immersion of several years in the practice of agile development and the agile literature, spares you the pain. It offers both a thorough descriptive presentation of agile techniques and a perceptive, no-nonsense analysis of their benefits and limitations, by one of the top names in software engineering.
The first achievement of Meyer?s book is to serve as a primer on agile development: one chapter each introduces agile principles, roles, managerial practices, technical practices and artifacts. This concise yet complete review will enable you to master all the important agile ideas. A separate chapter analyzes the four major agile methods: Extreme Programming, Lean Software, Scrum and Crystal.
The accompanying critical analysis explains what you should retain and discard from agile ideas. It is based on Meyer?s thorough knowledge of the methods, principles and literature of software engineering, and his extensive personal experience of programming and project management. He fearlessly calls the agile proponents? bluff by debunking the hyped and unsound ideas, and highlights the truly brilliant contributions ? even those to which their own authors do not do full justice.
Three important chapters precede the core discussion of agile ideas: an extended overview, serving as a concentrate of the entire book; a dissection of the intellectual devices used by agile authors to convey their arguments; and a measured review of the classical software engineering techniques, such as requirements analysis and lifecycle models, which agile methods love to criticize. The final chapters describe the precautions that a company should take during a transition to agile development, and present the overall assessment of agile ideas, with a carefully defined list of the ugly, the hyped, the good and the truly brilliant.
This is the first book to discuss agile methods, beyond the brouhaha, in the general context of modern software engineering. It is a key resource for projects that want to combine the best of established results and agile innovations.