It’s Easter weekend, and whilst looking out of my kitchen window at our front garden fence, I came to the conclusion that it’s going to need a total rebuild. Let me give you a bit of history. We moved into this house in 2008, and the wooden fence was already in place around the front lawn (we’re on a corner plot). Over the years it’s weathered and gets a fair amount of abuse from passers by, small kids learning to ride their bikes bumping into it, balls etc. It’s also been victim to our wheelie bins being blown into it. Last year it took a particularly bad battering during storms resulting in the bins breaking a section of it. I duly patched it up, re-nailed it, screwed some bits back together and re-stained it.
It’s lasted well, but inspecting it yesterday, while re-fixing another broken bit, and it became apparent that alot of the wood is just past repair. It’s so brittle that screws are just not holding any more. It might look ok, but touch it in the wrong place and it just crumbles. Most of the fence posts have been re-seated, wedged and supported, but are now struggling to stay upright.
(can you see what parallels I’m drawing here… 😉
Another potential consequence of the disrepair of the fence is that we’ve had rubbish deposited behind the broken part of the fence several times. Perhaps if the fence was nice and well kept, the kind sharers of rubbish would find somewhere else to deposit their gifts.
Continuing the broken windows theory theme, I’m reluctant to do anything else on the fence if it’s going to be replaced anyway. Sure I’ll try to keep it upright, but there’s little point in re-staining it, or spending any money on the existing fence.
Whilst reflecting on this through the rain splattered kitchen window, it occurred to me that I’ve been in this position many times with various software projects. Those inherited projects that are patched up, re-stained and propped up until they get to the point where no-one wants to work on them any more in fear of breaking something. Of course the opposite is also true that the quality of the work that goes into such projects may be lower as it ‘doesn’t really matter, as it’s all a hack anyway’.
Now the latter point is interesting, because in the case of my fence, I won’t just hack in a fix to repair the broken fence panels as I do care about how it looks, but this is a compromise to leaving it looking broken. Conundrum.
Whilst I’m not an advocate of complete re-writes, or re-builds, sometimes there comes a point where there is no viable alternative. At this point, the decision needs to be made by the stakeholders whether to stop any further development and shelve the product or incur the cost of a re-write. In the case of my fence, the most important and influential stakeholder (my wife) has expressed a strong desire to replace the fence, so the cost has been approved… time to start planning, now where are my post-its?