I’m tired, and I’m cross. Last night I was up too late, and this morning I have wasted another few hours. All trying to do something which should be simple – evaluate some products from the well-known software consultancy “Thoughtworks”. And so far I still have not succeeded.
It all started so simple. I was looking around for a bundled software solution for running a new software project and found “Buildix 2.1“. This looked to be a large part of what I need, so I investigated further. Subversion for storing source code, Cruise Control for continuous integration, Trac for change tracking and wiki collaboration. All familiar, useful, stuff. And it also offers “Mingle“, a tool I have not used before, for agile project planning. A quick check shows buildix is offered under an Apache licence. Best of all, they offer it as a pre-built virtual machine image, so I should be able to just download it and run it alongside my existing VMs and give it a good evaluation.
And that’s where it all began to go wrong.
I downloaded it and extracted the files from the archive, started my VMware server console and gave it the details of the VM image. First problem – the image somehow requires a later version of VMware, forcing me to upgrade. I have installed a bunch of different vm images before and never had to do this, so why can’t Thoughtworks manage to build a compatible image?
So I went through all the pain of an upgrade to VMware server 2 (complete with the sudden appearance of a login box which was never needed on the old vm manager, and required me to create a new Windows admin user!) but eventually I got to a stage where the new vm image would at least load into the hypervisor.
Then I hit the bit which astonishes me the most. The supplied VM image is broken and won’t even start. Worst of all, this is a known problem. Did they not even test this most basic of steps?
So, I followed the instructions and logged in to issue a “fsck” command to get it working a bit more. Which in turn required me to go to the web again to find the default root password (if it helps anyone else, it is also “root”).
After a while it seemed to have stopped initialising, so I found the dhcp address which had been assigned to the vm, and tried an HTTP request to port 80. Timeout. Using my new found root login skillz, I hit Alt-F2 on the VM console, logged in as root and entered “ifconfig”, the response did not include an ethernet connection, only a loopback. My knee-jerk response in this situation is to enter “ifup eth0″, and in this case it seemed to work. It is probably not a long-term solution, though, and may not survive a reboot. For that I may need to mess with some config files.
After all this effort, I just about have a running system. Connecting to the same ip address with a web browser now gives a redirect to https, which in turn causes Firefox to complain about a self-signed certificate, so I plod past that. Eventually I see a page which asks me to configure Mingle, so I enter a bunch of smtp and user details and suggests that I enter the details of the new user in the buildix config (with a handy link). Unfortunately, when I click that link I find that it requires a login first. I try the details from the user I have just created, with no luck. Back to the internet I go.
It turns out that the username and password I need are “buildix” and “buildix” respectively. After a bit of bouncing around pre-populated login fields, I get to the config page and enter the details.
Now I have run out of what little instruction there was. On the Buildix web site the navigation link labelled “Documentation” takes you to a breathtakingly dismissive page which just states:
The forums can be found here.
No sign of even the simplest tutorial or walk-through to give a hint of what you can do with the system. No links to documentation for any of the component applications. No FAQ for any of the show-stopping problems which I have tripped over so far. Unbelievable.
Left to my own devices, I try clicking some of the links, starting with “create project” but all I get is a cryptic error message. The suggested solution from the forums is to find and edit yet another config file, which allows me to create a project, but leaves me without Mingle. Somewhere in the application I find some text suggesting I need to register Mingle, with a handy link to Thoughtworks Studios. When I click the link I see nothing about registering, so I wander around the site for a while, and eventually find a page where I can buy licences. I’m not interested in paying USD 318.60 per user, especially when the software has needed so much TLC so far to even get it running. Luckily, the page states
Remember that the first five users are free. Thus, if your team has 15 people, you should key in only 10 in the “Qty.” field below.
I don’t need more than 5 users, so I enter 0 in the quantity field and click “proceed to checkout”. The purchase system then informs me that “You do not have any items in your cart.”. Another needless failure. Fed up with trying to get a licence I return to the Buildix application and poke around a bit more. Re-reading the config page I see an un-checked checkbox under Mingle Options labelled “Enabled”. So I enable it and continue. Magically, a Mingle Icon appears next to the others for my test project. Filled with excitement I click it, only to see
We apologize for the inconvenience.
You should be able to continue work by returning to the projects page or you may prefer to sign out and sign in again.
So I sign out and in, using the admin user I created so long ago, which eventually logs me in to an unregistered Mingle, but with no projects. So I create one with the same name as the one I created using the “a little bit of our own ThoughtWorks magic” which was obviously not quite as magic as it should be.
Eventually it seems that I have achieved a running Buildix 2.1 Virtual machine. But I’m exhausted, and sick of all the nonsense I had to go through to get here, so I’m hardly enthusiastic about evaluating it and telling all my colleagues how wonderful it’s components (and by extension ThoughtWorks’ coding skills) are.
Seriously ThoughtWorks. Do you have any idea how poorly this sort of thing reflects on your products and your company?
Plenty of people seem to be able to put together working systems of this complexity in their spare time, and to get it right. If this is really the best you can manage, why would anyone consider hiring your team for anything important?