For some reason, the most popular post of all time on this blog is from 2007, on policies, procedures, process and rules: definitions, differences, and how processes and decisions intersect both in modeling/documentation and implementation. If I look at the past year, quarter, month or week, it’s still the most viewed post in those time periods, even though it’s over 12 years old. Interesting to see what is still relevant after all this time, since blog posts typically have a half-life of only a couple of days.
A few days ago, someone named Jason Gorman (who did not note their affiliation) added a lengthy comment to the post, describing how he is reviewing the 6th edition of the PMBOK Guide, and has documented their definitions of policy, process, procedure and rule based on various sources including my original blog post. Glad I could be of service!
I really enjoyed my first trip to DecisionCAMP earlier this year, and not just because it was in beautiful Bolzano. In 2020, it will be Oslo, Norway in late June – just after the summer solstice, which is a great time to visit a northern country where the sun (almost) never sets at that time of year.
He also covers some of the particularly interesting topics in more detail, including the need for DMN 2.0, the user-friendliness of FEEL and several real-world use cases.
I also had a note from Dario Campagna regarding the post that I wrote about his presentation; I’ve updated it to reflect that the work that he presented is part of the COMPOSELECTOR project, to which ESTECO is a contributor. My apologies for the omission of the overarching project in the original version of the post, although I was live-blogging so some detail is always missed.
Modeling Decisions With Embedded Testing. Daniel Schmitz-Hübsch and Ulrich Striffler, Materna
Daniel Schmitz-Hübsch and Ulrich Striffler of Materna, who presented earlier this week on whether FEEL is friendly enough, returned to discuss testing of decision models using a tool that they have developed. The typical life cycle for developing and testing decision models has a business analyst modeling the decisions and creating test cases, but having to pass it off to a developer for executing the test cases and drawing conclusions to feed back into the design. To cut the developer out of the cycle — and therefore shorten the lifecycle — they have developed declab, a browser-based test harness for decision models and test cases. Business analysts can perform ad hoc tests, or build a tree of test cases.
This includes FEEL testing, and the business analyst can enter and test and variety of constructs to test out a field function without having to deploy an entire model — envision an analyst with their modeler on one screen and declab on another screen to allow them to do micro-testing as they design decision models.
Materna has released the tool as open source, and it’s based on Red Hat’s DROOLS engine performing the tests in the background. You can try it out online here. Lots of great suggestions and comments from the audience; hopefully some of them will contribute to the open source project.
Exploiting payroll knowledge with Viren. Tim Stuyckens, Teal Partners
Tinm Stuyckens presented on their Viren decision-based tool for modeling and executing knowledge, specifically for calculating expat tax in payroll software. Payroll tax in Belgium is particularly complex, and sometimes it’s difficult to know which statutes to apply to make the most beneficial calculation.
In addition to straightforward tax calculations, the tool can work backwards from a desired point to the necessary conditions, such as how many days to work in order to earn a certain income, or the optimal day rate to minimize taxes and earn a certain income. Business analysts can enter and modify the knowledge rules and data, while the platform handles versioning, compilation and deployment.
They use declarative rules and structured data to represent knowledge in the system, and apply constraint solvers for optimization with non-linear constraints. They only discovered DMN earlier this year and have embraced it in their tool, providing a unified DRD and decision tables to allow business analysts to more easily step through the decision logic.
The last presentation in this session was by Dennis Aarts on a use case of decision management shared services model at Informatie Vlaanderen, an entity of the Flemish government in Belgium. They provide digital services to other parts of the government, and they were looking at ways to improve the quality and consistency of their services. The solution is Automatisch Advies (Automated Advice) which includes authentic and authorized data sources, orchestration using Camunda BPM, and business rules using IBM ODM. It has an extensible architecture to allow other capabilities to be integrated in the future, such as AI/ML.
There were several goals for the project, including productivity (reducing cycle time, reuse of data), regulatory (GDPR requirements) and ease of use (business can make modifications). The solution provides a centralized platform where rules can be developed and used by multiple entities.
Having decisions as a shared service amongst many government entities has many benefits in terms of reuse across entities, and not requiring expertise or maintenance skills for the platform in each entity. Like any shared services IT, however, there are complexities in allocating costs, governance of the decision models, security of models specific to a subset of entities, and maintenance of the rule sets.
This was my last session of DecisionCAMP 2019 — I’m skipping the final vendor statements and the closing remarks to head off and have a few days of vacation before I have to return to real life sometime next week. It’s been a great experience, and thanks to Jacob Feldman for inviting me. It’s been several years since I’ve been in Bolzano, and it’s just as beautiful as I remember.
This has been a bit of an epic trip, having left home almost three weeks ago to attend the academic BPM conference in Vienna, give a keynote at CamundaCon in Berlin, then here for DecisionCAMP. You can find my coverage for each of those events at the links.
A few months ago at bpmNEXT, I saw Keith Swenson give an update on the DMN Technology Compatibility Kit, and we’re seeing a bit of a repeat of that presentation here at DecisionCAMP. The TCK defines a set of test cases (as DMN decision models, input data and expected results) that assure conformance to the specification, plus a sample runner application that will pass the models and data to the vendor’s engine and evaluate the results.
There are about 120 test models and 1600 test cases, supporting only DMN 1.2; these tests come from examining the specification as well as cases from practice. It’s easy for a vendor to get involved in the the TCK, both in terms of running it against their engine and in terms of participating through submitting new test models and cases. You can see the vendors that have submitted their results; although many more vendors claim that they “have DMN”, their actual level of compatibility may be suspect.
The TCK committee is getting ready for DMN 1.3, and considering tests for modeling tools in addition to the current tests for the engine. He also floated the idea of a standardized API for DMN as a service, so that the calling application doesn’t need to know which engine it’s calling — possibly something that’s not going to be a big hit with vendors.
Business innovation of BPO realized by Task Center and AI and Rule Engine. Yoshihito Nakayama, NTT DATA INTRAMART
Yoshihito Nakayama presented on the current challenges of BPO with respect to improving productivity, and how they are resolving this using AI and a rules engine to aggregate and assign human tasks from multiple systems to different team members. This removes the requirement to manually review and assign work, and also provides a dashboard for visualizing work in progress and future forecasts.
AI is used to predict and optimize task classification and assignment, based on time required to complete the task and the individual worker skill level and productivity. It is also used to predict workload for task types and individual workers.
Their visualization dashboard shows drilldowns on current and past productivity, plus future forecasts. The simulation models for forecasting can be fine-tuned to optimize for cost, performance and other factors. It brings together work monitoring from all systems, including RPA processes. They’re also using process mining on a variety of systems to create a digital twin of the organization for better tracking and predictions, as well as other tools such as voice and image identification to recognize what tasks are being done that are not being recorded in any system logs.
They have a variety of case studies across industries, looking at automating non-routine work using case management, BPM, RPA, AI and rules.
Spaghetti Spreadsheets Untangled – Benefits of decision modeling when uncovering complex business logic hidden in spreadsheets. Charlotte Bouvy, M.C. Bouvy Consultancy
Charlotte Bouvy presented on her work done with SVB, the Netherlands social insurance administrator, on implementing business rules management. They are using DMN-based wizards for supporting 1,500 case workers, and the specific case was around the operational control and audit departments and the “lawfulness” of how the assessment work is done. Excel spreadsheets were used to do this, which had obvious problems in terms of being error prone and lacking domain-specific business logic. They implemented their SARA system to replace the spreadsheets with Oracle OPA, which allowed them to more accurately represent knowledge, as well as separate the data from the decision model while creating an executable model.
These type of audit processes require sampling over a wide variety of case files to compare actual payments against expected amounts, with some degree of aggregation within specific laws being applied. Moving to a rules engine allowed them to model calculations and decisions, and separate data and model to avoid errors that occurred when copying and pasting data in spreadsheets. The executable model is now a single source of truth to which version control and change management can be applied. They are trying out different ways of using the SARA system: directly in Oracle Policy Modeler for building and debugging; via a web interview and an RPA robot for data input; and eventually via direct integration with the SVB’s case management system to load data.
The Decision Model for Gate Allocation. Silvie Spreeuwenberg, Librt
Day 3 of DecisionCAMP 2019 started with three use cases from industry. First, Silvie Spreeuwenberg presented on decision models for allocating airport gates, specifically at Schiphol airport in Amsterdam. Although gate plans are made a day in advance based on flight schedules, they change constantly due to early arrivals, late departures and other unexpected disruptions to the schedule. Any given day, there are 50-100 gate changes one hour before an aircraft arrival; although this was seen as a disruption, this could also be considered an opportunity for optimization.
There were a lot of rules used for the planning and reassignment that had more to do with preferences than actual optimization; they really wanted to drive towards the objective of optimizing asset usage and therefore airport capacity. There are a lot of factors involved, such as having sufficient gate area capacity to handle the number of passengers for a flight, or having buses available to offload flights that can’t be assigned a gate. They have created a policy for aircraft stand allocation which includes some identifiable decision tables, although these are just at the strategy documentation phase.
Definitely a complex problem that has applicability at every major airport around the world.
A hybrid implementation of multi-channel, multi-modal, high volume financial risk monitoring. Martijn Tromm and Marten Schokking, Oracle
Marten Schokking and Martijn Tromm presented a use case from Rabobank using decision management and machine learning for customer risk assessment in terms of KYC (know your client) and AML (anti-money laundering). This is used during client onboarding, but also during periodic reviews as well as reviews triggered by specific events. There are scoring rules that use data input from a variety of sources, including client information from a CRM, interview responses and policies.
There are government regulations requiring that this be done for all clients at certain times. A triggering event, such as a change in the customer’s circumstances, will cause a customer interview and other data analysis to recalculate the risk; this may result in a more detailed manual review of the risk. At this point, there is still a lot of employee work which is creating a challenge in completing the customer risk assessments within the regulatory deadlines; they are looking at how to automate the basic assessment using machine learning in order to reduce the manual work required.
The risk model has been built using Oracle Policy Automation rules engine integrated with the Siebel CRM. They are reusing rules across channels where possible, and the use of natural language in the rules definition helps with traceability to the policies. They are continuing to innovate with rules, such as having context-driven rules based on user behavior on specific channels, and having a fast two-day turnaround for rule changes related to certain types of policy changes. The ability to predict the impact of policy changes based on actual data allows for operational planning to accommodate those changes.
The Role of DMN and BPMN in the Design of Composite Materials. Dario Campagna, ESTECO
Dario Campagna presented on how the COMPOSELECTOR project is integrating material modeling and business process management in a decision support system for composite material design; this type of design can have complex requirements, business decisions and simulation workflows. Using application cases from Dow, Airbus and Goodyear, they modeled the business flow using BPMN and DMN. ESTECO, which creates software tools for engineering design, is a contributor to the COMPOSELECTOR project.
While BPMN is used to model the flow at the business level, DMN decision tables are used to make decisions on the class of materials and manufacturing process, then on the simulation workflows to use based on business and engineering KPIs. DMN provides the link from the business layer to the engineering layer, then to the simulation layer. Using DMN provides a higher level of consistency in decision-making, which leads to better design and lower costs.
We saw a brief video of a demo of the system in use: a business-level manager selects high-level parameters and KPIs for the proposed design; this selects one or more simulation models for the material design, which is then confirmed or decided by an engineer; the results of the simulation are passed back to the manager for final decision-making. This has the effect of integrating the business and technical sides of the design process, and include modeling and simulation results in the business-level (human) decisions in a standardized way.
Model-Based Optimization for Effective and Reliable Decision-Making. Robert Fourer, AMPL
Robert Fourer presented on model-based optimization, starting with a bit of background on mathematical optimization techniques and the optimization cycle in practice. He looked at method-based approaches — which define how a solution should be found — and model-driven approaches — which define what a solution should satisfy. There are several solver solutions (often algebraic in nature) that allow you to solve within a broad problem class that is well understood by providing your specific constraints. When a problem changes, a method-based approach requires rethinking and updating the implementation, whereas a model-based approach will require new variables, expressions and constraints but this is typically easier than updating methods.
I’m fairly sure that the subtleties of how this relates to decision management have escaped me, although I can see some conceptual links with the earlier discussions on declarative rules: potentially declarative rules could be used to generate the algebraic notation that was presented in order to create inputs for a model-based optimization.
Decision Management Journey at Hiscox Claims. Larry Goldberg, Sapiens, and Harriet Parkinson, Hiscox
The last presentation on day 2 of DecisionCAMP is a customer case study, with a Sapiens implementation at Hiscox UK Claims. It sounds like they were in the same position as pretty much every insurance claims operation that I’ve seen: little to no automation, and decisions based on the expertise of the claims managers. In other words, a great opportunity for decision management (and process management). As a specialized insurer of high-net-worth customers, however, they have additional drivers for automating the routine administrative parts of claims: their claims adjudicators are highly skilled and well-paid, often lawyers, who do not want to be spending time on admin. There’s also market pressure to start processing claims digitally to reduce the cycle time for less complex claims, or at least triage and process the FNOL (first notice of loss) automatically.
Decision management is especially important for claims in order to ensure consistency: whether the DM system is providing a recommendation to a human claims adjudicator or automating the decision, the decision should be the same from one instance to another given the same inputs and context. Automated decision management is key to increasing the number of day 1 settlements for straightforward claims, while more complex claims will still be done with that human touch. They need to have the ability to change the rules to account for surge scenarios, such as flood that impacts a large number of customers and causes a large number of new claims; this could just change thresholds for determining whether a claim could be automated, or could do some other form of triage on the claim. I talked about scalability for resilience in my CamundaCon keynote last week, and definitely having the ability to quickly change decision parameters is part of that.
They’ve been through the design sessions and the implementation is underway; the final decision models will be built and tested this year, with the full implementation integrated with their claims management system in 2020. Changes to the rules can be done by business analysts, most without IT involvement. In addition to managing decisions that are part of the claims process, the Sapiens system will provide next-best-question support for interactive customer self-service forms (or maybe a chatbot in the future) that can perform an initial triage to determine if a claim can be handled automatically or requires a claims adjudicator to talk to the claimant. One lesson learned is that the initial models took much longer than they expected: almost a year versus the estimate of a couple of months to get a consistent model that was accepted by all business users.
I’m up next to moderate a vendor panel, which will close out this second day of DecisionCAMP. Back tomorrow for a last full day of sessions.
Gary Hallmark presented on the next major version of DMN that’s in the works, starting with a timeline of what’s happened so far since the original RFP in 2011 up to the expected 1.3 release later this year. He added the question mark to his title because whether to issue a major (fix the mistakes of the past) or minor (patch and live with the mistakes of the past) release is still under consideration. He went through the top 10 requested features, half of which can be backward-compatible with DMN 1.x (i.e., DMN 1.x models can be ingested and executed in the new version) and half of which can’t.
He mentioned the issue of harmonization of DMN, BPMN and CMMN, a topic that I am especially interested in, and plan to ask the vendors about later this afternoon when I am moderating the panel. That can include a common item definition model that is used by all three notations, tighter integration of DMN with BPMN gateways and CMMN sentries, and easier reference and interchange between the model types. This could also include the use of FEEL and decision tables for expressions and logic in BPMN and CMMN, such as at gateways and in data associations. We already have the problem of keeping a collection of different model types sorted out, and there may need to be a “model of models” concept to tie these together.
Better model validation is another request for the next version of DMN; I don’t have a lot of experience with DMN, but judging by the comments here, the “null” returned for all types of errors is definitely a touchy issue. This could be improved with a “required” property in item definitions and model validation with respect to the item definitions. Additional datatypes would also be useful, such as integers and some types of ranges. There are suggestions for better ways to deal with iteration and recursion in a new version of DMN, some of which are already being done by vendors such as Oracle in their products to make it easier for business analysts to understand and model.
Something that seems simple but would break compatibility is moving to case insensitive names (indicating just how IT-centric the original, and possibly the current, committee was), and handling some things such as single-quoted strings unambiguously. Moving to Xpath-like sequences instead of the current lists also wouldn’t be compatible, nor are many types of recursion and cyclic information requirements.
As mentioned earlier, half of the top requested features could be done in 1.x because they don’t break compatibility; one option is to implement those in a 1.x version and leave the others for now. The alternative is to start the DMN 2.x RFP process, which is a much larger undertaking, which will delay the implementation of those features but will open the door (or Pandora’s box) for a completely new version of DMN. Lots of great discussion at the end of this presentation: many of the people in the room are active contributors to the standard and/or vendors who implement the standard, so they definitely have both knowledge and opinions on the subject.
Quality of Decision Models. Jan Vanthienen, KU Leuven
Jan Vanthienen presented on measuring quality of decision models, starting with notions of information quality, resulting in measures such as complexity and traceability. For example, you can look at complexity of a DRD based on number of decision, number of elements and cyclomatic comlexity; complexity of a decision table can be based on hit policy usage and total number of input variables.
Consistency and interpretability in decision tables can be measured by a unique hit table (no overlapping rules) and a natural order for easy visual reading of the rules — it is more important to be correct and consistent than compact.
There’s a contextual quality factor when we look at a decision model that is related to a process model, where the connections between the two models can be fairly complex. He presented a set of guidelines for integrating processes and decision, including avoiding embedding decisions in gateways: something that happens all the time, in my experience with process modeling.
He covered some ideas on decision modeling methodology for creating the models of highest quality: usually this will involve working back and forth between the DRD and the decision tables, rather than trying to do a pure top-down or bottom-up approach. There’s a lot of past research that covers many of the issues of creating quality models, most of which predates BPMN and DMN but the same principles apply. The DMN and BPMN standards embody some of these principles, such as separating decision and process logic.
Business Rules — Focus on “Business”. Guilhem Molines, IBM
Guilhem Molines presented on what business analysts can do in the creation of automated decisions before developers need to get involved (or take over), and what the modeling tools can provide to help them get further in the process independently.
Clearly, business analysts can model business decisions at the level of a decision requirements diagram (e.g., DMN DRD) that shows the entities and information required to make a decision. Then, the data and decision models required for implementation can be created by the business analyst or co-authored together with a developer. IBM’s ODM tool has authoring assistance such as smart predictions to guide an analyst while they are modeling, plus suggestions to define terms in the model as they are used in a rule definition.
In authoring decision tables, assistance may include Excel-like functions for copy and paste or smart drag to extend a range; as a table is being defined, there can be guidance to check for gaps and overlaps in the parameter ranges. Being able to do instant validation for a decision table by entering data values and seeing the calculation result (without deploying the rule) builds confidence in the logic implementation.
A more comprehensive “unit testing” approach allows the analyst to provide a number of input parameter sets in a spreadsheet or similar tabular form and see the results. A further step in testing decisions is simulation based on a large quantity of production data; then integration testing in a full test environment before promotion to production.
Much of this presentation was based on IBM ODM capabilities, although some good ideas here for any modeling environment.
Combining Decision Models for Better Decision Management. Fernando Donati Jorge, FICO
Fernando Donati Jorge presented on whether we have the right decision model to solve mysteries in addition to puzzles — an interesting distinction, where puzzles can be solved given the right information, while mysteries may not have a well-defined answer and can depend on future interactions.
The challenges with mysteries is that there is too much data but no indication of the most relevant bits; they are full of uncertainties; and they depend on future known and unknown interactions. Decision models can properly contextualize data, but don’t measure relevance. Predictive analytics can quantify uncertainties, and decision models can contextualize the use of different types of knowledge models. An analytic decision model (a Gartner term, which does not include DMN decision models) can represent how different decision outcomes can lead to different future interactions.
Typically, there are two separate types of decision models: one that models the input data and business knowledge model that results in a decision (a DMN model), and the other that models how a decision impacts business performance. If you want to combine these into a single model, an extension to DMN is required to be able to model performance metrics, which in turn have models, decisions and data as inputs.
This DMN extension is available in the FICO Analytic Cloud for adding KPIs to decision-making. Good discussion about how they handle latency for calculating the performance metrics, and the issue of metrics aggregation over multiple decision instances. They don’t currently allow a performance metric to inform (provide input to) a decision, but that’s obviously open for future discussion.
Both of the presentations in this section have looked at how vendors are adding value to their DMN-based modeler: IBM in terms of interactive to assist the modelers in creating better models, and FICO in extending DMN to include performance metrics directly in a decision model.
Trends in Enterprise AI and Digital Decisions. Mike Gualtieri, Forrester
Day 2 of DecisionCAMP 2019 in beautiful Bolzano started out with Mike Gualtieri giving the Forrester view of trends in the market around AI and automated decisions. This was a typical analyst presentation — sorry, no notes — presented as part of the larger BRAIN 2019 (Bolzano Rules and Artificial INtelligence Summit) of which DecisionCAMP is a part.
Ron Ross presented on the current state of business rules and opportunities moving forward. To start, we have made progress in this area — DMN for one thing is an amazing leap forward — but business rules are not yet universally accepted and adopted within organizations despite the provable benefits.
One opportunity for business rules tools is to reduce developer workload, and to reduce rule programming errors. In alignment with Semantics Of Business Vocabulary and Rules (SBVR) standard, there are two types of rules: definitional rules and behavioral rules. Definitional rules may be incorrect or misapplied, but they can’t be directly violated since they are evaluated in the course of a process; declarative behavioral rules, on the other hand, require a “watcher” to track other events that may cause the state of another process or transaction to change. If implemented properly, behavioral rules can reduce developer workload since the event-driven watcher updates state constantly based on these rules firing. DMN does not allow modeling of these types of decisions, since there needs to be more awareness of state as well as the events that may cause it to change; there is no concept of a watcher daemon that can constantly evaluate rules and update state.
There is also a need to better address sentiment and human discretion in rules. With behavioral rules that are enforced by humans, there are levels of enforcement; these nuances are not captured in most rules/decision systems.
Rules tools also need to tie in more directly with business governance in order to enforce regulatory and other rules under which an organization needs to operate. Many of these are behavioral rules, which are not handled adequately by DMN and most decision management systems due to the lack of an event-driven watcher; there is also a gap caused by the lack of natural language support in defining executable rules.