The Cost of Bad Code

Blog Summary: (AI Summaries by Summarizes)
  • The 2010 CAST Worldwide Application Software Quality Study shows that poorly written code can be costly.
  • "Good code" or "structural quality" is about how well-architected an application is, not just syntax or non-functional properties.
  • Each line of code has $2.82 of Technical Debt and the average-sized application has $1,000,000 of Technical Debt.
  • Technical Debt can come from both managerial and programmer factors, such as pressure to release an application quickly or a lack of knowledge about good coding practices.
  • It is important to prioritize good "structural quality" initially to avoid issues down the line.

In a previous post, I talked about the need to hire programmers who write good code. A recent report shows the costs of poorly written code.

The 2010 CAST Worldwide Application Software Quality Study summary can be downloaded here.

In the report, “good code” or “structural quality” as they term it, is not about syntax or non-functional properties. Rather, it is about how well architected the application is. In other words, an application may function, but the code and architecture underneath it is a mess.

According to the study, each line of code has $2.82 of Technical Debt and the average sized application has $1,000,000 of Technical Debt.

In my experience the sources of Technical Debt are a mix of two factors. The first one is managerial. The manager is either unaware or does not care about Technical Debt. Sometimes, there is pressure from above to get an application out no matter how ugly it is. Often, it is rationalized that the customer will never know or see how ugly the code is. The second factor is the programmer themself. A poor programmer will simply not know or realize that their code is of poor quality. A more rare case is a good, but lazy, programmer not wanting to put the effort in to write good code.

This report gives more validity to the programmer or manager making an argument to have good “structural quality” initially. Most often, the coding issues will never be revisited and will rear their head at the most inopportune time.

Related Posts

The Difference Between Learning and Doing

Blog Summary: (AI Summaries by Summarizes)There are several types of learning videos: hype, low effort, novice, and professional.It is important to avoid hype, low-effort, and

The Data Discovery Team

Blog Summary: (AI Summaries by Summarizes)The concept of a “data discovery team” is introduced, which focuses on searching for data in an enterprise data reality.Data

Black and white photo of three corporate people discussing with a view of the city's buildings

Current 2023 Announcements

Blog Summary: (AI Summaries by Summarizes)Confluent’s Current Conference featured several announcements that are important for both technologists and investors.Confluent has two existing moats (replication and