Rules govern our daily operations
Rules govern our life, whether it’s your private or professional life. Most things you do are tied to a set of rules and regulations, such as creating a quote for a customer or driving your car to work (be careful, don’t run a red light or speed!). The rules we use in our daily professional lives are often hard coded in different applications or not made explicit at all and only reside in our own heads. Hardcoded and implicit rules lead to inflexibility and a high dependency on key individuals (Ask Joe, he knows which parts / products will work together by heart). With the fast paced, ever changing world of today we can no longer rely on changes to rules hard coded in applications that take months to deploy to a production environment or require software engineers to carefully orchestrate and coordinate a change to 15 systems at once.
Rules in applications
Let’s take a look at the history of business rules and IT. We’ve had a couple of ways in which we dealt with rules: No rules, IT rules and Business Rules.
No rules: It al started without rules, it’s damn hard to apply a business rule from a piece of paper to a set of data inside an application or information on another piece of paper. The simpelest solution for that problem was a form. But even after the introduction of the computer rules resided in the brain of the end user, relying on the fact that the user knew that product Y and service X could not be combined. No rules inside applications meant that end users had to go through a rigourous training, sometimes being guided for weeks by a more experienced colleague and even after training mistakes would be frequent, several manual checks were built into the process to prevent mistakes from occurring. Unfortunately mistakes lead to unhappy customers (You’ve screwed up my bill once again, can’t you do anything right?) and inefficiency within the whole organization.
IT Rules: time to reduce the need for manual checks by introducing database driven rules, the wonderful thing about structured data storage is that you can use a relational database to force an end user to fill required fields, use certain relationships (a customer must always have a billing address). Database based rules allow for generic data validation, they are condition based, but the conditions that can be used to enforce a rule are limited to how data is stored in the database. Database rules limit the need for loads of manual checks, but are only enforced for structured data and do not offer enough flexibility to apply all rules that govern your daily operations.
Business rules: Thankfully we’ve found a solution for that: Business rules coded in software. Examples of real world business rules:
- All quotes over EUR 25.000 must be approved by senior management.
- Calling plan Super 5000 may not be combined with an iPhone 4.
- We are legally bound to respond to all applications within 3 months.
And those are just simple examples of business rules. Go find a piece of legislation for your country and try to figure out how that should be applied to you. Business rules are applied to sets of data (customer and order and products) and relationships between these entities. Traditionally we’ve included all these different types of rules inside each of the applications we use to support our daily operations. Business rules often required a bit of translation to code that can be interpreted by software. The actual business rule needed to be translated to code by a developer of a specific application. Often Business Rules need to be coded in a different way for different systems: once for the website, once for the call center application, once for the ERP billing application and again for the ERP logistics application. Each application usually has a slightly different codebase which tends to lead to a slightly different implementation by a developer. Maintaining all these rules in different systems sucks balls and a simple change in business rules takes a long time to apply since it has to be carefully coordinated across different applications and release cycles. Over the past couple of years different vendors have been working on a solution: Business Rule Engines (Yay!)
A simple, single brain for all your apps
So how does this effect your CRM systems, your marketing, sales and service systems? In CRM flexibility and tailormade solutions are key. Being able to construct complex business rules, that can be applied to a customer query or request for a quote is fantastic. And for governmental institutions being able to completely model a piece of legislation in a Case Management system is great. It’s finally possible to live up to the promise of treating a customer in a personal way, based on all his/her characteristics and the way he or she likes to do business with your company. Imagine the different applications, such as patient planning and diagnosis within the healthcare industry, or easily figuring out how much will be reimbursed for a specific treatment. Claims handling within the insurance industry, simply applying that small print in an ensurance premium to a claim. Flexible and quick product configuration for telco’s, either through self service or by a call center agent. All commercial enterprises uses implicit or explicit rules and knowledge to do their work. It’s time to make the applications of these rules as flexible as possible!
Wait…there’s more to come
In the coming weeks I’ll be posting more about the applications of Rule Engines within the CRM domain and how this solves today’s challenges.