Business Rule Management Systems (BRMS)

 Order management  Comments Off on Business Rule Management Systems (BRMS)
May 242011

Most business processes require business rules to decide the best next activity or another business process that should be followed.. Workflows, which automate business processes typically include several decision points. “Is this a new Customer?”, “Has the customer enough credit?”, “If the age is above 50?, “Is there any trouble ticket created for this user before?” These are just a few examples that represent business rules.

Typically, these business rules are bundled into the Application code. So, if you want to change the business rule, you need to upgrade your application. This is not a very feasible method. Alternatively, if you just need to change a value of a parameter, you may also want to implement a solution that needs you to edit a configuration file or a database table.

Another problem arises in here. Business users (Marketing, Sales, Strategy etc.) are the main parties that manipulate the business rules. However, these people are not technical and they do not know how to change a parameter in the application server configuration, or recompile the code. Because of this, they rely on IT to do this job. In today’s competitive environment, where rules need to be changed everyday, business users demand more from IT to implement new rules or change the existing ones. This puts a heavy burden on the top of current  IT operations.

What if the business users would be able to change the business rules without consulting to IT? This will definitely bring agility, flexibility and lower IT operational costs.This is possible via Business Rule Management Systems or BRMS.

Business Rule Management Systems aim to externalize the decision logic from the application. BRMS involved architectures, include a separately installed BRMS server that work in conjunction with the application server to accomplish a specific task. In the code flow, whenever a decision needs to be made, the application consults the BRMS server about the result of a decision. After receiving the result, the code continues to move forward.

Applications interact with the BRMS servers over standard interfaces, mostly web services. These web services are run by the rule engine that is responsible to run the required rule against a set of parameters. There are multiple rules that are managed by the BRMS system. These rules are kept in the Rule repository and can be changed via business users.
In order for business users to change the rules easily, BRMS platforms also provide tools that eases rule authoring. Most BRMS solutions employ a dictionary  that maps the rules to common words. This way, user will have the option to write the rule in plain English, such as,

“if the income of the customer is more than 1000
allow customer”

Decision trees and tables are other types of methods that shields the business users from technical details.

One note in here: Moving to another web service protocol stack will slow down the code. That’s why BRMS systems are well suited for business side processes which allow certain delays in the code execution.

Another note for session handling: The BRMS systems are stateless. That is to say, each rule is run separately, without taking into account the previous results of the queries. The state full behavior should be implemented by the application itself. (or a complex event processing engine)

Typical use cases where BRMS systems are utilized are;
– Order decomposition
– Client side validation
– Credit Checks
– Availability Checks
– Pricing
– Customer experience differentiation

There are lots of BRMS products on the market. Some of them are open source, some commercial; but idea is the same and promising.

OTT Services and SQM

 SQM  Comments Off on OTT Services and SQM
May 062011

Have you seen the rumors that Facebook will buy Skype? Well, it won’t be a surprise for most people. One big OTT company buys another. The big surprise would be to see Facebook to embed Skype into the Facebook application and kill the stand-alone Skype. This way, it will force to move all the VoIP users to enter to it’s application where it could have the option to issue ads, campaigns and more importantly, user stats that can be easily sold to 3rd parties.

From the service provider and OSS point of view, this puts another barrier in front of the end to end service visibility. Skype service, embedded in a Facebook web application, located in the internet. Cloud in a cloud situation.

Service providers need to see both the external OTTs service and possible sub-services underneath. Putting a robotic probe that will continuously logs in to a Facebook account will not be enough. The bot, should also try to initiate a call. And, there is no standard mechanism such as calling a web service to initiate the call. The bot, should use screen scrapping mechanisms to simulate the user clicks to make this happen.

If we are lucky enough to “decode” the remote OTT service, we can get some KPIs to be fed into our SQM system. This way, we can get proactive actions such as informing the users about the problems regarding the OTT service provider to achieve customer satisfaction.

Yet, OTTs and Service Providers do not have any standard communication mechanisms that will able them to exchange KPIs of their services. This would definitely be the next generation trend as both sides need those in order to provide expected levels of service. We’ll have to see B2B supplier/partner interfaces between OTTs that will enable them to issue / track and manage trouble tickets.

Services are getting complex day after day. Value chains are getting longer. There are lots of parties to interface with. There are no simple service like “GSM Voice” anymore. We are in the beginning of a change and it is better to act fast for the operators to invest in SQM and re-engineer their processes accordingly.

CEM and Outsourced Functions

 CEM  Comments Off on CEM and Outsourced Functions
May 022011

As CSPs, we may have several outsourced functions in our customer operations. These are typically Call Centers, Field Services and some Billing functions such as dispatching. As these functions are run by different companies, we only have a partial visibility of the quality of their operations. Since , any delay or inconsistency will directly impact the perception of the customer, we have to monitor the performance of these functions very carefully.

There are SLAs (OLAs) that are in place with these vendors and most of the times the provider has no visibility over the services given by the outsourced company. Trouble tickets are generally the only measure to take into account , packed by additional KPIs that are sent by the outsourced company. (and of course these are manipulated some times..)

How OSS can help in this field? There are several solutions that we can come up with. First category is the robotics tools, that can run a specified scenario(called as script) over a specified channel. For call centers, this could be automatically calling IVR at random times, press some buttons and try to reach a CSR. All the response times are recorded for further review. For billing, another bot can OCR the printed bill and compare it with the data in the billing system (or a revenue assurance solution). Any inconsistencies, again will be recorded. At the end of the monitoring period, these records would be used for reconciliations between the measures the outsourced company sends, and the measures we get.

A robotics solution even more meaningful while we are moving to external cloud infrastructures. I have mentioned about robotics solutions in my previous post Application Performance Managers. Investing in such a solution in our CEM strategy will bring many improvements in end to end business processes area.