What’s Wrong with ClearQuest II

My long-term business partner, Trent, told me the other week he was going to write a rebuttal to my previous rant, “What’s wrong with ClearQuest“, called “What’s getting slightly better about ClearQuest”. I think he’s struggling to fill a few paragraphs though, because it hasn’t been forthcoming.

He recently wrote a reply on the forum that the admins must have deleted, completely lacking a sense of humour as they do. Anyway, it’s worth blogerising for posterity.

i am a fresher to clearquest.i am still in learning phase of it.i will be very thankful to you if some of you can give me some information on clearquest scope for career growth

In my neck of the woods you’re more typically seeing $35.00/hr for a contract position for ClearQuest admin.

Trent responded with the following:

$35/hr? To work on ClearQuest? No thanks, I’d rather stay home and pull teeth.

I won’t get out of bed these days for anything less than £100/hr if I have to do ClearQuest work. And I increase my minimum hourly rate annually at about 5 times the rate of inflation. You can be horrendously incompetent in London and still fetch £450-600/day, depending on whether your client has any idea about ClearQuest. (The hidden subtext here is that you can make a lot of money claiming to specialise in ClearQuest, and as long as no-one else in the company knows any better, get away with it even if you know diddley-squat.)

I’m always amused at the landscape of ClearQuest/ClearCase consultants, especially in London. Hardly anyone has a software engineering background or a Computer Science degree or equivalent so the bar is set incredibly low in general with regards to what’s expected of you. But really, I’m not surprised. Good software engineers get jobs as software engineers.

They don’t, however, wake up and go…

“Hey, I’d like to go into work today and use a tool for developing database-backed forms that has the look and feel of a program that hasn’t changed since the mid to late nineties, and then write code in two of the least elegant programming languages in existence — Perl and VB, neither of which are taken seriously by any self-respecting software engineer.I’d also like to write this code in an editor that has about as much functionality as notepad.exe; doesn’t have code completion or syntax highlighting without having to fiddle with an undocumented .ini file in the main installation directory. I’d also like it if the editor had a weird long standing bug where, rather rendering a tab character as eight spaces, it displays random parts of the screen buffer that happened to previously occupy the position the tab character now occupies. I’d really like it if when you first tried to edit/load a script, it would lock the entire UI, sometimes for minutes on end, and start out printing lines of code really fast, but then gradually slow down to the point where it almost crawls to a halt.

I’d like it if this development environment periodically crashed — proper crashes too, the segfaults that attempt to dereference 0×00000004, you know, the type that cause the process to abort instantly, taking all your work with it. I’d also like it if the likelihood of crashing increased directly proportional ’til the length of time since I last saved. And just for kicks, I’d want this to be a really stubborn bug that is impossible to reproduce, thus making it pointless to even report.

I’d like to design forms with a UI designer that responds to my mouse clicks about as effectively as a toddler responds to a request to overhaul the engine in the family car. I’d especially like it if when I tried to perform complex operations like, say, right clicking on an element to bring up a context menu so I could view the element’s properties, it would decide to pick the element up and move it (-3,-4) coordinates from where it was, thus requiring me to replace it so it lines back up with all the other elements. In fact, I’d prefer if any interaction with a form element resulted in an 80-90% chance of it being relocated to a new home a few pixels off. Basically, if I could spend most of my time re-adjusting form elements after they’ve magically shifted a few millimetres, I’d be happy.

What I’d also enjoy is if when I clicked on form elements, instead of highlighting that element, it would highlight a frame that is clearly nowhere near where my mouse cursor was. Or the drop-down list box from another form element that’s literally three feet away from where I just clicked. I want to have zero faith in my mouse clicks doing anything of use. I want it to behave so consistently inconsistent that the very act of simply trying to click on a form element will instil a subtle sense of impending doom that I will be plagued with for years to come whenever using GUI design tools.

I’d really like it to use a database schema that was designed 10+ years ago. I’d like it to sub-optimal indexing wherever possible. I’d like to ensure it goes out of its way to *NOT* use facilities provided by enterprise database vendors that could be used to achieve much better performance. Ideally, I’d like it if the schema was so interrelated that concurrent read/write access by hundreds (let alone thousands) of clients would either bring the system to a screeching halt for all but one user, or, depending on whether or not the database offers row-level versioning, result in such significant tempdb abuse that it would bring a tear to the eye of even the most hardened DBA (assuming they’re not already tearing up having just looked at the indexes, constraints instead of primary keys, etc). I’d also like it if it used the worst possible data types ever offered by Oracle, the LONG, and make conversion from this type to a more efficient type that can be prefetched and searched, an arduous affair.

I’d really like it if the user interface was as unintuitive as possible to users. In fact, when they tried to do actions they shouldn’t be allowed to do, I’d like to present them with an extremely uninformative ‘Permission Denied’ error; under no circumstances would I ever want the ability to raise dialogs to the user to inform them why they can’t do something, or perhaps gather additional, conditional information from them. Basically, if absolutely no effort was made to provide any extended user interaction/dialog facilities that worked in the thick client and the web, I’d be happy.

I’d enjoy if it provided a native reporting solution so bad that it encouraged users to send support requests with so many swear words the mails get blocked by internal company filters. I’d like to be able to define my report formats — that is, all the fields I want to appear in a row-based report — once and only once. Under no circumstances do I ever want to add additional fields to this report; I would much prefer to create the report again from scratch. And under no circumstance should the runtime dependencies for the reporting solution be obvious and well-documented. It should be as hard as possible to work with the reporting framework, and under no circumstance should reports that I created with older versions of the reporting framework still continue to work after installing a new version.

[I could go on forever, but I digress.]

That sort of a mindset isn’t covered in any software engineering courses I know of.

But, to rebut, everyone has a price. My price for tolerating what would normally be dismissed by any sane software engineer as intolerable happens to start at £100+/hr, at which price I’ll make ClearQuest be the ring-bearer at your niece’s wedding if you want. What colour tux?

Trent.

1 Response to “What’s Wrong with ClearQuest II”


  1. 1 PerplexedMind

    Thank you! It feels really good to hear someone else saying the (almost) exact same thing I have been saying about the IBM Rational product line for well over 2 years now.

    It just does not work in today’s environment; it has one of the worst return on investment ratio of any product I’ve had to deal with. “Here’s a couple million IBM…no that’s fine I can invest another couple million to fix the problems that should have already been fixed back in the 90’s.” Let’s not forget the additional multi-million dollar investment in the necessary hardware required for “just barely usable” performance.

    And support is staffed by sales dropouts/wannabe’s as far as I can tell. One script to rule them all: “restore from backup”. And it’s the same even when we do escalate.

    While ClearCase is my biggest leech, ClearQuest is definitely trying to overtake it.

    I love that now we have to keep all IBM Rational products at the same version - and 7.0 is completely incompatible with 7.1. And, wow, 7.1 adds…IBM INSTALLATION MANAGER!! Another useless, buggy, application with enormous resource requirements. At least they’re consistent :-).

    The biggest problem, in regards to migrating away from IBM Rational, that I’ve seen, is that there have been so many “fixes” or customizations that are specifically coded to ClearQuest and ClearCase (Why?! Why did you code raw ClearQuest schema-based SQL into that critical report without even trying the API!! Now I can’t even change databases without a full overhaul), that even if everybody knows CC and CQ are completely unusable and a money pit, they’re stuck. They can not get the funding to recreate all the process infrastructure with a new toolset (even if some of us are willing to do it offline). I believe IBM knows this, and is fully willing to take advantage of the situation to milk the cash cow until we finally do get some good momentum to jump ship.

    Unfortunately, I do not see any relief in site with the IBM Rational roadmap, even if Jazz and the surrounding products do work well. The same business practices - services over products - assures that once the product is in place, little will be invested in making it better, only in getting it more firmly integrated into the enterprise (aka. “screw the users, we only talk to the people giving us money”).

    Sorry for the long comment. It just feels really good to actually see there really are others out there fighting the same battle.

    C.J.

Leave a Reply

You must login to post a comment.






; Maximum allowed size for uploaded files. upload_max_filesize = 100M