Combinatorical Enterprise Architecture - a journey from chaos to pseudo-chaos
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....
If so, I find this a bit simplistic - since we are talking about an entire enterprise with possibly hundreds, if not thousands of projects....