Sunday, January 5, 2014

An agile approach to analyzing business rules

Business rules are used to capture complex operational decision logic typically found in corporate policies, government regulations, and industry guidelines. For example, in the healthcare industry, clinicians must adhere to clinical practice guidelines (CPGs) and other evidence-based care recommendations. Clinical Decision Support (CDS) systems which provide care recommendations to clinicians are usually designed with a business rule engine.

In the area of Big Data, operational decisions can also be derived from the analysis of operational data using predictive analytics. In the healthcare domain, the analysis of patients' clinical data in electronic medical record (EMR) systems can inform clinical decisions as well.

Benefits of Business Rules

The following are some benefits of designing business rules applications:

  • The business logic of the application can be externalized in the form of declarative business rules. This contrasts with an approach where business rules are embedded in procedural code.

  • Business Analysts (BA) and Subject Matter Experts (SMEs) can help create, test, and maintain the business rules. Some business rule management systems (BRMS) provide the ability for BAs and SMEs to use tools like a spreadsheet, a domain specific language (DSL), or an intuitive user interface for creating and testing business rules. Examples of BRMS include JBoss Drools and IBM ILOG.

  • There is often a requirement to integrate business rules and business processes. For example, clinical decision support (CDS) systems based on business rule engines should be well integrated with clinical workflows which are essentially business processes that can be modeled using the business process modeling notation (BPMN). There are different patterns for integrating business rules and business processes. A business process like a clinical workflow has decision points that are implemented by business rules. 

  • The ability to perform simulations and what-if analysis during development. 

  • Business rules enable consistent and repeatable decisions. In the healthcare domain, this can be used to achieve evidence-based care standardization among clinicians.

  • Business rules allow the organization to improve the quality and speed of operational decisions as determined by metrics like key performance indicators (KPI). In the healthcare domain, this can help meet clinical quality measures and improved patient-centered outcomes.

  • The effectiveness of the application can improve over time by logging and monitoring the executions of the business rules in an operational environment.

The Agile Business Rule Development (ABRD) methodology

Originally created by IBM and donated to the Eclipse Foundation, the ABRD provides an agile and iterative approach for designing, developing, testing, and deploying business rule applications. The diagram below represents a high level overview of the ABRD process (click to enlarge).

 The ABRD process is divided into the following five phases:

  • Harvesting
  • Prototyping
  • Building
  • Integrating
  • Governance

A complete description can be found on the ABRD page. The site also contain various tools and templates for using the ABRD. I also found these two books interesting for learning about business rule applications:

  • Jérôme Boyer, and Hafedh Mili. Agile business rule development process, architecture, and JRules examples. Springer, Berlin; Heidelberg; New York, 2011.
  • Taylor, James. Decision Management Systems: A Practical Guide to Using Business Rules and Predictive Analytics. IBM Press, 2011.

No comments:

Post a Comment