How I Learned to Stop Worrying and Love Legacy Code
Thursday Jul 6 – bonus software
Legacy Code. I never wrote it; everybody else did!
How many times have you waded through an ageing, decaying, tangled forrest of code and wished it would just die?
How many times have you heard someone say that what really needs to happen is a complete rewrite?
I have heard this many times, and, have uttered that fatal sentence myself.
But shouldn’t we love our legacy code?
Doesn’t it represent our investment and the hard work of ourselves and our predecessors?
Throwing it away is dangerous, because, before we do, we’ll need to work out exactly what it does, and we’ll need to tweeze out that critical business logic nestled in a deeply entangled knot of IF statements. It could take us years to do, and we’ll have to maintain two systems whilst we do it, inevitably adding new features to them both. Yes we get to reimplement using the latest, coolest programming language, instead of an old behemoth, but how long will our new cool language be around, and who will maintain that code, when it itself inevitably turns to legacy?
We can throw our arms in the air, complaining and grumbling about how we didn’t write the code, how we would never have written it the way it is, how those that wrote it were lesser programmers, possibly lesser humans themselves, but the code still remains, staring us in the face and hanging around for longer that we could possibly imagine. We can sort it out, we can improve it, we can make it testable, and we can learn to love our legacy code.
Agile Software Development Trainer and Consultant
Broad Bean Productions Ltd
I am a software engineer with experience of management of IT and software development teams using Agile and Lean methodologies. I have worked with Free Software (aka Open Source Software) since the early nineties and, despite being a Mac user, continue to promote, advocate and employ Free/Libre and Open Source Software (FLOSS) where appropriate. I graduated with a degree in Computing for Real Time Systems from the University of the West of England in 1993, and have since worked more or less consistently in the IT industry since then. In 1996, I co-founded Psand Limited, a company specialising in GNU/Linux and free software and bespoke content management systems. I have worked as a programmer, systems administrator, development team technical lead, IT director, and Agile product owner. I am currently working as an Agile/Lean coach and trainer with a focus on the technical as well requirements analysis and project management. I founded HacktionLab and co-organise the bi-annual event BarnCamp.