Wednesday, December 24, 2008

Software configuration management software

I've been using ClearCase for approx. 13 years. I've been there, done that, and got quite a few Atria, Pure Atria, Rational and IBM T-Shirts over the years. Not to mention a few conference rucksacks and even a pint glass! Just recently I was reading Linux Magazine and read about another new software configuration management (SCM) tool, PureCM. Which interested because...

I was at an IBM seminar recently and saw some presentations about Rational Team Concert (RTC) for the first time. I was reminded of a bunch of presentations given 6, 7 or 8 years ago by Rational/IBM - my account manager at the time had told me that they were going to consolidate their tools so that there would only be a couple of tools left. Everything went quiet for such a long time I thought that the idea had been shelved or that someone had realized that having half a dozen to a dozen point tools at a slightly lower price would generate more revenue than a couple of more expensive tools. So it does now look like ClearCase, ClearQuest, ReqPro and a few other tools have now effectively been superseded by RTC. Although you can plugin ClearCase, ClearQuest and ReqPro to RTC the best reason I can think of for doing so is to ease the migration to the new tool.

So given that you are going to start again with a new tool, why not play the field and see what else is out there.

If you are going to pay for the tools then the two SCM tools that I would consider in addition to Team Concert would have been Accurev and PlasticSCM.

I've long wanted to actually put Accurev through its paces in anger. Its implementation of streams is far superior to that of ClearCase UCM, which can be considered some sort of half-*rsed after-thought. Although UCM has gotten smoother recently. From friends who have used Accurev in anger, I've heard that it does enable multi-site use of a single branch without resorting to some of the nasty hacks that have become second nature to ClearCase old-timers. The reduction of merges and regression testing builds that must provide might well be sufficient to consider or investigate a migration.

The feature of PlasticSCM that first caught my attention was the security model, which again was far superior to that of ClearCase. ClearCase, and DSEE before it, were designed by old time UNIX engineers and so utilized the octal user, group,others builtin permissions. PlasticSCM utilizes ACLs, like you'll find in Active Directory, which can be applied to almost any item: elements; streams/branches; individual versions; labels; etc. So much more flexibility.

But looking at the documentation for PureCM, it looks like it might be an acceptable alternative. Given that the tool apparently runs on Apples OS X, Linux, Solaris and Windows it is interesting that the feature comparison they chose to make was with VSS. I suspect that Windows may have been their most successful platform to date. The changeset functionality seems similar to that of Perforce. The builtin issue tracker is similar to Trac. The plugins for CruiseControl and FinalBuilder (a new tool for me - one I'm going to have to take a look at) are also a step in the right direction as RTC has built in build management - actually rather sophisiticated build management.

I do not have a conclusion. There isn't a prescription that all can take. Which is one reason there are so many SCM tools out there. This article is really another starting point for further blogs I'll be writing.

No comments: