Applying Configuration Management to Agile Teams

[article]

Also, it is critical that a successful build occur in the private workspace with the local changes and the latest baseline of code from the parent or backing stream prior to promoting or checking in the code to the parent stream (note, this is a good practice irrespective of the development methodology used).

The ability to perform continuous builds also implies that you have both the tools and processes in place to manage this frequency. Implementing build tools such as CruiseControl or BuildForge (and there are many others) will help to achieve this. Another option is to script a build function upon check-in.

In addition, there is a strong need to understand the current build practice and adapt it with the build types that are needed (private, shared, integration, release) and levels of builds (component, product, etc.). This helps determine where the bottle-necks are - ergo, where the waste is.

Workspaces, Branching, and Merging
In Agile, everyone should have their own workspace. There may be a need for shared workspaces if pair programming is being used. This way, the same two people can share the workspace and changes therein. Most of the time they will work together, but sometimes they may need to work separately.

The number of branches that are needed depends on the agile project and how it integrates with other projects. If the Agile project is small and independent of other projects, having a private workspace off of the mainline is not unreasonable. However, as the team gets larger, the need to have another layer of integration between personal workspace and main-line may be needed, but one should attempt to keep this a minimum if possible to reduce effort in integration.

With the rapid pace of agile also comes the potential need for automated merging. Most CM tools today come with this feature so this should be a given in most cases. If not, consider upgrading. This becomes more of a need the larger the agile project is or when more people must touch the same code modules.

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 http://cmforagile.blogspot.com/.
 

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

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