Not Only Luck.
An essay by John Melonakos

Debugging Software

Software bugs happen. Always.

The way teams and managers react upon discovering software bugs is revealing. Good programmers are delineated from great programmers not as much by their ability to develop code, but by their ability to find, fix, and avoid bugs.

Bugs are expensive. It is not uncommon for the costs of debugging to exceed those of original code development. Too many managers (especially non-engineering managers) do not recognize this fact of software development. I ran across this funny list recently, which is all too familiar:

1379313_508067579289033_759855315_n

 

Of course, it is always best to strive for minimal bugs when developing code. Good upfront architecture, frameworks for software testing, and focus during development are key ingredients.

The worst bugs are the indeterministic kind. These are the kind that appear to be random and are sufficiently frequent to be problematic but not sufficiently frequent to be deterministically reproducible. Some of our largest resource expenses have been attributed to debugging those of this nature.

What are your thoughts on software debugging?

 

Related articles