The Utility of Anti Patterns

Anti Patterns provide a mechanism to capture and analyse the lessons of failure. How and why this is extremely useful…

The Utility of Anti Patterns

Analysing Anti Patterns

Anti Pattern analysis is a useful approach in problem solving and design. It ensures that design processes use learning from previous failure.

The Anti Pattern is the antithesis of a Design Pattern and codifies what should not be done, rather than what should be done.

Codification of such knowledge ensures that practitioners (at all levels of experience) benefit from:

a) The ability to compare ‘what good looks like’ (in the form of the Pattern), with ‘what bad looks like’ (in the form of the Anti Pattern)

b) A culture of Pattern and Anti Pattern analysis and debate (a safe and virtuous way to discuss ‘what bad looks like’ and why)

Formerly Patterns

It is important to understand that Anti Patterns (occasionally) become Patterns. Patterns equally need to be periodically reviewed to determine if they are still fit for purpose. Patterns have shelf lives, and we must have the sophistication and discipline to ‘let go’ of favourite techniques, software, applications and hardware if circumstances indicate they are adding to long term cost.

There are a number of excellent online Anti Pattern resources, a few to illustrate further are provided below:

  1. ArchitectureAsRequirements
  2. ArchitectureByImplication
  3. AutogeneratedStovepipeAntiPattern
  4. ChangesInAugustTen
  5. CoverYourAssets
  6. DoerAndKnower
  7. JumbleAntipattern
  8. KillTwoBirdsWithOneStone
  9. NotTheAppropriateProtocol
  10. PoliticsOrientedArchitecture
  11. RequirementsAsArchitecture
  12. RollYourOwnDatabase
  13. StandingOnTheShouldersOfMidgets
  14. StovepipeAntiPattern
  15. StovepipeSystem
  16. SumoMarriage
  17. SwissArmyKnife