Daily Connector | Technical Debt | Tim Armstrong

In software, we have a nasty, hidden source of problems called technical debt. Tech debt is the work left undone at time of delivery; when something is done quickly or cosmetically rather than correctly. In the short term, customers love software accruing tech debt because it means they get their features faster.

Sometimes software seems slow and buggy:

When Juli and I moved into our house in Grandview, the yard appeared neat and well mulched. Strangely, I had a hard time getting things to grow. When I planted the first set of garden beds, I started to find the yard's "tech debt" in grapefruit-sized rocks, plastic, broken glass, buried fence posts and my new enemy - landscape fabric. Weed barrier is a better name for this stuff because it only lets weeds grow, not flowers or vegetables. Roots can't get through the cloth, but weeds don't need much in terms of roots and grow just fine.

A new garden bed previously all covered with weeds, now only partly covered:

Tech debt always leaves the product worse in the long term because those debts always come due. What makes sense to a company or homeowner in the short term doesn't necessarily align with what's best in the long term. A superficial fix can be popular because of how easy it is to "see the results." Right now, my company is going through a multi-year reckoning of all the choices made in the past, and it is costing a lot more to make it right than it would have to do it right in the first place.

Two and a half years ago, we began the painful work of rooting out a fabric barrier hidden in our yard. I am still finding new patches whenever I work deeply in the yard. For real change to happen, I have had to replace a facade of mulch and fabric with something that requires a lot more commitment but will be much more useful in the long term.