
Mario Moreira’s new book on Adapting Configuration Management to Agile Teams: Balancing Sustainability and Speed excels at demonstrating the synergy between Configuration Management and Agile by describing a unique and robust approach to software development. Mario manages to take the deep dive into becoming Agile and provides an equally robust discussion of Configuration Management (CM). If you are involved with developing software then you need to read this book.
Delighted to Be Biased I should really start by noting that I am not an unbiased reviewer. I have known Mario for years and always enjoyed his columns on CM Crossroads, where I am the Editor in Chief. Mario is an expert in the field and lives in both the world of Agile development and configuration management. You will certainly learn a great deal from Mario’s extensive experience and expertise. As soon as I learned that Mario was working on this project I was delighted to offer my services as a reviewer. Long time CM guru Damon Poole and I both contributed chapters to this book. Damon provided his expertise on CM tools and I wrote about using CM related industry standards and frameworks with Agile. So this book is filled with many years of practical experience implementing Configuration Management and Agile.
Can CM really be Adapted for Agile? What does Agile really have to do with Configuration Management anyway? Many people wrongly assume that Agile CM starts and ends with Continuous Integration, which of course is a widely accepted Agile competency. But Mario raises the bar by taking the reader through both a formidable introduction to Agile, and then a deep dive into Configuration Management as adapted to Agility. Mario discusses variant management practices, including branching, that help to implement Agile practices as well as minimizing merging. There is discussion of how to implement code management strategies for refactoring. There is also discussion of practical approaches such as Paired Programming.
Testing Anyone? Mario describes using Configuration Management to support Test Driven Development (TDD) including “testing with teeth”.
Dare I Mention Creating a Plan? Planning is not often on most Agile developer’s preferred practices, but Mario manages to describe an adaptive approach to CM Planning that focuses on an evolutionary approach applying an iteration “0” to get started along with adapting CM roles and responsibilities in a Lean and Pragmatic way. Mario moves us away from the typical big-effort-up-front (BEUF) to a more iterative approach.
Core CM is Not Forgotten Baselining and the Build are also explained along with other essential configuration management core competencies including Distributed Development, Problem Management, traceability, CM Audit, and CM Reporting. Mario makes the proper distinction that while Agile facilitates change, CM enables the change in a controlled manner. These two approaches make for a very powerful combination.
Product Centered View The book takes a strong product view of CM to support the Agile development effort that is perfectly in alignment with becoming Agile. You can expect to learn a lot about Agile practices in general and, of course, CM as well.
Scaling Agility One of the biggest challenges today is adapting Agile to scale to large organizations. This book discusses many of the essential configuration management practices that you need to implement in order to be effective in the real world. For example, Mario explains how to establish an infrastructure and tools for Agile. Damon Poole contributed an excellent chapter on CM tools and I enjoyed writing about using CM Standards (e.g. IEEE 828) and Frameworks (e.g. Cobit, ITIL) in an Agile context, when your organizations needs to be in compliance with industry standards.
Pit stops ahead! The book includes convenient "Pits Stops", which are framed text scattered throughout the book to provide readers with the highlight of a particular section. This helps those who are browsing the book get a sense of the topics of each section.
My Recommendation There are very few really good books on configuration management and this is the only one of its kind because of its approach and outlook. I am recommending this book to anyone who wants to succeed in Agile development. Mario’s treatment of the material is authoritative, detailed and provides an approach to achieve the synergy of Adapting Configuration Management to Agility!
Bob Aiello is the Editor-in-Chief for CM Crossroads and a Software Engineer specializing in Software Process Improvement including Software Configuration and Release Management. Mr. Aiello has over 25 years experience as a technical manager in several top NYC Financial Services firms where he had had company-wide responsibility for CM, often providing hands-on technical support for enterprise Source Code Management tools, SOX/Cobit compliance, build engineering, continuous integration and automated application deployment. Bob is the Vice Chair of the IEEE 828 Standards working group (CM Planning) and is a member of the IEEE Software and Systems Engineering Standards Committee (S2ESC) Management Board. He is a long standing member of the Steering Committee of the NYC Software Process Improvement Network (CitySPIN), where he serves as the chair of the CM SIG. Mr. Aiello holds a Masters in Industrial Psychology from NYU and a B.S. in Computer Science and Math from Hofstra University. You may contact Mr. Aiello at raiello@acm.org or link with him at http://www.linkedin.com/in/bobaiello
Trackback(0)
Comments 
Write comment
 |