My Octopress Blog

A blogging framework for hackers.

SCM Continued

In my last blog post I talked about a maturity model for source control systems. Martin Fowler has recently posted a blog entry that covers the same topic:


One of the reasons that Paul and I thought a maturity model for SCM was interesting, was that it brought objectivity to the debate.(or at least tried to) It seems far too subjective (and easy) to break SCM systems down into two categories: usable and unusable. For me personally, I would list ClearCase in the ‘unusable’ category. However, despite it’s shortcomings, thousands of programmers use it on a daily basis. Therefore, it can’t be ‘unusable’. What it boils down to though, is that for me personally, given what I find important when developing, ClearCase is a tool that I feel prevents me from coding effectively. If someone else doesn’t hold these same values to be important, perhaps it changes what they view to be usable.

Martin takes an interesting twist with his article, in that while he still uses two groups, his dividing line is on ‘recommendability’. This is still a somewhat subjective measurement, especially since his focus group was us ThoughtWorkers. But after reading the responses to my last blog post, a common theme seemed to come from those using ClearCase. They were willing to defend it as ‘usable’, but not a single one that I read would recommend it. This mirrors some of my project experience as well. I’ve even known some ClearCase admins that would argue with me at length about how ClearCase isn’t that bad, as long as you ‘used it right’, and yet even they wouldn’t recommend it as a source control product. Perhaps it’s much more useful to ask a client if they would recommend their SCM to others, rather than arguing about why you don’t think it’s the best solution. Afterall, if they wouldn’t recommend it to others, why are they still using it?