I’ve noticed the term “tech debt” entering the OSS vernacular to represent stuff that is built now as a short-term workaround before the long-term solution comes online.
But what if it’s ALL tech-debt?
Everything we build needs to be supported for its natural life. The more we accumulate, the more that needs supporting. Support represents all the debt we leave behind, like going on a credit-card fuelled spending spree. And like any other debt, the more you collect, the more it compounds (due to the handshake analogy).
Agile and Microservices are great concepts for getting lots done in small increments without building a monolith. But there is the risk of creating a monolith of support unless we carefully plan subtraction projects to strip out nearly as much as we add.
I was recently involved in a micro project that added 1 new field to an existing report. Sounds simple. Unfortunately by the time all the rigorous deploy and transition processes were followed, to get the update into PROD, the support bill from our team alone ran into tens of thousands of dollars.
And that was without an incident / defect even being raised!