By formally describing repeated mistakes, one can recognize the forces that lead to their repetition and learn how others have refactored themselves out of these broken patterns.
Some of my favorites:
- Analysis paralysis: Devoting disproportionate effort to the analysis phase of a project
- Design by committee: The result of having many contributors to a design, but no unifying vision
- Death march: Everyone knows that the project is going to be a disaster – except the CEO. However, the truth remains hidden and the project is artificially kept alive until the Day Zero finally comes (“Big Bang”).
- Software bloat: Allowing successive versions of a system to demand ever more resources