Modern enterprises are complex systems operating in highly dynamic environment. The time to respond to the various change drivers is short and the cost of incorrect decisions is prohibitively high. Modern enterprises tend to exist in silos, leading to fragmented knowledge with little support available for composing the fragments. Current practice, relying on past experience and human expertise, is turning out to be inadequate in meeting quality and timeliness of responses. We propose an approach to the specification of an enterprise that supports multiple perspectives, modularity and localization, and intra-organizational dependencies. A technological infrastructure that supports the approach is also being developed.
Modern enterprises are subject to multiple change drivers such as entering new markets, opportunities arising from advances in technology, technology and skills obsolescence, regulatory compliance, etc. The speed of responses to such changes is becoming increasingly important and the cost of incorrect decisions is getting prohibitively high. In order to respond to these change drivers, all aspects of a business must be clearly understood so that decision making can lead to efficient and effective changes. It should be possible to play out various what-if (that is, what will be the consequences of a certain action) and if-what (that is, what might have led to a certain situation) scenarios to arrive at the right response, establish the feasibility of the response, and estimate a ROI of the response.
The pain points
Today, the response to such situations is based largely on past experience and human expertise, making it an error-prone, effort-, time- and cost-intensive endeavor. Translating these responses into individual actionable decisions is also an important concern. This concern is currently addressed by relying solely on human experts who are expected to keep track of the various influencing factors, their interdependence, the decisions these factors influence, and interdependence of these decisions. This seems too big a task considering the size and complexity of modern enterprises.
Model Driven Engineering (MDE) – a possible solution?
The first problem we seek to solve is to reduce the reliance on human expertise and past experience in order to respond to the various change drivers. We believe that the scale and complexity of modern organizations together with the required pace of change makes human-based processes incomplete and prone to error. Human-based processes are highly vulnerable to normal staff turnover and introduce an additional knowledge management problem.
We believe that Model Driven Engineering (MDE) can offer a solution to this problem.
MDE has been used to good effect in software systems development where system implementation is automatically derived from its high level specification in terms of models.
Application of MDE techniques to organizational decision-making involves providing models that reflect the perspective of the key decision makers. To achieve this, we apply techniques from Domain Specific Modeling (DSM) that engineers languages (DSLs) to contain concepts that are closely aligned with a given domain. This provides key stakeholders with a modeling system that is business-facing. We envisage a system whereby an organization is modeled from a given viewpoint, parameters are initiated, and simulation and analysis are conducted to produce what-if and if-what results that help determine choices between change response alternatives.
The use of DSM techniques raises a challenge: how can a single approach be developed that accommodates the breadth of decision-making use-cases across an organization? This leads to a further proposition: organizational models and the corresponding simulation and analysis can be performed in terms of a general purpose core representation.
Such a representation is not appropriate for the decision-making stakeholders since it will be basic. However, it can be used as the target of all DSL translations, thus making the development of simulation and analysis machinery cost effective. For any given use-case, it is necessary to develop a DSL and its translation to a core language. Each such DSL and translation becomes a reusable decision making tool and multiple tools can coexist and inter-operate through the core.
The road ahead:
Towards this objective, we are developing:
- A layered multi-perspective modelling architecture that accommodates both DSLs and the core
- A language capable of specifying the what, the how, and the why concerns of an enterprise in an integrated manner
- A component abstraction capable of [de]composing an enterprise model specification at various levels of granularity
- The necessary model processing infrastructure providing automation and analysis to the practitioners.
These enablers will be demonstrated using toy-yet-believable prototypes. More on these demonstrators soon.
If you are facing similar problems, we would like to know more. Who knows, you might get a prototypical solution for free!
Please get in touch with me on LinkedIn or share your comments below.