Decision Table in Enterprise Architecture

In an ever changing business environment driven by information technology, it becomes critical for businesses not only to transform their business models rapidly, but also to ensure that their information system remains aligned with their latest business strategies. Decision table is a technique that enables business rules to be made, adjusted and integrated into a running information system quickly and efficiently. Decision table provides a common interface that allows enterprise architects and developers to work from the same piece of information - the business rules. While enterprise architects plan and document businesses rules with decision table, developers study the same decision table and translate the business rules into programming logic. This ensures that the information system is always aligned with the business strategy to achieve the expected business outcome.

January 21, 2013
User Rating: / 1
Views: 2,095
PDF Link Add comments

In this tutorial, we will demonstrate the use of decision table in representing the business rules of a store. In order to complete this tutorial, you need to have:

  • Basic knowledge of modeling in Agilian
  • Agilian Enterprise 10.1 or higher installed

Layout of a Decision Table

A decision table is a two-dimensional matrix that composed of conditions, actions and rules, and is divided into four quadrants:

Conditions Condition Alternatives
Actions Action Entries

The quadrant of conditions contains rows of conditions that may affect the action to perform. The quadrant of actions lists out the actions that may be taken. Condition alternatives and action entries together represent a set of rules, with each rule (column) representing certain combination of conditions and actions.

Benefits of Using Decision Table

Decision table is particular helpful when dealing with a large number of conditions, and when the conditions can be combinations into a variety of situations.

  • Able to group conditions regardless of their complexity, and present them in the simplest manner.
  • Able to uncover all possible combination of conditions.
  • Enables user to concentrate on a single rule out of all possibilities. This makes understanding business rules much easier than taking any other approaches.

Building a Decision Table

A store wants to run a discount campaign to attract new customers. The store owner decided to offer different discounts base on the following conditions:

  • Customer is a youth customer (with age under 18)
  • Customer is a member
  • Transaction above $1,000

However, he has no idea about the amount of discounts to offer yet. He wants to find out the answer by developing a decision table. The result will be integrated into the store's ordering system.

Let's develop a decision table to show all the possible combinations of conditions and determine the amount of discounts to offer.

  1. Let's start by creating a new decision table. In Agilian, click on Business in the toolbar. Select Business Table from the drop down menu.
    create decision table
  2. Add the conditions into the upper left quadrant of the decision table. You can add a condition by clicking the Add Condition button in the toolbar on top of the decision table.
    add condition
    Here you have three conditions to add: Youth customer (Age < 18), Customer is a member, Transaction > $1,000.
    conditions entered
  3. Determine the possible actions to be taken. Obviously one of the actions is Offer discounts. You can add multiple condition rows for each of the possible amount of discounts, i.e. Offer 10% discounts, Offer 20% discounts, etc. In this case, we take another approach. Add a single action Offer discount. We will specify the amount of discount directly in the table cells. This will be explained later on in this tutorial.
    offer discount added
  4. Besides offering discounts, the store owner also wants to convert customers who paid more than $1,000 to long-term members. This is achieved by inviting them to become members when they pay. So let's add an action Suggest membership. You can add an action by clicking the Add Action button in the toolbar of decision table.
    actions created
  5. We are going to add rule columns to the decision table. There must be enough columns that can accommodate all the possible situations, formed by different unique combinations of conditions. In order to know the number of columns to add, determine the number of alternatives for each condition first. In this case, there would be two alternatives (either Y or N) for each condition. The maximum number of columns is calculated by multiplying the number of alternatives for each condition. As there are three conditions and two alternatives each, there would be 8 set of conditions.
  6. Add 8 rule columns to the table. You can add a rule by clicking the Add Rule button in the toolbar of decision table.
    rules added
  7. Fill in the condition alternatives to represent all the possible combinations of alternatives. "Y" is inserted for conditions that are met, "N" for not met.
    rules filled
  8. Before we move on to the conditions part of the table, let's review the rule columns and eliminate those invalid situations. According to the store's policy, membership is only available for adults. In other words, a customer cannot be both a youth and a member. Therefore, the combination of conditions reflected by rule 1 and 2 are mutually exclusive. Remove them.
    remove rules
  9. Now, study the situations one by one. Let's say 20% discount is offered for youth customer with transaction more than $1,000, enter 20% in the cell that intersects rule 1 and the Offer discount action.
    action filled
  10. Only adults are allowed to become a member, so just leave the Suggest membership action unfilled.
  11. Study the other situations and complete the table. For the fifth rule, "X" is marked for the Suggest membership action to indicate that the customer will be invited to be a member.
    actions filled
  12. The decision table is basically complete. Check it for any invalid situations or redundancies. In this case, rule 3 and 4 can be combined because the amount of transaction does not affect the action to take. Let's combine them and replace the alternative of Transaction > $1000 with a dash, which signifies that the condition can be either Y or N and same set of actions will be taken.
    decision table complete

Related Links

  1. User's Guide - Creating a decision table
  2. Agilian's decision table support

Rate this Article

Click on one of the stars below to rate this article from 1 (lowest) to 5 (highest).

You may be interested in

  1. Write testing procedure to use case flow of events
  2. Representing end-to-end enterprise architecture with ArchiMate
    Tagged:
  3. Drawing Business Motivation Model (BMM) diagram
  4. Organize enterprise design with Zachman Framework
  5. Importing Visio drawing as stencil
    Tagged:
Tags of this article:

Comments (0)

Write comment

Rating

Comment

Enter the calculation result

security code