Guideline: Decision Point Discovery Guidance
Related Elements
Main Description

Decision points are point of variability in the business process which makes decision on information data given as input. A decision is a choice or a selection, is made after considerations, and results in action. When implementing decision with software we are looking at operational decisions related to operations like eligibility, validation, calculation, risk assessment, opportunity, etc... Those decisions involve worker's or subject matter experts' knowledge. The logic for making a decision should not be locked and therefore can be externalized to a business rule management system. The analysis of decision points start by the process analyst / business analyst working with Subject Matter Experts to understand how decision are done on a piece of information. This analysis activity is done by doing the process modeling, or the business use case modeling. The search for mental thinking verbs like analyze, check, validate, evaluate, verify in the description of an activity can help identifying decision point, as well as looking and understand how data are built. Looking at a business entity life cycle helps also identifying the decisions applied to change its state.

The type of decision will most likely be a reject or accept of the business event or flag it for future processing downstream in the business process. The decision may also include some computational expressions to assign value to attribute of the business transaction.

When there is a human task and conditional node you can expect to find decision point there. A human task can also being sub decomposed in an automatic task which performs the main stream of decisioning and an exception task done by a human expert. In most business process there is the existence of validation step to ensure data quality: those steps are source for business rules.

It is recommended to define the interface of each decision point and then consider the implementation choice later. Using rule engine technology is the best choice when business users want to change the business logic over time, to enforce auditability, to trace the decisions done on a given business event. During the inception phase the project team is doing business modeling activities which aim at describing the business process and decisions applied to any business events supported by the application. Decision points are extracted at that moment and logged in the decision point table

When designing by services, a decision service is business service making decisions, so linked to decision points. A decision service can serve multiple decision points in a process, if they are sequentially related. Most likely a decision point will be mapped to one decision service. The implementation can use a BRMS rule engine, to support ease of change and adaptability. Decision service can be implemented in traditional software language, but will most likely be more efficient in rule engine language, because over time new decision criteria will be done.

The process of designing, implementing decision service should not be thought as a one shot deal. This is a process which has to be managed over time, and well supported by a BRMS with the governance processes.