Model-based Enterprise Architecture and SOA
Thursday, October 18th, 2007When enterprise architects are approached by business stakeholders to help improve business process, in most cases they have to come up with some creative use of information management solutions. Today, there are two basic paradigms that they can base their solution design on. One is application software, and the other is SOA. Both require methods and tools to establish a business solution. And these methods are very different.
Increasingly, enterprise architects find themselves very reluctant to resort to using additional application software, since in many cases they have reached saturation point where adding another application makes processes more confusing and less efficient due to overlaps and difficulties of normalizing business semantics. Many companies today have reached the saturation point with applications. To these companies SOA is and should be a very promising concept. It says that one can increase process automation coverage by reusing already established capabilities. It also says that changing and reconfiguring processes can be technically done much faster and with much less cost. It also uses business needs to drive solutions not the other way around. As much as SOA makes sense, it’s lack of wider adoption does not. What is making SOA difficult to practice? According to my recent discussions with nearly a dozen of early adopters, the main culprit is in misalignment of methodologies. Enterprise architects simply resort to the methods they have been familiar with for many years - exactly those that fit well application software paradigm, the one that they are trying to replace. EA-s still follow frameworks well tuned for business process re-engineering and packaged application implementations. They simply do not come across well defined methods for SOA paradigm right now. Yet, few that did well with SOA and are quite happy with early adoption results, report that such methods have been established already in their companies. Except, in other area of business. Where did they find these methods?
Modular system architecture is intuitively familiar concept to product designers and engineers. Just like products, business processes undergo conceptual design, detailed engineering, prototyping, test and validation, first release, ramp-up and full scale roll-out to the end users. It is very critical to reduce cycle times, control budgets and achieve first time quality of products, so is the case with business processes and information management solutions.
Over many years of practice, product design engineers have adopted sophisticated models to represent mathematically (some would say virtually or digitally) complex products that need to satisfy a range of requirements of end users, manufacturers and distributors. Using model-based design and simulation, product architects turn cross-disciplinary knowledge into innovation. By expanding their models to capture more requirements, design and manufacturing rules at increasingly deeper detail, engineers rely less on physical prototypes, are able to clarify requirements early, avoid costly mistakes and explore wider spectrum of alternatives to further enhance product performance, quality and reduce costs. As a result, lengthy change management cycles at later stages of product and process design are eliminated and resources spent on rework can be redirected into increased throughput of new features. Suffice to say, in an increasingly competitive manufacturing arena, model based design and engineering becomes strategic source of sustainable market differentiation.
No other area of product development has this approach as evolved as mechatronics. In mechatronics, we represent entire system of elements using virtual models to evaluate system responses to usage, production and service conditions. That way, design engineers can eliminate some and fine tune other design concepts through series of adjustments until all user requirements are satisfied and designs meet all other business criteria. Furthermore, same models can be used for synthesizing detailed design artifacts such as embedded software code and logical and physical layouts, supporting a complete design process within model based paradigm.
Creative enterprise architects intuitively recognize benefits of model based approach, and use same principles when they have to design and engineer business processes. In their approach, organization is a system comprised of functional elements that interact through interfaces and can be configured to satisfy a range of requirements. Business process is then represented by models that allow validation of various configurations, working conditions and responses to those conditions. Variability of performance metrics to variances of inputs can be analyzed to optimize design of business processes. Thus, resulting set of configurations satisfies full spectrum of requirements of the end customers, is robust to disturbances and is designed to operate within desired metrics. Furthermore, these process models can generate very detailed specifications for implementation of information management systems (functional capabilities, data interfaces, process flow logic, etc).
So, why is it that enterprise architecture largely remains oblivious to these principles? We are still witnessing document based frameworks, proliferating drawings (maps) of process flows, often depicting a severely limited set of configurations, that cannot be used for any analyses or simulations, never to mention self-generation of implementation artifacts. As if business processes do not change often enough to require fast and accurate response. Lack of model based enterprise architecture techniques and methods is a main culprit for slow adoption of SOA, otherwise a very promising paradigm of business automation.
Mechatronics system architects have abandoned drafting boards and have reduced dependency on physical prototypes. They have developed models for simulation and analysis of key requirements. They reuse standard interfaces and common components. They have developed methods for managing user options and configurations. They have parts management systems. They can evaluate critical parameters to make architectural trade-offs… Enterprise architects are still drafting, they are still struggling to make lists of parts and generate part numbering schema for standardization and reuse. They communicate using unstructured documents and slides. They are not sure what performance metrics to use for evaluating alternatives…
I have a recommendation to EA-s who rightfully have reached conclusion that SOA is superior to application chaining, but have been frustrated to date with the lack of sound methods. Spend some time working with product, particularly mechatronics architects, and ask them how would they develop a solution starting with a given set of requirements. Look how they model product functions based on requirements, how they reuse these functions, represent complex configurations, measure and evaluate system responses, and apply components standardization and architectural modularization. Then apply these principles to modeling your organization, organizational functions, standard interfaces, operational metrics, process configurations, rules, roles, … Simply, stop drafting, start modeling and many useful principles of SOA will fall into place. Take a look at reference models delivered by non-for-profit Value Chain Group http://www.value-chain.org. Their VRM and SOA-IM reference models are an excellent catalyst to jump start your model based enterprise architecture approach.
