Repaying the technical debt

The boss is away, we’ve almost done all the things he asked us to do before he went and, well, there’s a bit of spare time so we’re looking closely at the code.

The last few weeks have been a bit of a push for the finish and now I’m looking at stuff and trying to work out how to repay the technical debt we accrued during the push. Sure, I could be surfing the web and kicking back but, well, it just seems appropriate to work out how much we now owe to the code and how we can pay that back before we’re asked to push a little further and incur a little more debt… It doesn’t hurt that I find this kind of work relaxing and not that much like work…

The good news is that we’re in pretty good shape. Integration went well, we only needed to pull things around a little bit. We’ve added in all the last minute things that support people want and developers’ don’t care about, we’ve got a diagnostic gui coming on and, well, we even have some docs. I’m getting a ‘my work here is done’ feeling but we need to clean up a little before we’re done.

Given we had a schedule and given we practiced JITT we’re a bit lean on tests in some areas. Baby steps where we needed them and tripple jumps when we had our egos on… Looking back there are some holes in the testing. The good news is that they’re easy to back fill. Testing most of the code means that the rest is usually suitably decoupled to make it testable; we’re doing the usual, slip in an interface, decouple, test, relax, thing that you need to do when you test ’legacy’ code but it’s not too painful. I expect that by the end of next week we’ll have added an appropriate amount of tests, done a reasonable amount of refactoring off the back of those tests and added some more lines of text to the docs…

So, it’s actually quite nice, and relaxing, to sit back, take a look at the code and just add tests and tidy…