Why I use DEMO - And why you should consider using it
In my opinion, DEMO is a true gem in enterprise modeling and I use it for many purposes. In this blog I outline the main reasons for me to use DEMO - along side other modeling techniques - and show several example use cases. Let me know in the comments why you would (not) use DEMO!
A DEMO model is objective, human-centred, coherent, concistent, concise, complete, abstracted from implementation and precise. Moreover, it is fully aligned with common (software) architecture design patterns. These properties provide several use cases in redesigning enterprises, in both its human dimension and IT support.
Main Advantages
Objective
A DEMO model is about the construction of an enterprise. Since there is only one construction (at a given time), modelling its construction is an objective exercise. Functional models are stakeholder dependent, and thus require much more time to align with those stakeholders. In my experience, there is far less discussion about the construction of an enterprise (in terms of transactor roles), than about the value of some service or the requirements for some software system.
Human-centred
DEMO puts the actors, human beings, at the heart of the operation; this is also known as human-centred design (in Dutch: menselijke maat). It gives responsibility (and power) to the actors that execute tasks. In contrast to software, humans can truly assess a situation and divert from the rules when this is, e.g., considered better, more customer-oriented, or more ethical.
Coherent
A DEMO model is a coherent whole of responsibilities, products, processes, information (or data) and business rules. No need for other modelling languages and/or to integrate different models, e.g., to link a BPMN process model with a UML class diagram.
Consistent
As DEMO is not just a modeling language, but includes a modeling procedure and validation rules, a DEMO model is consistent, i.e., without internal inconsistencies between the different aspects.
Concise
A DEMO model is concise; it contains nothing more than not needed for its operation. For example, it only contains the entities, attributes and business rules that are needed for execution, and nothing more – if it contains more, this will trigger a validation rule, see previous point.
Recommended by LinkedIn
Complete
A DEMO model is complete in the sense that the transaction pattern defines all possible process exceptions. There is no need to think about the exceptions that can occur, you only need to think how to deal with them. This is also offers benefits in terms of consistency in UI
Abstracted from implementation
A DEMO model is abstracted from implementation decisions, such as who exactly performs some action – a human-being or some physical or IT system. As a result, a DEMO model is relatively stable and the same for, e.g., every pizzeria; differences only occur in its implementation, typically steered by design or architecture principles. This enables
Precise
A DEMO model, although abstracted, is very precisely defined. This allows for deep, possible automated, analyses and software generation, as will be shown in the section below.
Aligned with architecture patterns
The ideas behind DEMO align very well with common (software) architecture design patterns such as (micro)service architecture, event-driven architecture, and CQRS.
Example Applications
Want to read more?
On the DEMO website you can find (introductions into) the DEMO way of thinking and modeling, in both English and Dutch.
On our website TrivesIT.com you can find more blogs on Enterprise Modeling and Model Driven Software Development.
Enterprise Architect R&D at BASF - NOT a landlord
2wMarien Krouwel We use #DEMO for business modeling to gradually build up an integrated view of the essence of our organization. Sometimes this happens as part of solution design activities, sometimes it happens alongside operational excellence initiatives, sometimes during digital strategy work for individual business functions. I know of no better method to build a concise understanding of the business and from there drive information systems architecture.
Entrepreneur | Low Code Expert | Solution Architect | Trainer | Researcher
2w🧩 Wouter Penris Peter Kuipers Martin Op 't Land