Link: “How terrible code gets written by perfectly sane people”
Christian Maioli Mackeprang has written an article which you can find here and here about at least some of the origins of bad code - almost all of which I would say is true.
You can head over to the original article to read it in full, but the key points are…
- Giving excessive importance to estimates
- Giving no importance to project knowledge
- Focusing on poor metrics such as “issues closed” or “commits per day”
- Assuming that good process fixes bad people
- Ignoring proven practices such as code reviews and unit testing
- Hiring developers with no “people” skills
One of these points - “Focusing on poor metrics” - is particularly interesting to me because it reflects on my ProjectStats sideproject, which does indeed count commits per day. Originally intended as an effort in encouraging good source control discipline, it has evolved to the point where developers are improperly encouraged to commit frequently, but not usefully.