I got a great example today of the value of automating decisions in a flexible way. A major retailer, that I know to be a user of business rules, had finally got some Nintendo Wiis in stock. Like many of you I have been trying hard to find one over recent months so I immediately went and placed an order. I then got a call at home to verify the transaction. Not because I am a bad credit risk, not because there was a problem with my credit card or my address, but because the retailer is trying to ensure that it sells Wiis to people who do not plan to resell them.
I appreciated that the retailer's system was flexible enough to let them add reasons to have someone call and it seemed to me a perfect example of a decision service:
- Define a decision point in the transaction - after the website accepts it but before it is fulfilled.
- Call a decision service at that point to decide if it needs to be manually confirmed by a customer service representative.
- Based on the response of the decision service either mark the transaction as pending manual confirmation and put it on the call center's "to call" list or pass it on to the back-end system.
Neither the CSR nor the website need to know all the reasons for a referral, nor do these reasons (rules) need to stay stable over time. Different products, customers, credit cards, categories, times of day or phases of the moon can drive the rules in the decision service and only the decision service needs to care. flexibility and agility.