Is Software Configuration Management Regressing Due to Tools?
Configuration management expert Brad Appleton, in a recent LinkedIn discussion, asked if software configuration management (SCM) should be known as CM 2.0. This led to a discussion of how some open source SCM tools, especially GIT and Subversion (SVN), are leading us backward instead of forward. Another LinkedIn blog on GIT and Subversion continues the discussion.
There are some good points made on both of the discussions. Both Subversion (SVN) and GIT are low-level tools. On their own, I would call them first-generation SCM tools even though they are much more capable than the original source code control system and concurrent version system tools. But take a look at the definition of CM generations and you’ll see that they are clearly first-generation tools.
First- and second-generation (1G and 2G) tools imply one thing for certain—lots of scripting! Scripting hides process and impedes the rate at which processes can mature. For sure, GIT and SVN are impeding CM process but only because of their wide adoption.
There are numerous vendors who have add-ons for these tools that beef them up and turn them into 2G tools. But there is a limit to what can be done when you start from a fragile architecture, and that limit is not the fault of SVN and GIT. They just provided the marketplace a perceived need for better, free version control software. And the cost of existing tools, such as IBM’s ClearCase, provides the impetus to jump ship.
CM professionals need to do a better job of looking at what’s out there in the market before jumping ship to an open source solution. Vendors often can be blamed for this as they focus on their features rather than the real needs of the industry.
Indeed, few CM tools make much headway after one or two major releases. But some do. Others stagnate, and the leading commercial tools tend to be the main culprits. Again, it comes down to architecture. I speak about that in Brad’s discussion post and even point to this CM+ concepts and overview document as an architectural example.
But who’s got time to read? Yes there’s a lot of help out there in the open source world, but why spend all your time getting help on how to build a tablet when there are great tablets out there? The answer is simple: It’s a lot more fun to build a tablet than to buy one, and the costs are buried in salaries instead of standing out as capital costs.
Maybe it’s time to realize that you don’t have to start building with hammers and chisels. Building can be fun using table saws and routers, too. And it can be more satisfying.
So what tools do you use to build and advance your CM process?