Why it’s a balance between now you and future you

Stewart
2 min readNov 2, 2020

Find out more about agile-together here

I’ve written a lot of software. Twenty years of output. Twenty years of classes, methods variables, tests and twenty years of technical debt. I’m not the best developer in the world; I’m not even in the top 10% soo I am comfortable in the fact that I have left twenty years of technical debt behind me. I think the entire concept of software development could be relabelled as “The generation of technical debt”. I created some due to rigid deadlines, some due to genuine mistakes and others due to unexpected consequences. In hindsight, every action I take generates a different degree of technical debt.

Brewing has a name for the waste byproduct of brewing beer. They call it ‘draff’, it is a solid residue created after wort production. No matter what you do, if you want to brew beer, you generate draff.

The difference between software draff and brewing draff is; the brewers accept it. They know it’s the cost of brewing beer. Perhaps if developers accepted it, then we would find it easier to deal with.

Dealing with technical debt is a balance. It’s a balance between dealing with it now when it is understood or delaying it until an unknown future. It’s a tricky balance and one where I think most dev teams struggle. On the one hand, fixing it now is cathartic, developers can go home at the weekend knowing that they made the codebase better than they found it. On the other, the developer is spending time, resources and effort that is adding no measurable benefit outside the software team. The unintended consequence of the effort to fix the technical debt may be a changing from a set of well known understood problem to a new set of unknown problems. The time and effort required by the development team to comprehend these new problems may nullify any potential time saving that the development team hoped to achieve.

Add to that; that the software may never be fixed; you may leave your job, the product may be discontinued; the code may be naturally retired.

That for me is why it’s a balance between future you and now you. Don’t be scared to leave technical debt in your codebase

Find out more about agile-together here

--

--

Stewart
0 Followers

I keep working practicing agile because I think i am getting better