| 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:
- management doesn't like to invest in replacing bad code
- so the bad code won't be replaced
- good programmers don't like to work on bad code
- so they will avoid working on/around that bad seed of code
- 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
|