http://wiki.c2.com/?AntiPatternsCatalog
- ORGANISATIONAL
- PROJECT MANAGEMENT
- ANALYSIS
- SOFTWARE DESIGN
- PROGRAMMING
- OBJECT-ORIENTED DESIGN
- METHODOLOGICAL
- Analysis paralysis – devoting disproportionate high effort to the analysis phase of a project.
- Design by committee – the result of having many contributors to a design, but no unifying vision.
- Vendor lock-in – making a system excessively dependent on an externally supplied component.
- Avalanche – an inappropriate mashup of Waterfall model and Agile Development techniques.
- Groupthink – during groupthink, members of the group avoid promoting viewpoints outside the comfort zone of consensus thinking.
- Over-engineering – spending resources making a project more robust and complex than is needed.
- Smoke and mirrors – demonstrating unimplemented functions as if they were already implemented.
- Software bloat – allowing successive versions of a system to demand ever more resources.
- Bystander apathy – when a requirement or design decision is wrong, but the people who notice this do nothing because it affects a different group of people.
- Big ball of mud – a system with no recognisable structure.
- Gold plating – continuing to work on a task or project well past the point at which extra effort is adding value.
- Inner-platform effect – a system so customisable as to become a poor replica of the software development platform.
- Interface bloat – making an interface so powerful that it is extremely difficult to implement.
- Magic pushbutton – coding implementation logic directly within interface code, without using abstraction.
- Cargo cult programming – using patterns and methods without understanding why.
- Spaghetti code – programs whose structure is barely comprehensible, especially because of misuse of code structures.
- Lasagna code – programs whose structure consists of too many layers.
- Base Bean – inheriting functionality from a utility class rather than delegating to it.
- God object – concentrating too many functions in a single part of the design.
- Object orgy – failing to properly encapsulate objects permitted unrestricted access to their private parts.
- Yo-yo problem – a structure that is hard to understand due to excessive fragmentation.
- Copy and paste programming – copying and modifying existing code rather than creating generic solutions.
- Golden hammer/Silver bullet – assuming favourite solution is universally applicable.
- Not Invented Here – tendency towards reinventing the wheel.
- Invented Here – due to lack of confidence, tends to dismiss any non-trivial inhouse code.
- Premature Optimisation – coding early-on for perceived efficiency, sacrificing, good design, maintainability, and sometimes even real-world efficiency.
- Reinventing the square wheel – failing to adopt an existing solution and instead develop a poor quality custom one.