Thursday 30 October 2014

Legacy Projects - Mixed Blessings

I’ve been a software engineer for over 25 years now and my past is filled with legacy projects – some successful and some not so – some still live and others long since dead – and most importantly some that I would be happy to work on again and others that I certainly wouldn’t.
So how do you get to pick and choose which ones come back and which ones stay buried in the past. I think the real answer is you don’t, it just sort of happens and you have to put up with what you get.
You could change jobs to get rid of legacy projects but it’s a bit drastic, especially when you’ve got a good job with some interesting new projects on the horizon. It doesn’t always work either, when I left Racal Marine in the mid 90’s I was contacted a year later to go back on Saturday mornings to work on a millennium bug. I had no ties and could have easily said no but I felt obliged even though the bug was nothing to do with me and had been created many years before I’d even started working there.
I did two stints to fix the same bug for two slightly different deployments. The first one was a bit of a disaster for me financially because I did the work in less than half the budgeted time I had given and only got paid half the money – hardly worth getting out of bed on a weekend for. But I ensured the second one was done on a fixed price and after a quick fix I ran with the cash.
The worst project I worked on was at Primary Image where I was responsible for writing the SCSI scripts which ran on an embedded SCSI controller and controlled a tape drive for archiving digital video. The ‘happy path’ software was fine but as soon as the error handling code was added the scripts became a rabbit’s warren of execution paths.
Looking back it feels as though that was all I worked on at the company but there were other enjoyable projects. This one had been put to bed and was running happily until a client in Ireland reported that they couldn’t retrieve data from the tape and they needed it to catch a man suspected of cashing a fake social security cheque. The prospect of revisiting the code was a nightmare but it had a silver lining – I flew out to Dublin for the day, discovered it was user error and flew back. The only disappointing thing was not getting to see any of Dublin except from the back of a cab because the bank manager insisted I accompany him to their free staff canteen for lunch instead of site seeing and then gave me a lift to the airport on his way home to save me the taxi fare only to deny me another opportunity of site seeing before my late flight.
While working at Atkins (the whole millennium so far) I have worked on a number of large projects which have stayed with me in one form or another. The Carbon Tools Knowledgebase was a carbon modelling system created to be delivered as Software as a Service, we spent a fortune building it only for the recession and a change of CEO to cause it to be cancelled. Another was Transport Direct, a public web site offered by the Department for Transport which was the only true national multi-modal door-to-door journey planner available, it was cancelled because the EU insisted the DfT retender to extend the 12 year contract and they couldn’t justify the expense.
Instead of deleting the Knowledgebase system from the servers when it was cancelled I moved it to some new servers so that a few people who had been using it could still use it on the QT. One of these users has just sold the complete service to a national organisation and the project has come back to life – and guess who the only person left in the company with knowledge of the system is? Yep, yours truly.
It was always ‘my baby’ and in some ways I’m happy that it has come back to life, but I have other things to work on now and it’s a distraction. I’ve been helping somebody familiarise themselves with the code and pointing them in the right direction to investigate the few minor issues with the software. But I can’t help wondering how he’s getting on and want to chase it up.
Most of the IP for Transport Direct belongs to the DfT, so they made it Open Source when shutting down the project in the hope that somebody might pick it up and offer the public the service again. There isn’t a car planning service that can provide a journey plan for future days with predicted congestion, so there is now a gap in the market, albeit one that wouldn’t generate any revenue. It has already been picked up for exactly this reason and I’ve been contacted by the company concerned asking for assistance with getting it running.
I’m less inclined to get involved in this software again but I feel guilty denying Atkins the opportunity to make some consultancy money from the situation. And we might miss out on selling the bits of IP that we own from the project.
With the advent of Linked-In and other social media sites I wonder if changing jobs would get me away from these legacy projects in the same way that it has done in the past – I think the fact that the DfT have always managed to find me and others with party invitations in the last few years of the project when we were no longer directly involved suggests maybe I couldn’t.