Anti-Pattern: Artificial Complexity

Artificial Complexity occurs when the mental model, used to describe the enterprise, contradicts with reality and therefore introduces “additional” complexity on top of the essential (or “natural”) complexity of the enterprise.

This inconsistency may come from a couple of sources (usually occurring in a sort of a combination):

Overly simplistic model. This happens when they abstract from some critical aspects of the system (enterprise). As it was noted by James Coplien, a good architecture (in this case, the model of a certain aspect of the enterprise) is the one that is achieved not by abstraction, but by “compression”. How does this add more complexity? The  overly simple model serves as a very poor representation of reality that does not allow to make adequate decisions in the system. As a result, different people in the organization interpret this phenomenon in their own way, often extending the model with their own context that leads to multiple divergent interpretations that co-exist within the same enterprise.

Example. Cargo-Cult Agile represents a whole class of such examples. Most typical manifestation is too much attention to ceremonies and artifacts and little actual attention to the intangible aspects, such as motivation of knowledge workers, effective collaboration, learning, etc.

Overly complex model. Happens when the model used to describe the enterprise is too overloaded and adds significant layer of complexity simply because it is hard to navigate through the model itself.

Also see Essential Complexity of the enterprise.