What Is DMN?
DMN, which stands for Decision Model and Notation, is a relatively new standard managed by OMG, the organization behind BPMN. It is trying to do for Business Decision Management what BPMN did for Business Process Management a decade ago: empower the business to take charge of the logic that drives its operations, through a vendor-independent diagramming language. To be effective, that language must be both usable by business analysts and stakeholders in the business and verifiable for completeness and consistency. DMN is both.
Where BPMN models have become the norm for describing the sequences of activities that comprise everyday business processes in the organization, before DMN there was no comparable standard for describing the decision logic used for everything from pricing to regulatory compliance to approval of loan applications. Often that logic was frozen, embedded in some enterprise system. To create decision logic customized to your own business, typically you needed a Business Rule Management System (BRMS). BRMSs have proven to be powerful, effective tools, but each one has its own tool-specific programmer-oriented rule language. So to specify the decision logic, BAs and business stakeholders must create business requirements documents, which are interpreted by the programmers and translated – often imperfectly – into the rule language, after which a long cycle of testing and revision ensues.
Business requirements for decision management take two forms: unstructured text, easy to create but impossible to verify for completeness and consistency; and decision models, based on a business-friendly interface and structure, verifiable and more easily translated into the rule language for execution. Decision models are clearly the better choice, but the problem is that these models are BRMS-specific. Every tool has its own modeling language! At the enterprise level, many financial institutions, government agencies, and other decision-intensive organizations have multiple BRMSs installed, creating additional problems of training, support, and maintenance.
Instead, DMN provides a tool-independent decision modeling notation, designed by expert practitioners from FICO, Oracle, IBM, KPI/Sapiens, and others. New DMN-based decision modeling tools are becoming available, separate from the BRMS, with the ability to translate their business-friendly and verifiable models into the rule languages of popular business rule engines. The advantage of an industry-standard decision modeling notation also includes lower-cost tools and wider availability of training and support.
DMN is an open standard. Like BPMN, its concepts and formats are not the protected intellectual property of a tool vendor or consulting firm. DMN 1.0 was published officially in September 2015, but implementers should focus on DMN 1.1, finalized in December 2015 and on track for publication in 2016, which fixes some problems with the metamodel and schema.
Two key features of DMN are the Decision Requirements Diagram (DRD) and decision tables. The DRD describes the dependencies of a decision (rectangle shape) on other supporting decisions and information sources called input data (oval shape). Those supporting decisions may include human decisions and external decisions – for example, provided by a business system or an external service bureau – for which the decision logic is not defined in the DMN model. Unlike other decision modeling notations, such as The Decision Model (TDM) of Sapiens, execution of a decision at the top of a DRD may require multiple steps separated in time, so it is capable of describing, in a simple picture, the end-to-end logic of complex business decisions.
Reusable bits of decision logic may be displayed in the DRD in the form of business knowledge models (BKMs – rectangle with clipped corners), which are called by a decision using input values for a particular instance. The DRD also can link a decision or BKM to knowledge sources (wavy-bottom shape), model annotations representing the “authority” behind the decision logic, such as policies, business rules, or analytical models. Thus in a simple diagram, DMN can depict all of the variables and authorities behind a complex business decision. BRMS-specific decision modeling tools typically cannot do that, nor can TDM.
Behind each decision and BKM in the DRD is the decision logic, typically either a decision table or a literal expression, i.e., a text string in a defined expression language. Decision tables have been around in various forms for decades, and DMN imposes a number of constraints on their format. In the most common format, the top row of the table names the inputs and outputs, and each row below that defines a decision rule. Each column in the rule defines a condition applied to the input at the column heading. If all conditions for a rule are true, it is said to match and the output for the rule is selected as the table output value. For example, in the table below, if Customer = “Business” and OrderSize<10, then Discount=0.10. Decision tables are not only easy for BAs and business stakeholders to define and understand, but can be verfied for gaps and inconsistencies in one click.
To be verifiable, the elements inside each cell of a decision table – as well as the text used in a literal expression – must be based on a formal expression language. This is the hard part, because you want that expression language to be usable by BAs and business stakeholders but at the same time rich enough to handle real-world decision logic. Otherwise, we’re back to the bad old days of text-based requirements that must be interpreted and translated by programmers. DMN actually had to invent its own expression language for this, called FEEL. Decision tables, like the one above, use a simple subset of FEEL called S-FEEL, but FEEL actually provides a wider range of functionality than the rule languages of commercial BRMSs. We’re still waiting for DMN tools to fully exploit FEEL, but that day is not long off.
These are still early days for DMN. Its key advantages are that it is tool-independent and business-friendly, has a public specification based on an open process, and creates models that are precise, verifiable, and – once DMN’s full power is implemented in tools – richer in functionality than proprietary rule languages. DMN is the future of Business Decision Management!