steve dekorte
about
blog
projects
2007 11 30      Feedback Effects: How Bad Software Gets Written

Let's see what happens when we introduce a seed of bad code into an organization:

  1. management doesn't like to invest in replacing bad code
    • so the bad code won't be replaced
  2. good programmers don't like to work on bad code
    • so they will avoid working on/around that bad seed of code
  3. bad programmers tend not to mind working on bad code
    • so additions and interactions with the bad code will be done by bad programmers
The end result is that bad code grows like a cancer in an organism with no immune system. And the feedback is self amplifying:
  • as the bad code spreads the good programmers tend to leave
  • it's hard to hire good programmers to work on bad code, so new hires tend to be bad programmers
  • bad code tends to be buggy and bloated, requiring more programmers to maintain it and leading to more hires - like tumor angiogenesis