ClearCase as a leading indicator of small technology company failure

Is it just me or is ClearCase
a leading indicator of small technology company death? I've never used
the product, never even seen a demo, and yes, I know,
they position themselves as software asset management for
medium to large teams. The question comes from the fact
that the only people I know that have used ClearCase have used it
in the past, all at small technology companies, and they all,
without exception, are companies that have gone out of business.

So fill up the comments with your experiences with ClearCase, good or bad,
hopefully with someone from at least one small technology company
that has succeeded inspite of deploying ClearCase.

I can't speak for ClearCase, but I worked for a small tech company that nearly destroyed its market share using Rational's "Unified Process." We didn't recover until we dumped all the weight and moved to something more XPish. Rational is where ClearCase originated.

Yes, seen it happen at a .com. They tried to get clearcase (and the paradise of clearquest integration) going for years, while the dev team plodded along using visual source safe (horrible, but it worked... as long as you don't try to branch.) The company was delisted, almost went bankrupt, then sold itself for pennies a share. Then again, it's hard to blame clearcase when the place was offering free overnight shipping on every order.

An ever surer sign of impending doom: the email that comes out from some new vice president you've never heard of, announcing the deal just signed with $MAJOR_VENDOR to implement AN ERP SYSTEM. When you see this, you are already dead.

Actually, Clearcase originated at Atria and was designed by defectors from Apollo Computers back in the late '80s. I was supporting Apollo dev tools back then when HP bought and dissected the company, and I was one of the original tech supporters of Clearcase. Even caught one of Paul Levine's marketing talks for 1.0 beta.

Last I used it was 5 years ago with the Chandra X-Ray Observatory project, which worked well since that project was fractured among many companies and locations around the country and had a large diverse code base. But after 5 years in the eCompany space I'm not sure who uses it anymore or why.

Clearcase is neat in a large, multi-team environment, but yes, I can see why it would be the death of a small company.

The worst thing about Clearcase is Rational's attempts to integrate it with the rest of their product range, ClearQuest in particular. The best thing is the ability of a central SCM-guy to keep many teamsworth of source code under some kind of control.

Whoever said that ClearCase has the worst web interface ever hasn't used ClearQuest. We had a vendor who required us to use their ClearQuest server to handle tickets during QA and it was a painful effort. FogBUGZ has some issues, but it's at least quick and easy.

I used it once when I joined a company for a short term contract. The company is still there but I really do not think it will be there next year... if comments are still opened next year, I will confirm this ;)

They had an actual team of 5-6 people devoted to managing that beast. 5 experts that touched ClearCase all day long. As a new developer there, it took me 2 full weeks to manage to get a build working on my machine. Some will argue that the build has nothing to do with ClearCase and you are probably right. But the complexity of things like managing branches caused developers to be lazy and almost never do full updates to newer code. Result: Daily broken builds.

This was (is) no small project: 50 developers working on all tiers of an amazingly complex J2EE application built with WebSphere. Before joining this company, I thought I had seen all nightmares out there. I had not. ClearCase's setup, complexity plus code organization was a huge part of this nightmare.

We used the Windows client. I also remember that for certain operations, we had to login to a unix box and use X to do other specific things (I do not remember what though) not available on the windows client. There were ClearCase admins available 24/7 to support developers that were working around the clock.

ClearCase is failure, whether the company is big, medium or small. Projects that use it are incapable of recognising their impending death.

Some managers like to buy things that they don't understand - they think they must be impressive. But sometimes they just don't work, and that's why they don't understand them. Developers suffer.

In theory ClearCase can do some things that CVS (or similar) can't. In practice, you don't need to do those things, and you'll never get that far with ClearCase anyway. Get CVS and enjoy actually being able to change a line of code now and then.

Interesting. My company just paid to have me brought up to speed on ClearCase. I don't think they will be fading away any time soon considering they have already made it past the century mark. What blows my mind is that this is only one of four versioning systems they use in different parts of the company.

Well, I used to work for a multinational that used clear case on large and small projects. It was VERY expensive, but as far as I can tell having since used CVS it is much more powerful. The branching and merging are done properly, and the tagging is also done properly (ie you can see tagged and when...). It also lets you have distributed versioning databases so that you can work in multiple places without having to depend on a central server in overseas somewhere.

The web interface mat not have been the best, but the solaris and windows interface for merging multiple streams of development hammers CVS into a pulp.

Branching is done per-file, only when a file has actually changed. As far as I can tell that's for ClearCase-specific performance reasons.

So, instead of one person at one time saying "this project has branched", and then just letting people work on that branch, this means that individual people need to branch each file before they change it,

Firstly, they forget, secondly it's very difficult to make ClearCase do this automatically, thirdly you have to tell people to make ClearCase do this automatically. But most importantly, someone working on a main branch who has no interest in a second branch, will not branch the file because he doesn't care. And then your build breaks. The CVS solution is simpler and usually what you want.

I am working on a development project, that has 500+ developers in 6 locations worldwide, with 80,000+ files in the system. We use the UCM option in clearcase. Yes clearcase has alot of annoying bits, and the admin overhead can be a big pain. BUT as an admin/developer i see alot of issues are with developer misuse of the system. they beat at it repeatidly, ignoring alot of the main concepts, and then shout when it isnt smooth anymore. And if one more developer comments about how it was much better with CVS, i will break a keyboard over their head. AND finally it can be slow, and the web or WAN options are next to useless

I guess we are a smallish company with 200 developers in our office and 800 developers worldwide working on large enterprise development systems.

We use CC and CQ tied together with UCM.
As well as being a developer I am also the admin for CC/CQ on our project.

I have to say that once you get over the initial shock of the appaling interfaces and terrible way the products interface with each other (why do they have different logins neither of which tie into Windows or Unix?), the products do what they claim and rarely need any intervention in my experience.

If you don't use UCM then I can imagine that any company is going to get overwhelmed pretty quickly but if you can live with the restrictions of UCM then I don't see a problem. Merging and versioning is all handled automatically.

I just wish that IBM would rework the products to all be on a common base so that they dovetail together, with the OS, update the interfaces, and improve the performance. (And bring down the crippling price.)

My group has used CC and other systems (primarily for worldwide multisite hardware projects) since the Atria/Rational days. Our company's worldwide software groups also use CC.

We do have dedicated CC admins, but ours generally do not dictate or enforce configuration mangement (they prefer to let projects choose their own path to success or ruin.) They just keep the multisite syncs running.

Over the years our company has developed a robust release and configuration management method on top of CC. Branches are often lifesavers, and we can reliably and automatically generate coherent releases of our designs. CC is very fast on adequate servers, and ClearMake's DOs and CRs are unmatched.

I am amused by some of the comments above and in the links, which apparently don't understand what is required by CC and what might be imposed by a clueless CC admin.

It doesn't bother me that CC implements its own filesystem and that the raw data is in some database; our RAID NAS works the same way. I'm never going to see the raw data on a disk somewhere anyway.

Given the resource (staff, hardware, etc) requirements of CC, I heartily agree it isn't for the small developer, just as a (insert-name-of-exotic-car) isn't for the average commuter. IMHO, if you can afford the infrastructure for it and you take the time to learn to use it properly, I haven't seen anything that can beat it.

I have been using Clearquest for about 2 years now. We also have ClearCase. Both are used very widely in our organization. Even though I know ClearQuest and ClearCase have problems but I didnt feel it bad to the extent described in this page.

We are planning to integrate ClearCase with Clearquest and looks like we will have to take our decision very carefully.

We use both CC and CQ in a company of around 100-150 developers. I don't think it's all that bad - granted, the interfaces are shocking and there's a bit of overhead, but I can't see it being the company-killer people are describing...

That said, after four years of CC, we're investigating other options - I gather one team is now running a CVS repository that they periodically sync with CC, and I'd like to see a move to Subversion in future.

I've used CC at a number of small and medium sized companies, and it seems to me that most of the negative comments here are based on a misunderstanding of how to use the product. As with most products, CC has a large number of features available to the user, but that doesn't mean you have to use them.

I have a team of 2 C++ programmers who have just migrated from VSS to Base CC. They use it in exactly the same way (i.e. single stream, no branching) and have no additional overhead with CC. What they do have is a far more robust system, better merging etc.

I also have a team of 6 Java programmers who migrated from VSS to CC. At first, I tried to implement the same process in VSS, as I would have done in CC. I don't think it was even possible!! Now we use CC UCM and it's a piece of cake. We have a release stream (branch), a maint stream and a dev stream. We can easily merge changes between the streams and take full advantages of activities and baselines.

As for admin, there are two of us (of the 8 programmers above) who take care of things. This basically involves the creation of new dev and maint streams at the end of a release(about 2 hours work max) - not too much of an overhead.

It seems to me that the companies wishing to use CC should think about engaging someone with CC expertise. This person should be able to set up procedures relative to their project size.

To answer the interface problems, I believe IBM is planing to build CC into the Eclipse framework. This should improve things in that area.

Phil (or anyone), do you mean a dev stream per user or a shared dev stream? For the teams that share a dev stream, are you using dynamic views (where checked-in items appear instantly in all other developers' workspaces) or snapshot views (where developers "pull" changes when they're ready to integrate)?

If you use per-developer streams (common in UCM), do you find the process of rebasing, delivering, baselining, and recommending baselines to be cumbersome? Is it clear that per-developer streams is implicitly the "edit-merge-commit" style common to CVS and Subversion, but with all the overhead of branches? (CC streams are really branches.)

We've recently ditched per-developer streams (unless there is the rare need) and use snapshot views on the mainline stream. ClearCase's support for snapshot views is a little primitive compared to, say, Subversion but is far simpler than using UCM.

I have used Clear Case for the past 2 years. I was the buildmaster/local Clear Case admin for our development teams. Clear Case is by far (out of any application I have ever used in general) the most difficult and over engineered tool I have ever used. I have spent countless hours troubleshooting it and dealing with our CC admins. It is so tightly coupled with the OS that starting up a Windows pc when the network was down caused each developer a half hour startup delay while CC tried to start itself over and over again. The merge and Diff tools are complete wastes of time. Imagine dealing with a crap tool every day you came into work. I would not recommend Rational Head Case to anyone.

I was just browsing the internet for some ideas on software development when I stumbled across this page. I've had a read through and I don't think it represents a fair argument.

I started using CC back in 97 when it was still Atria or Pure Atria (can't remember which!) and CQ from it's beta days in 98/99. I was also in my early 20's and didn't know much about config management so I was just happy to go with the flow. Basically I've just grown up with it, got used to it's quirks along the way and it's the only source control tool I've used professionally. Yes this makes be a bit biased towards ClearCase but I'm not protective of it!

I'll also admit that it took me a long time to fully understand it's methods, and error messages, but at that time the support from Atria was outstanding. Their help desk staff knew their product inside and out. If I had an issue it was usually resolved there and then on the first phone call. If it wasn't then it really was a problem and needed to be investigated. Then Rational turned up and ever since then the support has just gone from bad to worse. Now when I call I have to provide ccdoctor reports, event logs and a million and other things. This usually means a very long email trail and I've usually solved the problem before Rational bother to call me back. Now that IBM have taken over, it's even worse. First of all I have to navigate their website. Ha! At my last company we actually had an expert on the IBM website. If you had a problem you talked to him and he'd navigate their site and send you the URL! Anyway...

ClearCase on it's own with no UCM and CQ integration is a fantastic product. Companies fail with ClearCase implementations for many reasons and license cost is not usually one of them. For example,

1. The projects themselves are planned badly. I have often come in on a Monday morning to find an email saying that development on a new version started last Friday.... How on earth am I supposed to support a new release when I have no input in to it's development strategy, have no ideas about it's lifecycle and can not spend half an hour setting up the new CC environment and perhaps closing off the old one! I could go on but I think most of you will have experienced this whether you are a developer or CC administrator.

2. The CC administrator is usually some poor sole who has no idea about configuration management principles, probably didn't want the job to start with and has a 1 week IBM/Rational course under his/her belt if their lucky. Then the unreasonable requests start coming in from the management teams who think ClearCase is no more complicated than notepad and that this new CC administrator is now a guru! They want projects migrated within the week with no consideration for processes and policies...back to point 1

3. Branching strategies are the next big failure. Don't mean to offend any UNIX guys but ClearCase is like a UNIX system. If it can do it it will do it. It won't complain if it's the wrong way of doing it or suggest a better way. I have seen so many companies using way too many levels of branches that things become unmanageable. A project typically needs 3 or 4 levels branches - main, development, integration and possibly task based branches. Again, back to point 1. Consultation between admins and managers to understand expectiations and plan a strategy.

ClearCase is just a database like any other. Take Oracle for example. If you just slap in a bit of SQL and hope for the best then you might as well use Access. Instead you have to write triggers, procedures, packages and build tools around it. And, as with any database, you have to plan it.

In terms of overhead, ClearCase maintenance should take no more than 3 hours per week. The rest of the time the CC administrator should be writing tools such as build scripts, reporting queries, triggers, automation tools, CM policies/strategies and just generally improving the environment. i.e. things to help developers and keep the boss happy!

I have never had a project fail because of a ClearCase implementation (even with UCM) and I would also expect that those small companies that went under probably would have anyway regardless of the version control tool. Saving the AU$200,000 spent on licensing would probably not have saved the company anyway.

UCM... hmm! First of all this is targeted at managers especially non-technical ones. They like the fancy pictures and models of their project's development. I was disgusted at IBM/Rational's sales pitch (I heard it last week) because, for a non-technical manager, it's like giving candy to a baby. It just gets gobbled up. I personally think UCM should be wiped from this Earth and that anyone who thinks UCM is the solution to their problems or project should be shot! Having said that my boss wants the full UCM rollout..... I know I've just been very harsh but in any event any failure of UCM comes back to points 1, 2 and 3 above. Whether I like UCM or not is irelevant.

The ClearCase Exploder GUI? Let's just say ?bring back ClearCase details?! Why do I need view shortcuts. I'm an administrator and chances are I created most of the 2000 views on the network. I don't need 2000 shortcuts!

I usually work for corporates, oh and by the way, my last job was to support 1500 developers in 8 sites across 6 countries. I was the only CC administrator until I trained someone else up. Total time spent on CC maintenance was probably 1 day a week usually less (assuming no server crashes or catastrophes). Anyway... most of my other jobs had between 10 and 20 developers which is small for a corporate. None of those projects failed because of ClearCase. Most failed because of changing times or crap management. I now work for a small company of 20 staff of which 9 are developers. They are forking out for both CC and CQ licenses at AU$13000 per CC+CQ license. If this company fails because they implemented ClearCase it won't be ClearCase's fault; it will be mine. It will be my fault for not implementing the solution correctly, for not educating the developers properly and overall for being a crap CC & CM administrator.

Problems with CC on Windows? Chances are it's a Microsoft related issue affecting ClearCase. Buy a UNIX box! Windows explorer has just locked up because my server has just crashed. Most of my other applications are now locked up too as a result. If I kill explorer, the other apps spring back to life! CCWeb, ah yes, it runs on a Windows platform and is designed for IE. Apache web server or not I rest my case.

Finally, ClearCase is not always the right tool for the job. Brings me back to point 1. Good project management means evaluating the available software and making the right choice. Whether thats ClearCase, Perforce, Subversion, Bitkeeper or even SourceSafe. It also means employing someone with the right skills, enthusiasm and passion for CM and not just re-training someone to fill an open position. ClearCase is just a tool to assist the CM process. If the CM process is flawed then the tool will fail. Managers and developers will hate it and projects/companies can fail. Back to point 1.

Well I hope I didn't bore you too much and I hope this goes through in one piece because I spent a long time writing it!

To briefly echo the sentiments of spunkboy, a fool with a tool is still a fool.

You need to know what you want to do with the tool. If you can do all of those things with another tool, more power to you.

I have made a reputation out of intergrating tools thaat aren't supposedly integrated. Base ClearCase (without UCM) is great for that because it has a lot of hooks. Granted, you have to know how to take advantage of it.

On a single OS platform ClearCase doesn't take a dedicated admin, except as you work to set it up with automating your processes and putting in enforcement triggers. I speak from 10 years experience on this.

When working with cross platform (PC to Unix), I have found it is a bit of a mess. But the mess is strictly based on crappy networking support on the PC side, not anything to do with ClearCase.

Ouch, poor old ClearCase.
I'm trying to set ClearCase up at the moment, and to be fair, it's a bit of pain in the arse. My main question is why the hell do you need ClearCase for 10 or less developers?!?!
Seems like you're using a sledgehammer to crack an egg.
I think VSS would probably do, if anything. You just need a decent, workable CM process.

Well I can see why people with little clearcase skills would not like the tool. However I can asure you in the correct hands a team using clearcase can manage change far better then a team using CVS or worse yet, no cm tool at all.

I've used CC on four projects now and they've all suffered as a result.

I do believe that CC is fundamentally powerful (in the right hands) BUT the conceptual complexity it brings is overwhelming and it outweighs it's benefits, IMO. Most developers do not have the time nor the inclination to spend the weeks learning how to use the SCM system.

As developers we have enough complexity to worry about. An SCM tool should make working with code easier, not harder.

To me, CC is a fetid putrid piece of stinking dog poop. I hate it deeply.

Hi Guys,
I was just reading all the comments made from you guys about CC. Well I've been using CC and CQ since a while already. We've started with an old IBM product CMVC. I know that many had their issues with this one as well, but you would not believe how many comapnies out there still use it. I must say that I've seen many other products (VSS, PVCS,CVS,MKS and more recently Seapines software suite), but in some of the concepts CMVC was ahead of its time.
I've originally started in a company origined in germany. We had been aquired (and later sold ) several times. When we started migrating to CC/CQ we used many concepts from CMVC (for good or for the bad).
Well overall I would not say that CC is that bad. It has many many thinks other tools don't have. But at the same time, I believe that with many tools you can make it usable for the needs it is bought for. You just need to know how.

We've succesfully used CC/CQ in a multinational environment utilizing multisite. We've managed to create (with extra effort) a distributed development environment for development around the globe and around the clock.
regards
Ray

Judging from the feedback above, ClearCase is an administrator's dream. All the control, all the features, but at the cost of being heavyweight. To a developer, it represents another complex tool to be overcome in their workday. Hence the schism evident between the developer's viewpoint and the administrator's viewpoint.

This line of discussion raises the question: who is more important to the software development process? The developer or the adminstration staff?

We've used Rational at our small (< 10 person) company for a couple of years. I wouldn't say it's been an unmitigated disaster, but it sure as hell is not worth the money. I think a lot of companies make the decision to go to Rational because Rational claims to have a process (RUP) and they convince you that you can't do RUP without their tools. They also try to convince you that every single person needs a full enterprise suite, which is crap. Companies could save a lot of money by figuring out what a good process for them actually is and THEN deciding what tools fit the bill. The most commonly used tools in the suite(CC and CQ) don't do any better IMHO than freely available ones like SubVersion and Bugzilla respectively, and the other ones like Purify/Quantify can be nice but you can probably share one or two licenses across the entire group.

Just came across this link today as company stated using ClearCase (suckered into it by a Rational Sales team IMHO as we have succesfully been using CVS for past two year with no problems)!

Quote:
"ClearCase isnt bad, clearcase in unskilled hands is."
If the tool was any good it would be developer proof! CVS up and running in less than an hour (I know a little slow) CC a week and still it's causing the development team nightmares - We will probably thorw out and go back to CVS and just let managment think using it!!!

.... Don't even get me started on the "RUP'ish" - A great process if throw out the "R" bit of it - UP as put forward in XP world great!

1. UCM is bad, very bad. It is all pretty pictures and management-speak. Anybody with a few minutes to spare can use the trigger feature available in base ClearCase to implement a much better, site-specific version of UCM without loosing many of the better features of base ClearCase. Do not use UCM!

2. Base ClearCase config specs are incredibly powerful and knowing how to at least read them is important for a developer.

3. If I gave a responsible, apparently intelligent, adult a chainsaw and they cut their leg off would it be my fault? I love the commment that a fool with a tool is still a fool. That is so true. OK, ClearCase may need a bit of thought to set up (it certainly isn't plug 'n' play) but it is worth it for the right size team.

4. ClearCase is overkill for small projects

5. CC/CQ integration is easy and in my experience has never failed

6. One company I worked at who used ClearCase very nearly went under. It was not the fault of ClearCase. ClearCase wasn't (allegedly) playing with the books, writing crap contracts and deceiving the stock market.

So in summary, don't use ClearCase if you are small because it's not worth it, don't use UCM no matter what your size, and ClearCase can't bring your project/company down without significant help and assistance.

1. UCM is bad, very bad. It is all pretty pictures and management-speak. Anybody with a few minutes to spare can use the trigger feature available in base ClearCase to implement a much better, site-specific version of UCM without loosing many of the better features of base ClearCase. Do not use UCM!

2. Base ClearCase config specs are incredibly powerful and knowing how to at least read them is important for a developer.

3. If I gave a responsible, apparently intelligent, adult a chainsaw and they cut their leg off would it be my fault? I love the commment that a fool with a tool is still a fool. That is so true. OK, ClearCase may need a bit of thought to set up (it certainly isn't plug 'n' play) but it is worth it for the right size team.

4. ClearCase is overkill for small projects

5. CC/CQ integration is easy and in my experience has never failed

6. One company I worked at who used ClearCase very nearly went under. It was not the fault of ClearCase. ClearCase wasn't (allegedly) playing with the books, writing crap contracts and deceiving the stock market.

So in summary, don't use ClearCase if you are small because it's not worth it, don't use UCM no matter what your size, and ClearCase can't bring your project/company down without significant help and assistance.