In his CM: the Next Generation series, Joe Farah gives us a glimpse into the trends that CM experts will need to tackle and master based upon industry trends and future technology challenges.
This month I thought I would write an article from a vendor's perspective. As vendors, what do we need to do to help the CM and ALM industry move forward? This, in itself, is a loaded question because forward assumes a starting point and the industry is not at a common starting point. There are mostly second-generation solutions out there, with many vendors trying to build third generation functionality onto them.
There's a problem there. Elon Musk may have said it best after the splashdown of his Dragon capsule this month, when he said that when you assume existing technologies, you assume their cost structures as well.
Trying to build the next generation space access vehicle from components of the Space Shuttle (i.e., STS) may save some costs in some parts of the development, but overall, the solution will be relegated to the cost structure of STS. The Falcon/Dragon technology of SpaceX started with a few key principles which has allowed SpaceX to set themselves apart from the others:
- Build what we need internally (keep control of our destiny)
- Use common technology across the subsystems and products
- Perform extensive testing, with heavy automation
- Create the ability to react quickly to problems
- Keep administration and overhead low.
- Reuse components where possible (that is, reuse of the rocket/capsule for a second launch)
Elon, diplomatically, also said that the NASA-Commercial partnership works. They've proven it. It does work, but only with the right commercial partners, as we're sure to see in the future. NASA, to their credit, recognizes that not only do they have a lot to teach SpaceX, but they also have a lot to learn from SpaceX. Except for a launch escape system (which the shuttle does not have), the Falcon/Dragon is very close to having the ability to support manned flight, at a small fraction of the cost of any previous US-manned space program.
How does this apply to ALM? From a vendor perspective, it's not easy to just throw everything away and start over again. That doesn't mean we can't offer more and more functionality and capability. It does mean that without a fresh start, what we produce is constrained, in cost structure and architecture. Let's look at the past to a few examples.
In the 1990 time frame, Atria took the experience of the Apollo DSEE version control model, and applied it to a new product, called ClearCase. Had Atria attempted to build out from Apollo DSEE, they would have carved out a nice little niche market rather than taking the market by storm. ClearCase has been dramatically successful, though its 20-year architecture is showing signs of constraint. Still, a little polish here, some new infrastructure there, and a nice product evolves in 2010 (RTC). Is it a full 3rd generation CM/ALM product? Yes and no. Lots of 3G capability from the end-user experience, lots of 2G from the back end. But that's because it is somewhat constrained.
In the mid-90s, Perforce started from scratch with a product. Again, this was very successful again. Primarily this is because they were unconstrained in their approach. They were able to say, "We don't want the admin headaches that other tools show," and also, "We can't have the performance issues characteristic of the leading vendors". With those goals in mind, they successfully created their CM product.