the Andrew Bailey

IBM Irrational

Since today is my last day at my current employer, I feel free to completely tear apart some element of the development stack. Let's start killing this monster by starting with anything beginning with IBM Rational or IBM Clear.

Clearcase must be the most change averse source control system ever concieved. The problem is that the business always wants changes to the software, bugs must be fixed (i.e. CHANGED), and processes optimized (i.e. CHANGED). Wait, scratch that last one. Nothing gets optimized around here. Users will happily wait at their desks for dozens of seconds at their dying Pentium 4 machines for the server to query about 40 tables for some order selection screen.

Clearcase is rooted into the operating system more than what I am comfortable with. Some months ago, the company decided to migrate all the users to some new domain. Except all the Clearcase users. When we (the programmers) finally did, it still broke. A source control client shouldn't give a crap about what Windows login you have, and a truly good system will not mind if you're on Windows or not (e.g. SVN).

All the architects here have new machines with 8 gigs of RAM and Windows 7 64 bit, while the rest of us have to make do on XP. By some unknown incantation, it works for them on their super machines. The rest of us would have 7 64 when we got these machines last April, but someone just had to ask "Are you sure everything would work?" That person should be stabbed.

Moving code around inside Clearcase is painful. I was weary of the whole thing when I started using it, and when I had to deliver something, all my fears were justified. Sometimes multiple people share the same code stream, and if anyone happens to have anything checked out, no code can be delivered upstream. And the provided "Rational Application Developer" (so called) that comes with the abomination of a system likes to check out project metadata without telling you. When everyone does have everything checked in, you might want to take a goat up to the roof and sacrifice it to some dark IBM god, just to be sure.

If it is to work properly, at least one person must attend to and maintain it at all times. We have a team doing this, and I'm not sure how they can keep from pulling their hair out. I know that I'd be way in over my head trying to work with such an uber complex thing.

By far the worst part of it is the "activities". These are things you must have in order to change/add/remove the files inside the system. I have many times had a fix ready for a bug the business emailed to us, but can't check it in or forget about it because no one's added it to the QC yet. We have a script runs every few minutes that takes items in QC and inserts Clearcase activities. I'll post more about QC later. It's not better.

Posted under Programming. 0 comments.

You can't complain about this anymore. It's perfect!