Architecture Anti Pattern

Over-Generalized Interfaces - Architects often attempt to create systems with infinite flexibility, but only succeed in creating systems that are impossible to maintain. With interfaces, I've seen more than one architect fall in love with the String interface. All communication between components is done through strings (usually xml). This might make for some pretty diagrams, but it makes for a maintenance nightmare where there are no explicit contracts between interfaces.

Over buzzword compliance - Architects love to find a way to shoehorn the latest buzzword into their architectures, even when there is no fit. Whatever the latest buzzword (xml, web services, .NET), architects will find a way to use it.

Product Architecture - Some Architects that are only familiar with a certain product or vendor will design the architecture around the products. The result is often just a marketing sheet, and helps very little to solving the problem at hand.

FUD Architecture - The fear of being wrong, or creating an architecture that will change later, results in an architecture that actually solves nothing.

I have seen the over-generalized interface anti-pattern too. Too often.

Simple Renaming - The Architect in the guise of providing an abstraction layer to provide platform independence (which isn't yet needed) produces a raft of functions such as My_very_own_strcat(), My_very_own_malloc(), My_very_own_fopen(). These are at the same level of abstraction as the functions that they call and in the course of the project end up achieving absolutely nothing useful.

Simple Forwarding - The Architect designs two modules which he claims have very different functionality. When you actually get round to the implementation details, one is always forwarding requests to the other and does nothing else besides.


Folks, I am sorely tempted to put this page under Category Rant, as the complaints offered here aren't about architects as much as they are about jerkweeds posing as architects. Look, anybody can claim that they are an architect or an engineer or a manager or a brain surgeon and do a bad job of it. You need to separate out the duties to be performed by a dedicated professional from the crap spewed by a dirtbag. -- Marty Schrader


For a complete list of Architecture Anti Patterns, please follow the link: c2.com


See also:


See original on c2.com