Applying Configuration Management to Agile Teams

A variety of agile software development methods and practices have now been around for a solid ten years and existed for at least another ten years prior. Configuration management (CM) for agile development has now been discussed since the turn of the century. So what are the core principles of CM and how can CM help agile teams?

CM is a recognized engineering discipline that provides processes and technologies to identify and control items to ensure integrity and quality of the product under development. CM focuses on four principals that include identification, control, audit, and report (aka status accounting). Typically, the four principles are instantiated into version control, change control, problem management, build management, release engineering, CM audits, and metrics and reporting on CM activities and baselines. Simply put, the key to CM is that it enables development teams to identify the pieces that make up an application. By identifying the pieces, an application or organization is better able to control changes to the pieces, therefore the environment. So what does this mean to agile? Are these principals relevant in an agile development?

The short answer is yes.  “Identify” and “control” are critical to the ability to rapidly change which is a key part of agile. The long answer is that CM should be tailored to meet the pace of agile development. CM should support the agile working process while not sacrificing the CM principles. CM should ensure the integrity of the value stream, by eliminating waste and being lean while enabling control of the changes. Part of this means that what gets prioritized or ranked as having the highest value is what should get delivered. By identifying all of the pieces of a value stream, you can more easily identify the waste. There will always be rejected work, incomplete work, and defects by the end of an iteration, and CM principles can help identify them.

Adjusting CM for Agile
Now that agile has been around awhile, it is important to understand that the implementation of CM should be adjusted to ensure agile principles remain intact without damaging any of the CM principles. Keep in mind that identifying, controlling, auditing, and reporting are CM principles that are agnostic to the development methodology applied. As long as the CM principles remain intact, CM can be applied in different ways per the need of the development methodology.


About the author

Mario  Moreira's picture Mario Moreira

Mario Moreira is a Columnist for the CM Journal, a writer for the Agile Journal, an Author, an Agile and CM expert for CA, and has worked in the CM field since 1986 and in the Agile field since 1998. He has experience with numerous CM technologies and processes and has implemented CM on over 150 applications/products, which include establishing global SCM infrastructures. He is a certified ScrumMaster in the Agile arena having implemented Scrum and XP practices. He holds an MA in Mass Communication with an emphasis on communication technologies. Mario also brings years of Project Management, Software Quality Assurance, Requirement Management, facilitation, and team building skills and experience. Mario is the author of a new book entitled “Adapting Configuration Management for Agile Teams” (via Wiley Publishing). It provides an Agile Primer and a CM Primer, and how to adapt CM practices for Agile Teams. Mario is also the author of the CM book entitled, “Software Configuration Management Implementation Roadmap.” It includes step-by-step guidance for implementing SCM at the organization, application, and project level with numerous examples. Also consider visiting Mario’s blog on CM for Agile and Agile adoption at

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!