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

Anti-pattern – Wikipedia, the free encyclopedia