From Seapine Labs
[edit] Top Five Tips for Selecting a Software Configuration Management Tool
By Patrick Burma, Sales Engineer, Seapine Software
Over the years, I have helped hundreds of companies evaluate and select software configuration management (SCM) tools. This can be a daunting task, so I decided to share my top five tips.
1. Review the Fundamentals
- If you have never used an SCM product, or have only used one or two programs like VSS or CVS, this is a good time to brush up on software configuration management. If you do not know much about SCM concepts, I recommend reading Practical Software Configuration Management. This book covers the basic configuration management concepts.
- Once you are ready to delve in deeper, I recommend reading Software Product Management Essentials. This book deals with the management aspect of the software development lifecycle (SDLC), which is important because the SDLC process will be tightly woven into the SCM product. It is important to know what type of SDLC process will be used before you select an SCM tool.
- Finally, I suggest you read The Importance of Branching Models in SCM. This IEEE article, which can be downloaded from Seapine’s Web site, describes how the branch-by-purpose model offers better support for parallel development efforts and how to make the development process much more effective.
2. Determine your SCM Needs
- It is important to determine your SCM needs. Take the time to gather requirements such as the number of users, the database size, and security requirements. Do not make the mistake of thinking every open source and commercial SCM tool on the market is the same. More expensive tools, like IBM’s ClearCase, are designed for larger scale high risk environments. Less expensive and open source tools, like CVS, are intended for smaller groups and focus on speed and simplicity. A requirements document will help you remove tools from consideration.
3. Compare Products
- At this point, you should have a clear understanding of your SDLC process and your SCM requirements. Use this information to compare SCM tools. Start by visiting vendor-neutral Web sites, such as CM Crossroads, to read what industry experts and other users have to say about SCM tools. Visit vendor Web sites, attend webinars or online product demonstrations, and download literature to learn more about specific tools. The requirements document can help you stay on track and quickly decide if a tool should be on your short list of products you want to evaluate.
4. Evaluate Products
- Finally, it’s time to evaluate. Make sure you use real data, real situations, and as many users as possible to test drive the system. Of course, you should back up any data before adding it to an SCM tool you are evaluating.
- Keep the requirements document close by while you are evaluating. If a tool does not meet a requirement, you know it’s the wrong tool for your organization. If you are going to implement a new SDLC process, this is also a good time to try some of the key concepts of that process. For example, if your organization is considering switching to the branch-by-purpose method described in the IEEE branching models article, set up the tool you are evaluating to support that model.
5. Time to Buy
- Now comes the easy part—buying a tool. In many cases, you may find that a couple tools meet your SCM requirements. Take the time to factor in other intangibles such as price, nice-to-have-features, and the responsiveness of the customer support organization. Implementing a new SCM tool takes time and resources, and it’s not something you will do frequently. Take your time, do the research, make a well-informed decision, and you’ll be sure to select the right SCM tool.