Let’s talk about a subject that can be divisive. Throwaway work.
There are many guidelines which can help us to decide whether a piece of work is actually worth doing or not. Return on Investment, Net Present Value, Cost Benefit Analysis to name but a few. Even in cases where it may not be easy to apply those, gut instinct, intuition or experience will tell us whether something is of value.
In a recent example, it was revealed that playing a particular set of stories would open the floodgates to a new revenue stream. No need to calculate anything, total no-brainer. As a wise man once said, it’s not rocket surgery. Or indeed, brain science. However, some of the team labelled the work “throwaway”. Which may have been true, the work was unlikely to have any longevity. But crucially this statement got translated as “this work is not worth doing”.
So how should we define “throwaway work” and how should we manage it?
Something that won’t be used for very long? A bit arbitrary. How long before it is no longer considered throwaway? In the long-term everything gets thrown away doesn’t it? Ask the people who built Concorde.
Is it something that is tactical instead of strategic? Or – the horror! – something that reeks of technical debt?
Another wise man I once knew said “there is no such thing as a tactical solution”. In any meaningful environment, he argued, we would not deliberately take short cuts that lead decline to stability or performance. Would we? Surely we would still have acceptance criteria? Standards – security, performance, go-live criteria, change controls or otherwise?
I once read an article on how to build an arch. I lead a full and interesting live. Scaffolding is used to support the bit across the top. Then the scaffolding is discarded when done. The question could be posed, although the scaffolding was short-lived and thrown away, did it deliver any value?
And then there are the many benefits of refactoring. Teams who do this can completely replace every line of code they have written in an application. Does this mean the original version was throwaway and of no value?
If anything has achieved value that outweighed the cost of doing it, how can it be throwaway?.