Technical Debt in the Real World

technical debt, larry apke, agile

I came across a video the other day that compares the relative devastation caused by two similar earthquakes – a recent 6.0 magnitude earthquake in August 2014 in Northern California and a 6.1 magnitude one in that same month in Yunnan Province, China. The differences are astounding. I created a simple table below to show the particulars.

California

China

Deaths

0 619

Homes Destroyed

4

25,800

To what do we attribute the differences in outcomes in response to similar events? The difference is one of quality. Homes in China are built quickly with only cursory inspections while those in the United States, especially those in earthquake prone areas, are built to exacting standards.

Being a huge proponent of software quality, I could not help but think of the connection between this and code quality and technical debt. In my mind, this is an example of the dangers of technical debt personified. Yes, they build habitable homes in China, but they are not built with the requisite quality necessary to withstand an earthquake. In this case, the corresponding loss is horrific in loss of life and loss of quality of life.

We can see the same things in software development. In our rush to complete our features, we take shortcuts in quality, building, as it were, houses that will not be able to withstand earthquakes.  In the case of software it is rare that the technical debt created has cost of human life, but it certainly can manifest itself in a cost to the quality of life. And much like the house that cannot withstand an earthquake, poor quality code may look fine from the outside, hiding the cost that will be paid at a later date.

Not a day goes by where we do not see some of the “earthquakes” in the world of software – the recent hacks into Apple, Target, JP Morgan Chase et al ad nauseum should provide some adequate examples. And these are just the flashy incidences that we hear about in the media.

Please don’t think I am making light of the devastation in China. My heart goes out those affected by this terrible tragedy. I take this very seriously, as I take the concept of technical debt very seriously. My hope is that us folks who make software for a living can see the similarity and leverage it to continue the fight for high quality software development. Let’s not continue making brittle houses – figuratively and literally.

Larry Apke

Leave a Reply

Your email address will not be published. Required fields are marked *