Selecting a CM/ALM tool is no small task these days. The CM/ALM tool is no longer just another developer tool, such as a compiler or IDE environment. Instead, it forms the backbone of a development organization. It will strongly influence an organization's ability to measure and control quality, meet schedules, comply to requirements and assess development costs. It will also be the central focus for all development processes. It will support a key knowledge base, and will be viewed as the vault for both software and product assets.
A CM/ALM tool is also a key communication tool. Wrongly implemented, it will impede both process and communication. Successfully implemented, it will add significant value to all users, reducing workload and providing effective decision-making capability. Looking at the evolution of CM tools, the backbone technology capabilities increase dramatically from generation to generation.
We'll look at a few key areas of evaluating and selecting a CM/ALM tool in this article, with a clear focus on the different generations of CM technology:
-
I. Surveying the Landscape
-
II. Let the Vendors Help You Create Your Requirements
-
III. Your CM/ALM Requirements
-
IV. Vendor RFIs and Responses
-
V. In-house Evaluation
-
VI. Payment Considerations
I. Surveying the Landscape
Evaluation can be a long process or a not so long process. It depends on how you proceed. It may be possible to use the input from other evaluators, but if you do, make sure you're working to the same set of requirements and make sure that the information is accurate and up to date. Some CM vendors move their technology ahead much more rapidly than others. Often some of the best solutions are overlooked or there is a bias in the evaluation due to experience with past systems.
Don't start by restricting yourself to Open Source solutions. Why? There are two big reasons: the cost of the software will not not come close to being your biggest cost, and, you'll find it much more difficult to discover advanced requirements as Open Source CM often caters to a smaller common denominator of functionality. At the same time, don't exclude Open Source solutions. It's important to measure them against your requirements and to get a feel for where they sit with respect to commercial offerings.
Don't restrict yourself to the most-used solutions. There are a few old and clunky systems out there that have been around forever, it seems, and which may have been advanced at one point in time, but perhaps are not so much so now.
Here's a set of questions to ask all prospective vendors:
1. How long does it take to install?
2. What hardware do I need to do a full evaluation?
3. Do I need additional 3rd party software?
4. Can I perform the installation myself?
5. How quickly can I load in my existing data (so that I may do a more accurate evaluation)?
6. How much training will I need to evaluate?
7. How much customization will I need before evaluation?
These questions should be a starting point. Assuming you have a fixed set of time and resources for evaluation, you may want to get a good feel for how many tools you can evaluate. Be careful not to make assumptions here. The simplest tools may be very easy to install and evaluation - but so may the most comprehensive tools. And a number of tools can eat through your evaluation budget before you have a chance to look elsewhere. I strongly recommend looking at the easiest to install/evaluate tools first. If you look at a difficult one first, you may assume that all tools will require that amount of effort and you may be much less likely to cast your net wide enough.
II. Let the Vendors Help You Create Your Requirements
Do you know what your requirements are? Have you been through this process many times before or is this the first time. Regardless, your requirements are, at least in part, formed your perceptions of what technology is available. And in fact, many get hooked on one solution just because they see some technology innovation that they haven't seen






