Saturday, 29 December 2012

Intrinsic Interoperability of models


One of  the interesting problem within an typical enterprise is the issue of lost in translation.....basically objective of building business capability and corresponding IT capability normally tends to get lost during flow of activities across teams (say...Business --- Enterprise Architects ---- Project Architects ---Technical Leads --- Designers --- Developers). Now the question is why is it happening? Obvious answer is decision taken at each level is not getting properly communicated and adhered to. At the same time, there is no obvious mechanism to detect this failure early enough to avoid any accident. 
Let’s look at an analogy. Say "God" has given you the responsibility to create a new solar system with planets like Earth and also with built-in cities and towns with all amenities including housing. Now "God" wants to validate if everything is created as per his vision …..basically by looking at different views from planets to continents within the planet to countries within the continent to states within the country  then to cities within the state.  If you had designed with tools with features like Google Maps which will provide ability to zoom into details starting from high level view of planets to continent to country, then could zoom into state level, then zoom into city level ...zoom into detailed view of city.....it will clearly show how things are tied together.  Beauty of such a model is that all the views are intrinsically tied together which ensures design decision at various levels are implemented as planned.

Now coming back to the problem....in IT, as we know each team creates different models(like business motivational model,  business process model, service model, security model, information model, component model plus others) which is best suited to convey their decisions. One of the inherent issue is there is no standards that tie together those models in terms of relationships between elements across the models, trace-ability between models. This is because most of standards are defined by different groups for a specific problem and there is lack of standards that tie them together unless you use single standard like UML alone. But UML alone is not enough to capture all aspects of business and IT capabilities.  Another aspect is about diagram interchange as each team may be using different set of tools with support for subset of adopted standards. (For instance, component designer may be using uml modelling tools which may not have support for BPMN standards.)  This is also adds to the problem as all relevant models may not be available within a single tool so context get lost. To address the problem, I would suggest following as steps
  • Adopt modelling standards at enterprise level which aids intrinsic interoperability
  • Bring in internal modelling standards for bridging the gaps in areas like relationships between elements across the models, trace-ability between models. 
  • Adopt tools which support almost all modelling standards adopted at enterprise level. At the same time, places where there are gaps...build utilities which enables diagram interchange or creates some kind of mapping information
As a long term solution, there should be standard which ties various models which is required in a typical enterprise. Hope to see some activity in standards body on the same.

No comments:

Post a Comment