Ardonio Ltd

Aug 02, 2020

There will be duct tape

"Let's apply some duct tape and we'll sort it out properly later on"

I'm going to take a wild guess and claim you've said or thought that at some point in your life. It doesn't really matter if it was a DIY situation, a broken down vehicle, some plumbing or any other situation where you needed a 'quick fix'.

Quick fixes in software

The truth is that when writing software we would love to fix everything properly, but for a long list of reasons you might not get to there. Could be anything from deadlines, bugs you can't quite smash, a tired developer, ... . The problem with applying duct tape in software though is that it's not quite as visible as in real life and a lot easier to forget. If it ain't broke,don't fix it; right? So why would you go back and undo the duct tape for a proper solution.

Given the reality we will have duct tape, I'd rather shift the attention to the decision of applying it. In my ideal world, duct tape is a choice. Not a tool to be forbidden, but one to applied knowingly. Anyone who's been in my team for a while has heard me say this

"There will be duct tape, I just want to know where it is"

Most of the time when creating delivery processes my goal is not to eliminate the duct tape. In fact, just like in real life there are many scenarios where a short term "quick fix" is a perfectly acceptable solution. However what I am trying to create is a situation in which the choice to apply duct tape is made for the right reasons, or at least the tradeoffs are understood. So a good process in that sense creates visibility, it creates room for discussion without being overly religious on doing "the right thing" but rather takes this on a case by case basis.

In theory this is very easy, creating visibility into what's going on can be done any number of ways and there are entire books written about methodologies that raise awareness of the work going on. No matter if you are looking at an agile or a more traditional process, they all have aspects to create visibility and inspect the work. However, the hard part is creating a culture in which engineers, or generally anyone at the front line, feels comfortable highlighting that they are about to apply duct tape and can have that conversation. And particularly that kind of culture is what I focus on. A process is only as good as the way it is executed, and a lot of that comes back to culture and team work.