BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

Combinatorical Enterprise Architecture - a journey from chaos to pseudo-chaos

by Johan Strandler on Sep 19, 2007 |

A software architects work is much about reducing complexity. But at some level complexity is unavoidable due to the simple fact that the real world actually is complex. What to do then? Sean McGrath shared some of his thoughts on how to manage unavoidable complexity in the problem domain through what he calls a "Combinatorical Enterprise Architecture", which basically means to identify the key patterns of behavior within the problem domain chaos, and combine them into a more simplistic "pseudo-chaos". Based on his practical experience with EAI projects, McGrath describes his way to define an Enterprise Architecture in a series of steps:

  • Knowing the lingo. The shared vocabulary is necessary to engage a conversation with the domain experts.
  • Identifying the "as is" situation and then staring long and hard at the complex behavior of these existing IT systems and comparing that complexity with the complexity of the real world. In other words, identifying complexity that is inherent to the problem, and separating it from complexity that can be removed with the aid of some architecture design work.
  • Discover, in an almost in a Zen-like way, patterns of behavior in the apparent complexity of the real world. "The complexity of the real world is the "acceptance test" the architecture needs to pass.
  • Finally, real progress can be made. The job of an enterprise architecture is to identify and then leverage the patterns. The complexity of the real world is the "acceptance test" the architecture needs to pass.

This ends up in what Sean McGrath calls a "Combinatorical Architecture":

The essence of it is boiling down problem domain chaos into the pseudo-chaos exhibiting by a combinatorical explosion of key patterns joined together in different ways. When it works, the chaos of the real world will only appear truly complex if you cannot see the pattern combinations underneath. Once you see the pattern combinations, the complexity melts away and the underlying simplicity is revealed...

It is those delicious moments - when the simplicity of pattern combinatorics replaces unruly complexity - that make enterprise architecture such a rewarding activity.

What do you think about this approach?

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Let me get this right.... by Amr Elssamadisy

Is this approach saying that the key to simplifying enterprise architecture is to model the real world's patterns?

If so, I find this a bit simplistic - since we are talking about an entire enterprise with possibly hundreds, if not thousands of projects....

Complexity by Pranab Ghosh

What you are describing is exactly how complexity is weaved in nature. In nature, few simple entities colloborate and interact in complex ways to create entities with interesting and complex behaviour. Not surprisingly, elegant and well designed software architecture has similar characteristic.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

2 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT