Jaa


Deep Thinking on The Architecture of Architecture: Meta-Architecture

As many of you have already have known, Enterprise Architecture and Architecture within the context of sociotechnical organization is going through what I believe a renaissance period.  

The architecture field is moving to more of an interdisciplinary art and science. Also many architects, myself included, have been trained on producing goal oriented systems. This teleological approach based on the future state design, based on the current state of the enterprise/organization and the environment in which it lives. This notion of the as-is state and to-be state has been a cornerstone of architectural frameworks ever since I can remember. But this notion of the future state has been a very allusive goal. Often we never get there, as the environment changes too quickly to have a clear picture on what the future state is.

I am encouraged that many enterprise architects are beginning to reach enlightenment on the concepts of complexity. Systems theory and cybernetics started in in the 1940s and 1950s. Melanie Mitchell, a professor and researcher on Complexity Science and author of Complexity: A Guided Tour, from her course Introduction to Complexity introduced me to two quotes from Warren Weaver from his work Science and Complexity (1947).

“These problems-and a wide range of similar problems in the biological, medical, psychological, economic, and political sciences-are just too complicated to yield to the old nineteenth century techniques which were so dramatically successful on two-, three-, or four-variable problems of simplicity. These new problems, moreover, cannot be handled with the statistical techniques so effective in describing average behavior in problems of disorganized complexity.”

“These new problems, and the future of the world depends on many of them, requires science to make a third great advance, an advance that must be even greater than the nineteenth century conquest of problems of simplicity or the twentieth century victory over problems of disorganized complexity. Science must, over the next 50 years, learn to deal with these problems of organized complexity.

Translate these problems to our world of enterprise architecture, and one will discover that the enterprise is an self-organized complex system. Again, as mentioned before in previous blog entries complex and complicated are not the same. See diagram below. 

 

(Yes I know this is different from the Cynefin framework, and if you want to know why I drew it this way, that will come in another post.)

So how can enterprise architecture deal with organized complexity? Perhaps we need think about the architecture of architecture itself or meta-architecture. Back to some basics:

  • Architecture: is both the process and product of planning, design, and construction of a system.
  • System: A whole compounded of several elements (structures, behaviors, and their interactions) that exists in an environment.
  • Enterprise: A system that has a purpose or mission.

The purpose varies, but an organization’s prime directive if you will, are close to one of the following or in some cases both:

  • A private sector firm produces products and services in order to generate wealth for shareholders.
  • A public sector organization delivers services which create an environment for constituency prosperity.  

Philosophically speaking the enterprise is a self-creating holon and expresses a fundamental dialectic among structure, mechanism (process), and function (outcome).  

  • Function refers forward from the object or process along some chain of causation to outcome.
  • Mechanism of object of process looks backwards along some chain of causation explaining how the outcome occurred.
  • Outcomes can be planned can be consequential or inconsequential. Outcomes may or may contribute to the desired goal, some outcomes may be related to the emergent phenomena arising as a side effect of the system. 

The purpose drives an orientation towards a particular goal which again are teleological, there is final state in the system. Goals are assumed to be static or fixated on a point in time. Yet the system also exhibits other outcomes that are related to the emergent phenomena arising as a side effect of the system itself. Some of these side effects can be destructive or transform the entities and their relationships. This arises as a consequence of the system that may require a level of governance. It is an autopoietic and adaptive system.  

Autopoiesis literally means "self-creation" and expresses a fundamental dialectic among structure, mechanism and function. An autopoietic machine is a machine organized (defined as a unity) as a network of processes of production (transformation and destruction) of components which:

  • Through their interactions and transformations continuously regenerate and realize the network of processes ( relations) that produced them.
  • Constitute it (the machine) as a concrete unity in space in which they (the components) exist by specifying the topological domain of its realization as such a network. [network in a generic sense]. (Sources: Wikipedia)

Okay, I know this stuff is out there… but please indulge me for a little longer. Let’s quickly review:

  • The enterprise is self-organizing.
  • The enterprise is autopoietic as it is self-creating and transforming.
  • The enterprise has emergent qualities.
  • The enterprise is a dynamic system.

How does one describe something that has these characteristics? How does one design a system or anything for that matter that is in a constant state of drift and based on the demands placed on the system from both internal and external interactions? 

Unfortunately most of the enterprise architecture frameworks that communicate the architectural processes and end-product are severely lacking with this respect. Do not get me wrong, I am fan of frameworks to a point, but I fear that they are becoming stifling. I have witnessed far too many times where they do not drive value or an architect becomes too reliant on them for the ultimate answer. They are in fact today, too teleological, and we need to think further about iterative experiential architectures instead of the monolithic beast that enterprise architecture is best known for.

Some suggestions for the product of architecture:

  • Divide up the enterprise ecosystem into smaller subsystems that may have different viewpoints, views, and models for describing purpose, means, results, and benefits.
  • Purpose oriented techniques are focused on the motivations of people and groups of the enterprise sociosystem. (Perspectives of Constituencies)
  • Means oriented techniques (which we are most familiar with) are focused on the composition of structures, behaviors, and their interactions of the technosystem. (Layers of Fabrics)
  • Results oriented models are focused on the realization of the biosystem which address the lifecycle of elements including implementation, transition, and operation within the enterprise. (Iteration of Stages)
  • Benefit oriented models which are focused on the transformation with respect to econosystem or prosper-system. (Measures of Performance)

 Some suggestions for the process of architecture:

  • Bring systems thinking to the forefront of process of architecture were the product of architecture can be partitioned in a way where small scopes of work can be iteratively achieved, and integrated into the greater architecture.
  • Enterprise Architecture is a technique and process which does not always include the scope of the entire organization, and can target any business function (IT or others.)
  • Combine the notion of agile (spiral) and formal (waterfall) methods to balance freedom/speed/tinkering/innovation and governance/risk/adherence/compliance.

It is my hope that I will find some of you out there that are like minded in this endeavor and are interested in collaborating on these concepts further.   

As always I am interested in your thoughts.

Comments

  • Anonymous
    February 20, 2013
    Enjoyed reading this and think it a very worthwhile effort. I can't wait to hear what drove you to shift the axis of Cynefin framework (I get it but sure want to hear how you got there). About 3-4 years ago I was speaking with Don and Ryan (separately) and both came to a similar endpoint but stated it by saying architecture is becoming irrelevant. Like any complex ecosystem (think biological or universal are good analogies and you used both) there is little chance of creating strategy that will last. Focusing on key principles, controlling a few things that provide greatest stability to the ecosystem, and letting the rest go (knowing it will right itself over time) is a sound approach. Very much like brewing a decent beer…    

  • Anonymous
    February 23, 2013
    Interesting to see how others are starting to wake up, and realize it's all about Managing Complexity. You'd probably enjoy my "Zen Inspired" thing at - code.google.com/.../magix-illuminate-2 It's basically an entirely new way to manage Polymorphism and Encapsulation, which facilitates for among other things, to remotely invoke methods on other servers 100% transparently, as an integral part of the Polymorphism Mechanisms ... I'd love to have some feedback from you, you can read my blog about it here - magixilluminate.wordpress.com The Framework is built in Mono, but should run on .Net too ...