InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

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

Posted by Johan Strandler on Sep 19, 2007

Sections
Enterprise Architecture
Topics
Architecture ,
Enterprise Architecture

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?

Let me get this right.... by Amr Elssamadisy Posted
Complexity by Pranab Ghosh Posted
  1. Back to top

    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....

  2. Back to top

    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.