What is a CM Tool?


agile). If the project team is following agile methods, there may be a strong need to support continuous build upon check-in, the a stronger need to support unit testing within the developer’s workspace, a need for a flexible process, and a strong need for refactoring support.

The context also becomes input into expanding the requirements. Consider if the project you intend to implement CM is distributed across several sites. Might this change the type of version control that is needed? Would the “version control” capability be further divided into a requirement that calls for version control that works across multiple sites (e.g., a replication capability of the version control repository) and a requirement to provide flexible branching and merging?

The CM Tool (or Tools) for You
As you conduct the evaluation process, you may find that one CM tool meets all of your required capabilities and requirements therein. However, you may also find that your requirements are not met by one tool. In this case, it may imply that you end up needing two tools (or more) to meet all of your CM needs. This is not unreasonable, in part because there is yet to be a CM tool that meets all of the practices and processes of CM.

CM can mean different things to different people. Does “control” in CM mean managing all baselines or just the code baseline? Agreeing on exactly all of the CM capabilities is not the point. The point is to ensure you are clear on what possible CM (or CM-related) capabilities there are and then deciding which ones are important to you. By first identifying and understanding the capabilities, provides a good starting point to identifying your needs and then further drilling down to capture requirements for the CM tool evaluation. Then by understanding the context you are working in (e.g., methodology of the development team, the distributed nature of the work, etc.), can help you tailor the tool need for the team.

So, the next time someone asks you, “What is a CM tool?” you can respond that there are a number of areas that CM covers, so it depends on which CM capabilities are best for them and their situation.

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!