Creating a New Configuration Management Infrastructure
Is everybody aware of what SpaceX is doing to the space industry? Take a look at these recent comments by Elon Musk, founder of SpaceX. Many in the industry are trembling because SpaceX is offering launch services at a significant discount over traditional providers. But that’s not the goal of SpaceX—not at all. That’s just an early by-product.
SpaceX’s goal is to rework the entire industry infrastructure, from discounted launches to figuring out how to get launches down to 1 percent of its current cost. SpaceX is doing this not by building cheaper launch vehicles but by replacing the existing launch paradigm with an infrastructure that supports reusable vehicles. And if (and when) this is successful, that trembling will turn into catastrophic earthquakes for the rest of the industry— unless, of course, others decide to come on board with the vision.
Configuration management (CM) is a lot like the space industry. Instead of Atlas, Delta, Saturn, STS, Soyuz, Ariane, and whatever else is used to launch spacecraft, we have ClearCase, Perforce, Subversion (SVN), GIT, and Dimensions. And the list keeps growing.
GIT and SVN are some of the more recent tools with the least advanced offerings available, but they’re acceptable because they are free—truly free, as long as you ignore all costs other than licensing of version control capabilities. In fact, they are a different take on an existing theme: using the same infrastructure. While advances are found in the price, they don’t even have decent repository and process capabilities.
If you want to move CM ahead, as discussed in the LinkedIn discussion about CM 2.0 and 3.0, start with a clean slate. Begin with a repository that deals with real world objects, including relational data, data hierarchies, traceability links, descriptions, abstracts, pictures, documents, document revisions, data revisions, audio, video, and so forth.
Add in a process engine that can deal with all business processes, including CM. Throw in a user interface generation capability for rapid generation of dashboards and other role-specific interfaces. Make it fun to use.
OK, that’s a start.
Now get rid of all administration; allow same-day role customization; ensure easy global access and built-in disaster recovery and backups; provide easy, fast customization capabilities and a modular extension capability; and add in mission-critical reliability.
What have we got? A new CM infrastructure that will do, not for CM 2.0 or 3.0, but for CM N.0. Now build your processes and tools on top of this new infrastructure capability. Take a look at Jazz and CM+ to get some ideas on how we might start to move to such a CM infrastructure.