Learning from Other’s Mistakes– The Power of the Anti-Pattern

nicer

Definition

An Anti-Pattern describes a commonly occurring solution to a problem that generates decidedly negative consequences.

You would think that an IT book written in 1998 would be grossly out of date by now. The book Anti-Patterns: Refactoring Software, Architectures, and Projects in Crisis by Brown, Malvau  and McCormick is  unfortunately as relevant today as its publication date 13 years ago. At its core is the argument that by understanding BAD implementations or patterns, we can learn to avoid them and be more successful.

antipatterns

The book postulates that there are 3 core types of Anti-Patterns: (links to the Anti-Patterns site below for full descriptions)

Also that these Anti-Patterns exist because of 8 main reasons. Again, the reasons  are as relevant today as yesterday.

  1. Haste
  2. Architectural Apathy
  3. Narrow-mindedness
  4. Sloth
  5. Architectural Avarice *modeling of excessive details
  6. Ignorance
  7. Pride
  8. External Forces

They identified 14 Anti-Patterns for Development.  They are summarized as:

  1. The Blob
  2. Continuous obsolescence
  3. Lava Flow
  4. Ambiguous viewpoint
  5. Functional decomposition
  6. Poltergeists
  7. Boat Anchor
  8. Golden Hammer
  9. Dead End
  10. Spaghetti Code
  11. Input Kludge
  12. Walking through a Minefield
  13. Cut-and-Paste Programming
  14. Mushroom Management

Definitions here

Recognize the “Golden Hammer” Anti-Pattern in your world? Where there is a favourite technology that is used and reused, even in ways it was never intended. Why not ask your client how many business critical applications they have running in Microsoft Excel or Access? (or at least the ones they know about …)

They also identified the following 13 Architectural Anti-Patterns:

  1. Autogenerated Stovepipe
  2. Stovepipe Enterprise
  3. Jumble
  4. Stovepipe System
  5. Cover Your Assets
  6. Vendor Lock-in
  7. Wolf Ticket
  8. Architecture By Implication
  9. Warm Bodies
  10. Design By Committee
  11. Kitchen Sink
  12. Reinvent the Wheel
  13. The Grand Old Duke of York

Definitions: here

Recognize the “Kitchen Sink” architecture Anti-Pattern? Where every possible piece of technology is included to account for all possible and improbable uses of the architecture.

They also identified 14 Management Anti-Patterns

  1. Blowhard Jamboree
  2. Analysis Paralysis
  3. Viewgraph Engineering
  4. Death By Planning
  5. Fear of Success
  6. Corncob
  7. Intellectual Violence
  8. Irrational Management
  9. Smoke and Mirrors
  10. Project Mismanagement
  11. Throw it over the Wall
  12. Fire Drill
  13. The Feud
  14. E-mail is dangerous

Definitions: here..

Recognize the “Corncob” Anti-Pattern? The Symptoms are that frequently “difficult” people obstruct and divert the software development process. This can be caused by

  • Stress
  • Personality
  • Hidden agendas
  • Negative training or background
  • Defensiveness: fear of the unknown or
  • Intellectual arsenic: obsession with a pet ideas or people

As you go through the Anti-Patterns list you will see that today all of them still exist in today’s IT environment. Our challenge is to recognize them and mitigate the impact of them to ensure our client’s project success.

Anti-Patterns – It is still worth the read.

http://www.antipatterns.com/AntiPatterns/Welcome.html

This entry was posted in Consulting Excellence. Bookmark the permalink.

Leave a comment