And what's more, things just got worse. CM became ALM. We didn't have just one tool or vendor to deal with, there were several. And when one was upgraded to provide features we'd need, the result was that the entire solution of tools was no longer compatible and needed additional customization just to get things working properly. Upgrades became time-consuming and expensive.
The Next Generation
So how do you eliminate all these problems? What's the solution? Many will claim there is no solution; that's just the way things are. As a result, many companies defer CM until it is "absolutely necessary," as if it weren't from the start.
A successful CM/ALM strategy starts by looking at all of CM and ALM. Not just the technology. Not just the CM manager and developers. Not just the process. There are other things like: cost, vendors, product team, customers, time-to-market, product management, availability, solution longevity, ALM lifecycle, corporate culture, changing technology, global teams, training, reliability, and asset security.
Add these to the mix, and then start on your requirements. Then, and only then, work out your CM/ALM strategy.
We know the "old way" (you start with tools), and the "process is king" days (you start with process). In the next generation you start with capabilities. You want to ensure that your tools have certain capabilities and that your process can be implemented given that set of capabilities. More than that, you want to be sure that the capabilities allow your process to change as necessary, and that the capabilities presume a certain architecture within your tools.
But you have to be aggressive with your capabilities. It's not enough to be able to specify your process. You need the same process tool across the entire ALM solution. You need to share data across the solution. It's not good enough to be able to make changes. They have to be made quickly and easily, not tying up resources or causing delays. I don't want to reduce my administration team from six persons to three—I want to virtually eliminate the need for administration.
And with the ALM and CM features it’s the same. It's not good enough to improve the quality of our CM process; it needs to be fully automated so that it continues to improve in quality over time, and so that it isn't impacted by typos, vacation time, or tiredness.
The Requirements for Building a Strong CM/ALM Strategy
A good CM/ALM strategy must start with a clear understanding of your requirements. A strategy that says, we'll just worry about the next two years and get a better strategy in place then, is sort of like saying—we'll finish the house first and then worry about plumbing, heating, and electricity later. Don't waste your time. Understand your CM/ALM requirements up front.
It's not a strategy just for your project. It's a strategy for your organization and even for your customers and vendors. It's a strategy with a mission that says we won't settle for anything but the best, but we're not willing to give away the company to get it.
So what are some of the key requirements that will lead to a successful strategy? You've heard them from me before:
- Low Total Cost of Ownership (TCO): I want tools and process that are going to give me an overall low cost.
- The Best Technology: I'm not looking for the market leader. I want to know what all of the tools can do.
- A Team Tool: Not what my developers say they like—what my team needs.
- Product Quality and Product Requirements: This is not just a design issue—it's an ALM issue.
- CM Tool Reliability and Availability: If I don't have accurate data always available, it costs a lot.
- Longevity: I want a tool that lasts the entire product lifetime, whether one year or thirty. It's too hard and costly to change.
- Corporate Culture and Process Constantly Changing: It's got to meet our corporate culture and process requirements—not the vendor's. And our needs will change!
- Global Operation: My team is globally distributed and so are my customers. The solution must support this.
- Low Training Costs: I don't have time for training the entire product team to use the tools. I'll give you a few hours, maybe more for CM staff.
- Mature CM!
Ask for the world, and you'll never get a solution that fits. What's the point?
That's old school thinking. There's stronger technology out there than what you're familiar with. Put the requirements out there and someone will meet them. If you chase the market leader or an open source solution, you'll satisfy some of the requirements. If you go for a next-generation solution, you'll be pleasantly surprised.
Your CM/ALM strategy must include a next-generation solution. Why? Because these very requirements define the next-generation solution. you look at the a solution only for your developers or a solution that doesn't cost anything, or one that everyone seems to be using, you'll leave yourself with the same problems, only with different parameters.
In "The Next Generation: 10 Requirements for Your CM/ALM Strategy," I take these requirements and examine them more fully.