Tecnología para la digitalización de procesos (XI): Sistemas de Gestión de Reglas de Negocio (BRMS)

BRMS

En este ya largo paseo por las tecnologías utilizadas en digitalización de procesos, hoy nos detenemos en un tipo de soluciones que nos permiten gestionar de forma independiente y más flexible las llamadas reglas de negocio: los Sistemas de Gestión de Reglas de Negocio o Business Rules Management Systems (BRMS).

 

Se trata de soluciones con una ya larga historia pero que, en cierto modo, continúan siendo soluciones de nicho

 

Primero, lo primero: ¿Qué es una regla de negocio?

 

De forma sencilla, podemos decir que una regla de negocio es un criterio claro de decisión que, con base a una información o parámetros de entrada, adopta una decisión como salida.

 

Imaginemos, por ejemplo un call center virtual que, de cara a una atención 7×24, dispone de equipos de agentes en España, América e India, algunos de ellos capaces de hablar de forma fluida en Castellano, Catalán, Gallego, Euskera e Inglés y que, además, se encuentran agrupados por su conocimiento en distintos temas.

 

Si queremos estructurar a qué grupo de agentes pasar una llamada entrante deberemos saber el origen de la llamada para intentar deducir si proviene de España (y de qué región) y con ello seleccionar un agente con capacidad de hablar en el idioma adecuado. Además, nos importa la hora de llamada porque según sea ésta, se atenderá la llamada desde el equipo del país que se encuentre en horario laboral. Finalmente, es relevante el asunto (que el cliente elegiría de un menú corto en un IVR) para poder asignar un agente con los conocimientos técnicos adecuados.

 

Es decir, ante una llamada entrante tenemos tres parámetros; origen de la llamada, hora de la llamada y asunto a tratar. Y la decisión a tomar es, con base en esos parámetros, qué agente o grupo de agentes debería atender la llamada. Los criterios que marcan la decisión serían las reglas de negocio. Una de esas reglas nos diría que si la llamada se produce a entre las 9:00 y las 17:00 hora española, desde un número fijo de prefijo +034 983 y como asunto una reclamación de facturación, la llamada se pasaría al Call Center de España y, en concreto, al grupo de reclamaciones y, dentro de éste a uno de los agentes con dominio del Catalán.

 

Otros ejemplos de reglas de negocio nos podrían marcar, por ejemplo, los criterios para conceder un préstamo, la prioridad a asignar a una avería, la concesión de un día libre y así un larguísimo etcétera.

 

Este tipo de decisiones se encuentran de alguna forma empotradas en multitud de procesos de negocio, por lo que al automatizar o digitalizar esos procesos, debemos también automatizar este tipo de decisiones o aplicación de reglas de negocio.

 

¿Y qué es un BRMS?

 

Un BRMS (Business Rule Management System) no es más que un software dedicado, específicamente a la definición y ejecución de reglas de negocio.

 

Es decir, se trata de un software donde un usuario con los conocimientos y permisos adecuados, puede definir en detalle las reglas de negocio que aplican a una situación concreta (en nuestro ejemplo, todas las opciones posibles de asignación de llamadas entrantes) y, una vez definidas esas reglas, ese mismo software las ejecutará cada vez que se produzca la situación o evento (en nuestro caso la llamada entrante) que fuerza la decisión.

 

La lógica tras los BRMS

 

Las reglas de negocio siempre existen y cuando automatizamos, de una forma u otra, las tenemos que introducir en el software de automatización. Si no hacemos nada especial, esas reglas de negocio estarían escritas ‘a fuego‘ en el código que gestiona el proceso de que se trate (gestión de llamadas, concesión de préstamos, gestión de averías, etc).

 

Lo que aporta la existencia de BRMS como producto diferenciado es que esas reglas pasan a tener entidad propia y, sobre todo, a ser configurables y por personas de negocio (que son quienes tienen los conocimientos y la autoridad sobre esas reglas), no por los desarrolladores del software. Se independiza la gestión de las reglas del desarrollo software.

 

En cierto sentido, los BRMS son a las reglas de negocio, lo que los BPMS a los procesos de negocio.

 

¿Cómo funciona un BRMS?

 

Para entender cómo funciona un BRMS, acudimos a la figura de abajo, procedente de la documentaci´ón de OpenRules que, además, en la figura, lo pone en relación con un BPMS.

 

BRMS OpenRules

 

Vemos que tenemos, abajo en la parte central un repositorio de reglas (business rules repository) que no deja de ser una base de datos donde almacenamos las reglas definidas.

 

Existe una herramienta para la edición de reglas de negocio (rules authoring and maintenance). Una herramienta que es importante que sea lo más sencilla posible en su interfaz, que hable el lenguaje del negocio y que pueda ser usada cómodamente por responsables de negocio.

 

Además, existen otras herramientas de gestión, por ejemplo, para gestionar el ciclo de vida o aprobación de reglas.

 

Existe, además, el motor de reglas (rule engine) que es el que sabe interpretar el contenido del repositorio de reglas y, ante un evento que marca la necesidad de decidir, localizar y ejecutar la regla aplicable a ese caso concreto y proporcionar la decisión que aplique.

 

No es del todo evidente en la figura pero en general, los BRMS deben proporcionar capacidades de integración para ser invocados externamente, por ejemplo, por un BPMS usando servicios SOA.

 

¿Còmo funcionaría este típico escenario de integración BPMS y BRMS?

 

El BPMS ejecutaría normalmente el proceso que tiene definido. Cuando el proceso llegase a una actividad que implicase una decisión basada en reglas, invocaría, a través de los servicios de interacción SOA, al motor de ejecución de reglas pasándole el valor de los parámetros que aplican a esta decisión concreta. El motor de reglas, usando esos datos, buscaría en el repositorio de reglas cuál es la aplicable en este caso y, una vez localizada, la ejecutaría con los parámetros concretos del caso. Con ello obtendría una decisión que comunicaría, de nuevo a través de los servicios SOA, a la tarea del BPMS… y éste continuaría aplicando en el proceso la decisión que el BRMS le ha indicado.

 

Presentaciones de un BRMS

 

La idea de un BRMS la podemos encontrar en la práctica de diversas formas.

 

Puede ser, en primer lugar, un producto diferenciado, tanto comercial como de software libre y es cuando mejor hace honor al nombre BRMS (porque, realmente, sería un sistema con personalidad propia).

 

Sin embargo, es también frecuente que, más que tratarse de un producto diferenciado, constituya un módulo integrado en un BPMS, en una Suite SOA o incluso en un sistema de gestión empresarial ERP o CRM.

 

También es posible encontrarlos en forma de APIs reutilizables.

 

En algún caso muy especial, como el ejemplo de la gestión de llamadas, lo podemos encontrar dentro del software de gestión de un ACD (Automatic Call DIstributor).

 

No obstante, sea cual sea la presentación, si se respeta el que las reglas son entidades sometidas a gestión y que son configurables en tiempo de ejecución, preferiblemente por personas de negocio, lo podríamos seguir considerando un BRMS, puesto que aporta las principales características y ventajas que de ellos se esperan.

 

Mirando al futuro: qué puede aportar la inteligencia artificial

 

Decíamos al principio que las reglas de negocio implicaban criterios claros de decisión. Eso quiere decir que las reglas son estrictas, formulables de forma indudable y de una aplicación que no ofrece dudas.

 

Así es lo normal y, en general, así es como debemos esperar encontrarlas.

 

Sin embargo, el auge de la inteligencia artificial y el machine learning abren la puerta a un tipo de BRMS especial, que podríamos denominar cognitivo, donde el motor de ejecución sea esencialmente un algoritmo de machine learning, las reglas más que editarlas se ‘enseñen’ aplicando los algoritmos de aprendizaje propios del algoritmo de machine learning seleccionado y el repositorio de reglas, más que las reglas propiamente dichas, tendría el ajuste de parámetros del algoritmo.

 

El funcionamiento de cara al sistema externo que invoca al BRMS, digamos el BPMS, es exactamente igual y la función del BRMS también. Sin embargo, el funcionamiento interno sería completamente diferente y, seguramente, las decisiones que adoptaría también lo serían en muchos casos.

 

Conclusiones

 

Los BRMS son elementos software (sean sistemas por derecho propio o módulos de sistemas de más alcance) cuya misión es gestionar de manera explícita las reglas de negocio, haciéndolas configurables en tiempo de ejecución por personas de negocio y desligándolas, por tanto, del desarrollo software.

 

Aunque se trata de un tipo de software ya con una larga historia, el auge actual de la inteligencia artificial y el machine learning los puede hacer evolucionar hacia mecanismos cognitivos mucho más avanzados.

 

Artículos anteriores relacionados