Data is not the most valuable asset!
There is a lot of focus on data being a valuable asset. And of course it is valuable at data value level. But what is so unique about data at design / meta-data level? Let’s take a ‘Customer’ data object. How a ‘Customer’ is defined is pretty standard. Usually something like: “an individual or business that purchases the goods or services of another business”. Rules however represent the unique behavior of your business. For example, they determine under which conditions you accept someone as your customer. And when you decide to do a transaction with them. Or when you send them a marketing message. They determine for a great deal the experience you want to give to your customers.
Business rules determine your customer experience
But how much attention do business rules get compared to data? For example, where can I typically find my business rules? Hidden away in unreadable technical code? Duplicated many times in different systems? Popping up as errors each time a data structure changes? Many organizations struggle to manage their business rules properly, resulting in inconsistent customer experiences. For example, a prospect gets rejected as customer via one channel (let’s say the online acceptance form on the website) and later accepted via another channel (the call center). Or a customer gets contradicting messages about a banking transaction via different channels. How reliable are you in the perception of your customers when that happens?
Start with business rules first
One of the main problems is that these business rules are not first-class citizens in the change/development process of an organization. They are not made explicit until a package-based solution is already selected and configured, or when a custom application is almost ready for acceptance testing. This needs to turn around. Business rules should be one of the first things you start to work on. They determine how you want to treat your customers!
Write rules down in natural language
It is crucial to make business rules explicit in natural language. The business is owner of their own business rules. If they cannot read and understand them, then they do not understand the core behavior or their own enterprise. Since not all execution of business rules is automated, human agents (e.g., call center employees) must be able to browse, read and understand the business rules they need to communicate to their customers. So the only way to do this is in natural, human language.
Ensure there is no gap between specification and execution
In many organizations, business rules are implemented in programming code of applications. These are impossible to read and manage by business people. So business have to trust their in-house developers or external software vendors that they implement the business rules properly. Since this involves communication between people with a different background, keeping the specification and implementation fully aligned is nearly impossible, if not impossible. So if there was a way of guaranteeing that how business rules are specified is exactly the same as how they are executed, that would be very helpful!
Hapsah.org is a web app development platform that uses natural language specifications as its instructions for its engine to run apps. There is no intermediate technical code generated. What users enter as natural language statements is the code the engine runs on. So no more differences between business rule specification and execution. This makes business rules always easy to find and readable for business people. They are implemented only once, so when you change them you don’t have to go through numerous systems. And because we manage the data and business rules in one environment, data changes don’t break the business rules.
Feature is looked at and put back on backlog. The reason is that a test case of visualizing a simple rule resulted in quite a complex graph model. Textual representation seems to be simpler. Topic for more research.