Original URL: http://www.theregister.co.uk/2007/07/30/plastic_scm/

Codice Software shows off new SCM tool

Plastic fantastic

By David Norfolk

Posted in Developer, 30th July 2007 14:58 GMT

There seems to be a bit of excitement in the ALM (Application Lifecycle Management) world just now. As we predicted, the big boys are fleshing out their offerings by acquisition – and exciting new products are appearing.

At a recent BCS CMSG gathering, we were rather taken by the intriguingly-named Plastic SCM (Software Configuration Management) tool from Codice Software, a Spanish company headed by Pablo Santos.

But we were even more taken aback on visiting its website to see it claiming "CMMI Certification". You can't certify to CMMI, you are assessed or appraised using the Software Engineering Institute's (SEI's) SCAMPI (Standard CMMI Appraisal Method for Process Improvement) appraisal process and you are appraised against one of five maturity levels (ML1 – 5, 5 being Nirvana, especially in India).

The appraisal has a scope (has the whole organisation been assessed, or only part of it); and, importantly, a limited lifetime. We are prepared to get quite annoyed about spurious certification claims, but it seems that what Codice is actually doing with CMMI is still more-or-less loyal to its spirit.

According to Santos, the assessment is only partly for "image" (Codice is the first Spanish SME, he thinks, to be assessed at any CMMI level) but also to ensure that Codice doesn't depart from its avowed Agile process (Scrum and so on).

As Santos says, i's easy to say you follow Agile practices when all you really do is agilely cut corners; CMMI-appraised institutionalised process helps ensure that you maintain your Agile focus ("do what we're supposed to do", as Santos puts it).

This is a much better reason for appraisal than building image. CMMI "certification" won't mean much to anyone who doesn't know CMMI and probably won't impress anyone who does (although Santos claims that "even the SEI consultants call it certification", which I can believe, although it rather saddens me).

Codice was appraised at ML2 on15 March 2007 (see the SEI's published appraisal results here - you should always verify such claims) and is now working on ML3 – which is realistic.

So, we have another SCM tool to put up against, for example, Perforce and Subversion (see our evaluation of those two here – older tools such as CVS and SourceSafe really don't count these days). Plastic comes from an Agile company with some focus on Process and, therefore a probable ability to deliver on its vision.

What makes Plastic SCM different?

According to Santos: "Plastic is much, much better at handling two big issues: branching (and merging) and security. It also provides new graphical views, but just branching is key to making a difference."

We actually think that might undersell the importance of visualisation for item histories and the life of the Repository, but that's something you'll have to investigate for yourself (you can download a trial version of Plastic SCM here).

However, branching is key to SCM and, in practice, a lot of teams follow a mainline branch most of the time (Santos claims), with well-defined and limited branching, because of the overheads of managing branching – even when using products like Perforce and Subversion, which handle branch/merge reasonably well at the directory level.

Plastic apparently allows ad-lib branching at the developer level without problems and can handle thousands of branches sensibly (Plastic development itself uses Plastic, with over 1,300 branches). This article isn't a product review, so this is an aspect readers might want to investigate for themselves.

A key piece of the Plastic system is, apparently, something called "Selectors". We asked Santos just what these are: "That's a pretty good question. Well, the selector is close to the Clearcase config_spec. It's a way to specify what a developer (or a project manager) wants to work with. You could select parts of different repositories, for instance."

Reading the Plastic website, there's plentiful discussion of other SCM tools (and a healthy obsession with being "Fast SCM" like Perforce).

One tool we weren't very aware of is GIT, the Open Source version control system used for the Linux kernel and enthusiastically, almost fanatically, supported by Mr Torvalds (see here).

Santos doesn't think there's a Windows port of GIT, but he sees it as "bringing branching to OSS developers. Yes, it is distributed, which is cool, but basically it is allowing developers to enjoy private branches, something that Clearcase, Accurev and, by the way, Plastic implement perfectly".

Santos sees "version control" (which is, to us, just a subset of configuration management) as one of the three fundamental pillars of construction. "Requirements are important, builds are important, but, if I had to choose a place to start with... I would go for task [management], version control, and testing. Then I'd build requirements on top and all the rest [he sees build management, for example, as part of SCM]. "But 'on top', not before," he emphasises.

It all adds up to a strong SCM vision. The devil is in the detail, of course, and we can't really say how it compares in practice with more established products yet, but we do think Plastic is well worth looking at. Santos does seem to focus on the real needs of developers rather than just managers (one key to Perforce's success, remember) and thinks in terms of what will work for smaller companies as well as the enterprise.

Version 1.5 of Plastic SCM has just been released (see http://www.plasticscm.com/xsfront.aspx). Work continues on adding full support for distributed development, well beyond (Santos claims) that offered by other SCM tools, and better import/export support for other tools.

Follow progress on this in Codice's blogs here. ®