Tecnología para la digitalización de procesos (VI). Gestión de casos (case management)

Gestión de casos

Aunque cuando hablamos en procesos de negocio y automatización, tendemos a pensar, y con buenos motivos para ello, en una estructuración de tareas muy clara, con unos pasos y unas secuencias muy bien definidas, lo cierto es que existen procesos de negocio que no permiten esa identificación rigurosa y a priori de las tareas que se van a realizar sino que éstas se van determinando a medida que avanza el proceso. Por eso surge la Gestión de casos (‘Case Management‘ o ‘Adaptive Case Management‘) que es de lo que nos ocupamos en este artículo.

 

Procesos que se definen sobre la marcha

 

Cuando gestionamos un caso, sabemos qué tarea tenemos que hacer en ese momento y, cuando la hemos finalizado, sabemos cuál va a ser la siguiente. Sin embargo, al comienzo del proceso no podemos conocer cuál va a ser la secuencia completa de tareas que lo van a conformar.

 

Veamos un ejemplo.

 

Un caso puede ser una persona, un paciente, que acude a un centro sanitario con algún tipo de molestia o síntoma. Cuando el paciente llega al centro sanitario, podemos saber que lo primero que hay que hacer es registrarle y lo siguiente es que un médico realice una primera valoración. Sin embargo, hasta que no se realice esa valoración, no sabemos qué es lo siguiente que puede pasar. A lo mejor el médico le receta algún tipo de medicamento y le indica que puede volver a su casa. O, tal vez, el médico decida solicitar una o varias pruebas diagnósticas. ¿Qué sucede una vez se recibe el resultado de esas pruebas? De nuevo, depende. Según el resultado, es posible que el médico decida solicitar nuevas pruebas, o pueda concluir que no hay ningún problema grave y se puede permitir al paciente volver a su casa o, por el contrario, puede decidir que es necesario ingresar. Y así sucesivamente…

 

Dado que hasta que no se termina una tarea no se puede saber cuál es la siguiente y dado que además, las posibles opciones son muy abundantes (piénsese, por ejemplo, cuántas  pruebas puede solicitar un médico), no tiene sentido definir y automatizar un workflow riguroso y perfectamente estructurado como haríamos normalmente tanto en un sistema de gestión empresarial como, sobre todo, en un BPMS.

 

¿Qu´é otros procesos reales se construyen sobre la marcha y pertenecen por tanto al ámbito de la gestión de casos? Sin ánimo de ser exhaustivos, algunos otros escenarios que llevan a una gestión de casos podrían ser:

 

  • Tratamiento de averías de redes de telecomunicaciones u otras infraestructuras complejas
  • Tratamiento de reclamaciones de cliente
  • Una investigación policial
  • Un caso judicial
  • etc

 

La metáfora de la carpeta

 

Una forma de entender un caso es algo así como un expediente o una carpeta en donde vamos introduciendo toda la nueva información de que vamos disponiendo y con base en esa información, vamos realizando nuevas acciones.

 

Todo el que trabaja en ‘el caso’ tiene accesos a la información de la carpeta y la puede enriquecer con nuevos documentos

 

¿Cómo se automatizan los casos?

 

Cuando queremos automatizar el tratamiento de casos lo fundamental que tenemos que hacer es, por una parte, ofrecer una forma de almacén ordenado de toda la información que se va recogiendo del caso (del paciente, de la avería, de la investigación). Esto vendría a ser, hacer el correlato informático de la carpeta. Por otro lado, necesitamos una manera estructurada de crear y asignar nuevas tareas al actor que corresponda para continuar con el tratamiento del caso.

 

Visto como usuario, el tratar con un sistema de gestión de casos no es muy diferente a tratar con un BPMS o un workflow. La cosa sería más o menos como sigue:

 

El usuario entra en el sistema. Allí dispone de una bandeja de tareas donde recibe todos los trabajos que tiene que realizar para los diferentes casos en curso y que le afectan (por ejemplo, si se trata de un laboratorio de un hospital, todas las pruebas diagnósticas pendientes).

 

Cuando decide acometer una tarea, accede a ella desde la lista de tareas y, en general, se le abrirá una ventana/formulario donde el usuario conocerá toda la información relevante del caso y tendrá claro qué es lo que debe hacer. Ese usuario acometerá la tarea (que con frecuencia implicar hacer acciones fuera del sistema) y, cuando finaliza, actualiza la información nueva que sea de interés e indica que ha terminado y, tal vez, quien tiene que hacer qué a continuación.

 

En algunos escenarios, el usuario necesitará delegar tareas en otros usuarios (por ejemplo, ante una reclamación, el responsable de gestionarla puede necesitar información del departamento legal, o del de contabilidad o del comercial)

 

Cuando finaliza su tarea, es posible que el sistema tenga definidas unas reglas que, en función de la información disponible, puedan decidir qué es lo siguiente que hay que hacer. En otros casos será el propio usuario el que indique cuál es el siguiente paso y quién lo debe hacer.

 

Incluso, en ocasiones, el usuario, tras analizar la información disponible puede decidir que no es él la persona o grupo adecuado para gestionarlo. Así por ejemplo, en un esquema de atención a cliente (Call Center) con dos niveles, el operador de nivel 1 que realiza una primera valoración del problema denunciado por el cliente (supongamos, por ejemplo, una queja de no funcionamiento de un servicio de telecomunicación) asigna el caso a un grupo de nivel 2 (digamos a un departamento técnico) que ese operador de nivel 1 entiende es el más adecuado para tratar la denuncia del cliente. Sin embargo, cuando ese nivel 2 examina el caso observa que no hay tales problemas técnicos y sin embargo, no se ha comprobado si el cliente está al corriente de pago, así que decide pasar el expediente, la tarea, al departamento de cobros).

 

Al final, y como se desprende de todo lo anterior, la automatización de casos se apoya en un sistema que:

 

  • Permite abrir, evolucionar y cerrar casos
  • Permite almacenar y consultar de forma estructurada la información de los casos
  • Permite generar tareas asociadas para gestionar los casos. Esas tareas en algunas situaciones se pueden determinar automáticamente según reglas pero en otros escenarios son los propios usuarios los que deciden su creaci`ón
  • Permite asignar tareas a personas o grupos que se pueden configurar en el sistema. De nuevo, esa asignación de tareas a personas o grupos pueden en ciertas situaciones determinarse con base en reglas y, en otros, por contra, decidirlo el propio usuario.
  • Permite a los usuarios o grupos acceder a sus tareas pendientes mediante una lista de tareas o mecanismo similar.

 

Existen soluciones en el mercado que disponen de todas estas funcionalidades y que no difieren en exceso de un BPMS (de hecho, puede ser perfectamente una funcionalidad ofrecida por un BPMS). Hay soluciones que se posicionan como de gestión de casos pero también hay muchos productos que, sin hablar explícitamente de gestión de casos, lo soportan para ciertos escenarios. Así, existe gestión de casos embebida en software empresarial de tipo ERP y CRM y también software especializado para ciertos ámbitos y que, en el fondo, no es más que una forma de tratamiento de casos como, por ejemplo, los sistemas que automatizan los procesos ITIL, varios de cuyos procesos realmente son gestión de casos.

 

En el fondo, la gestión de casos es casi más una tipología de procesos de negocio que un problema tecnológico. La gestión de casos nos habla de procesos de negocio, orientados a trabajadores del conocimiento, que no pueden ser completamente definidos a priori en tiempo de definición o análisis sino que se construyen sobre la marcha en tiempo de ejecución. Desde un punto de vista tecnológico, y aunque existen herramientas especializadas, la gestión de casos puede venir incluida como parte de otras soluciones de digitalización de procesos.

 

Conclusiones

 

La gestión de casos es una forma de tratamiento de procesos de negocio fundamentalmente orientados a trabajadores del conocimiento y que se caracterizan porque el proceso no puede ser completamente definido a priori sino que se construye sobre la marcha en tiempo de ejecución.

 

De cara a su automatización, existen en el mercado productos especializados en gestión de casos pero también es común que entre las capacidades de software empresarial, BPMS o productos especializados se incluya la gestión de casos.

 

Artículos anteriores relacionados

 

 

Imagen: Mike en Pexels

 

 

Tecnología para la digitalización de procesos (V). Complex Event Processing (CEP)

Complex Event Processing

En nuestro recorrido por las soluciones tecnológicas para la automatización y digitalización de procesos de negocio, hoy le toca el turno a una tecnología compleja y bastante especializada: el procesamiento de eventos complejos o Complex Event Processing (CEP).

 

¿Qué es el Procesamiento de Eventos Complejos?

 

Si atendemos a la definición de Wikipedia, el procesamiento de eventos (event processing) sería:

 

un método de trazado y análisis (procesado) de flujos de información (datos) acerca de cosas sucesos que ocurren (eventos).

 

Al añadir el adjetivo complejo la definición pasaría a ser:

 

El procesamiento de eventos que combina datos de muchas fuentes para inferir patrones u otros eventos que sugieren circunstancias más complejas que las evidentes.

 

Es decir, al mero procesamiento de eventos, añadimos el que éstos pueden provenir de muchas fuentes y, sobre todo, que de ellos se pueden inferir patrones de comportamiento u otros eventos más complejos y menos evidentes.

 

Se trata de un conjunto de técnicas que se aplican en general, para el tratamiento de eventos masivos (en el sentido de que se producen a una tasa muy alta) y entre los que puede existir una cierta correlación ya sea con los eventos en curso o con los ocurridos en el pasado.

 

Para intentar hacer el concepto algo más comprensible digamos que los eventos de que podemos estar hablando pueden ser, por ejemplo, llamadas a un call center, alarmas en elementos de redes de comunicaciones, variaciones en cotizaciones de acciones, publicaciones en medios sociales como Twitter, etc.

 

En los casos anteriores cada llamada, cada alarma, cada modificación en una cotización o cada mensaje es por sí mismo un evento. Pero se trata de eventos que se producen en gran cantidad (hay muchísimas llamadas, alarmas de red, variaciones de cotización o tweets) y es posible que existan correlaciones o tendencias que nos permitan conocer de una forma más completa patrones subyacentes en cuanto al estado de la red, las tendencias en las cotizaciones o qué las afecta, o los trending topic y qué los crea.

 

Así, y en un ejemplo fácil de entender, si detectamos repentinamente muchas alarmas de red en una zona, estamos ante una avería masiva (quizá porque se ha cortado una fibra de transporte) o si repentinamente las cotizaciones de todos los valores en un mercado comienzan a caer, es fácil pensar que ha ocurrido algo o quizá incluso que un robot se está dedicando a vender masivamente.

 

Relación con BPM

 

No es que CEP (Complex Event Processing) sea específicamente una técnica de gestión de procesos de negocio pero sí se puede aplicar en este ámbito de una forma muy fructífera.

 

Se puede aplicar como herramienta de análisis a posteriori para estudiar las relaciones entre diferentes instancias de procesos disparados por eventos e intentar deducir mejoras o estrategias hacia una visión más holística.

 

Pero también se puede aplicar en tiempo real en una instancia de proceso para intentar correlar el evento que ha disparado el proceso con otros similares e intentar dar una respuesta coordinada.

 

Así, por ejemplo, en el mundo de la monitorización de infraestructuras (sean éstas redes de comunicaciones o eléctricas o sistemas de información, etc) las sondas que monitorizan esas infraestructuras generan abundancia de eventos alertando de errores o de condiciones sospechosas o que requieren atención, como la superación de umbrales predefinidos (temperatura, humedad, presión…), congestiones, cambios de estado, etc.

 

Estos eventos deben ser procesados por las instancias de proceso correspondiente. Sin embargo, con frecuencia, diferentes eventos tienen una misma causa raíz, por lo que es muy interesante aplicar CEP para correlar eventos y realizar análisis de diagnóstico y resolución coordinados en caso de que la causa raíz sea la misma o la forma de solucionarlo sea común.

 

También, en el caso por ejemplo de que una avalancha de eventos se determine que corresponde a una avería masiva con afectación para muchos clientes, se pueden disparar medidas proactivas para avisar, bien directamente a los clientes, bien emitir un comunicado público o bien avisar a los canales de atención a cliente.

 

Algunas aplicaciones

 

Ya hemos mencionado algunas aplicaciones de CEP en el ámbito de la gestión de procesos, como es el caso del mantenimiento de infraestructuras.

 

En una línea muy parecida, se entiende CEP como un habilitador importante de Internet de las Cosas y, en general, de los sistemas ciber-físicos de amplia utilización en el ámbito de la llamada Industria 4.0. La idea es muy similar a la vista en mantenimiento de infraestructuras: tenemos una multitud de sensores y sondas enviando información sobre eventos. Un tratamiento inteligente de esos eventos implicar un análisis y correlación que es el objetivo precisamente de CEP.

 

Otros posibles usos sería en los mercados de activos financieros, fundamentalmente acciones, que hoy en día operan en tiempo real. Un análisis de lo que está ocurriendo y, sobre todo, una respuesta automatizada (compra, venta o emisión de alarmas para humanos) se beneficia enormemente del uso de CEP.

 

Hoy en día, el mundo de los medios sociales ofrecen otro campo muy interesante para el uso de CEP ya sea como análisis a posteriori ya sea para, por ejemplo, detectar tendencias e incluso, y unido a técnicas de análisis de sentimiento, crisis de reputación. Esto puede llevar a acciones automatizadas, ya sea de respuesta, ya sea de escalado preventivo a responsables humanos.

 

Y éstos son tan solo algunos ejemplos.

 

Conclusiones

 

Complex Event Processing es una técnica algorítmica compleja que permite el tratamiento de flujos de eventos masivos entre los cuales pueden existir correlaciones y patrones ocultos cuyo descubrimiento nos permite un mayor conocimiento y, sobre todo, un mejor tratamiento de esos eventos.

 

Sin ser una técnica excluiva de la gestión de procesos, sí que ofrece interesantísimas aplicaciones en el mundo de la monitorización de infraestructuras, intercambios de activos financieros, Internet de las Cosas y, en general, en el caso de procesos de negocio que reaccionan ante eventos que se producen en flujos masivos y no independientes.

 

Artículos anteriores relacionados

 

 

Imagen: Pixabay. Dominio Público.

Tecnología para la digitalización de procesos (IV). Chatbots e interfaces conversacionales

CHatbots e interfaces conversacionales

Dentro de las posibilidades de digitalización de procesos de negocio, quizá una de las más llamativas, a veces rozando lo espectacular, son los Chatbots e interfaces conversacionales. Estamos ante un caso de automatización que no aspira a la digitalización extremo a extremo sino únicamente, y no es poco, a la interacción con las personas, normalmente con clientes.

 

Pero interactuar con las personas ya se hace con todo tipo de tecnologías ¿no? Si, así es, pero lo que cambia con este tipo de tecnologías es que la interacción adopta la forma de una conversación natural, más desestructurada y mucho más cercana a la que mantienen las personas entre sí.

 

Variedad de interfaces conversacionales

 

Este nuevo tipo de soluciones se nos pueden presentar de diferentes maneras.

 

Así, cuando hablamos de chatbots nos solemos referir a software que mantiene la conversación usando texto escrito, botones, etc y normalmente a trav´és chats o  herramientas de mensajería, de ahí su nombre.

 

Cuando además de los elementos de naturaleza textual, le añadimos la capacidad de usar y entender la voz se habla a veces de voicebots.

 

Cuando esos voicebots se dedican a prestar ayuda a las personas en multiplicidad de tareas, muchas veces relacionadas con un sistema operativo, hablamos a veces de asistentes virtuales o asistentes digitales y ahí nos encontraríamos a los Siri, Cortana, etc

 

Todos los anteriores, son meramente software empotrado en sistemas operativos, web, mensajería etc y que se apoyan en un hardware de propósito general como ordenadores o smartphones. Sin embargo, de cara a su uso fundamentalmente en el hogar, también los hay que utilizan hardware especializado, como es el caso de los Google Home, Amazon Echo o Movistar Home.

 

La forma de presentarse y los recursos que utilizan todos ellos varían entre las distintas opciones, pero todos exhiben la misma característica común:

 

son elementos tecnológicos que dialogan con humanos en forma de conversación y que sirven de intermediarios con otros recursos (programas, sistema operativo o equipos).

 

De ahí que el nombre genérico más adecuado, aunque no el más conocido, sea el de interfaz conversacional.

 

Canales de interacción

 

Como los sistemas digitales son muy variados y los escenarios para mantener una conversación también, las interfaces conversacionales pueden usar muy diferentes canales.

 

Así, los más tradicionales se apoyan en herramientas de chat o mensajería como Facebook Messenger, Slack o Skype. O también, de forma muy parecida, encontramos interfaces conversacionales en páginas web de todo tipo.

 

Pero también se pueden mover en Twitter o incluso usando los tradicionales SMS

 

En los casos como los ya mencionados y famosos Siri o Cortana su mundo es el sistema operativo (Windows o IOS) en que se incrustan.

 

Y cuando hablamos de los asistentes para el hogar u oficina del tipo como los Amazon Echo o Google Home, se mueven en un hábitat específico: el propio dispositivo hardware especializado.

 

En realidad, lo diferencial de las interfaces conversacionales es esa capacidad para el diálogo natural. El canal es, en cierto sentido, un accidente y podemos ver otros canales diferentes en el futuro.

 

Las tres partes de un bot conversacional

 

Podríamos decir que un robot conversacional se compone de tres elementos:

 

  • Las capacidades de interacción: se trata de las capacidades tanto hardware como software para realizar la interacción. Por ejemplo, si vamos a utilizar la voz como medio de comunicación, necesitamos un hardware que incluya micrófonos y altavoces. Además, necesitamos un software complejo capaz de hacer reconocimiento y síntesis de voz, procesamiento de lenguaje natural (NLP, Natural Language Processing) y entendimiento de lenguaje natural (NLU, Natural Language Undrstanding).
  • Los servicios de backoffice: es decir, aquellas capacidades finales para las cuales el bot sirve de intermediario. Por ejemplo, Cortana nos sirve de intermediario con Windows. Para ello, aparte de saber dialogar con as personas debe ser capaz de invocar funcionalidades que nos las ofrece directamente Cortana sino el propio Windows. Igualmente, si pensamos en el típico ejemplo del chatbot que proporciona información sobre el tiempo atmosférico, aparte de saber conversar con la persona, tiene que ser capaz de invocar a un servicio (que no es del propio chatbot sino externo) que proporciona la información en crudo y que luego el chatbot transmite a la persona de manera más comprensible y consistente con la conversación.
  • La conversación: es el núcleo del bot conversacional: la propia conversación, es decir, aquellos temas que el bot es capaz de entender, qué tipo de respuestas ofrece, por qué medios se relaciona con el humano en cada caso, etc. Se trata tanto del flujo de la conversación en sí como del ‘estilo’ (formal, simpático, espontáneo, bromista, etc)

 

De estas tres piezas, los servicios de backoffice en cierto modo no forman parte de la interfaz conversacional y ésta sólo debe saber que existen y ser capaz de invocarlos. Lo que es específico de una interfaz conversacional son las capacidades de interacción y la conversación propiamente dicha.

 

Explicando el ‘boom’

 

¿Por qué el éxito de las interfaces conversacionales?

 

Antes decir muy brevemente que una empresa que use interfaces conversacionales obtiene claramente un beneficio en forma de eficiencias porque el interfaz conversacional sustituye a personas y, por tanto, exhibe las t´ípicos beneficios de los robots: eliminación de trabajo no deseado para personas, disponibilidad 7×24, escalabilidad, etc

 

Además, y si el bot está bien diseñado e implementado, la experiencia de cliente / usuario puede ser muy satisfactoria, con lo que la empresa gana también en intangibles.

 

¿Y por qué ahora este ‘boom’?

 

Podríamos decir que porque se ha abaratado y democratizado mucho la tecnología que los sustenta:

 

  • Por un lado, los innegables avances de la Inteligencia Artificial, especialmente y precisamente, en materia de procesamiento de lenguaje y de voz hacen viable una conversaciones realmente naturales.
  • Además, el acceso a esta tecnología es muy barato, cuando no gratuito
  • Y, finalmente, también es muy accesible el hardware con las capacidades suficientes para soportar las conversaciones.

 

Estos tres factores han hecho que, de las tres piezas que veíamos antes, la que tiene que ver con capacidades de interacción, probablemente la más compleja tecnológicamente, se haya resuelto de una forma brillante y muy accesible.

 

Además, y en lo relativo al segundo elemento, la conversación, han surgido productos, por ejemplo Chatfuel o Dialogflow, de nuevo muy accesibles, que hacen muy, muy sencillo el diseño de conversaciones, al menos conversaciones básicas, con filosofía ‘low-code‘ y sin requerir grandes conocimientos técnicos.

 

Es decir, que las dos piezas que forman parte de la interfaz conversacional propiamente dicha, las capacidades de interacción y la conversación, están muy bien resueltas técnicamente y muy accesibles en coste y curva de aprendizaje. Si a esto unimos los beneficios que aportan los bots conversacionales, se puede entender su éxito.

 

El diseño de la conversación

 

Eso sí, resuelto el problema tecnológico de la interacción, del procesamiento del lenguaje, etc es muy importante el diseño de la conversación en sí misma. Hay que ser capaz de reconocer las intenciones (‘intents‘) del usuario, guardar información de contexto (‘context‘) y ser capaz de usarla, decidir qué elementos de interacción se van a usar (voz, texto, botones, imágenes, enlaces…). Además hay que establecer unos flujos de conversación naturales, cómodos y que estén preparados para tratar todo tipo de situaciones y contingencias.

 

Por último, y dado que el robot va a representar a nuestra marca, hay que dotarle de un cierto estilo, de una personalidad, una imagen…

 

Una vez que los productos existentes nos han resuelto los complejos problemas técnicos subyacentes a la conversación, el verdadero desafío al desarrollar una interfaz conversacional es ahora mismo el diseño de una buena conversación.

 

Conclusiones

 

Las interfaces conversacionales son soluciones que están orientadas, no a la digitalización extremo a extremo de un proceso, sino a las partes que tienen que ver con la interacción con el usuario, especialmente, la interacción con clientes.

 

Y lo diferencial es que esa interacción se produce mediante una conversación bastante natural (en algunos casos, completamente natural) usando diversos medios incluyendo la voz y el lenguaje natural.

 

Cuando están bien diseñados, las interfaces conversacionales aportan una gran experiencia de cliente a la que se unen, en visión interna, unos importantes beneficios en materia de eficiencia y escalabilidad.

 

Artículos anteriores relacionados

 

 

Imagen: Pixabay, dominio p´´ublico

 

Tecnología para la digitalización de procesos (III). Robotic Process Automation (RPA)

RPA

Probablemente si una tecnología de automatización y digitalización de procesos esté en de moda hoy en día, esa es RPA (Robotic Process Automation). Se trata de una de las áreas de mayor crecimiento en materia de software y dos de sus principales actores, UiPath (del cual, por cierto, Reingeniería Digital es partner, como contaremos en breve) y Automation Anywhere han recibido recientemente unas espectaculares rondas de financiación.

 

Se trata, sin embargo, de un tipo de soluciones afectadas por un gran bombo publicitario y no poca confusión que a veces puede hacer difícil su asimilación. Vamos a intentar entender qué es la automatización robótica de procesos y lo que puede ayudar en materia de digitalización de procesos.

 

Robots software

 

El primer punto de confusión sea, probablemente, su propio nombre. Hablamos de automatización robótica y en general, cuando se habla de robots tendemos a pensar o bien en robots androides cercanos a la ciencia ficción o bien a los típicos robots de brazo articulado en cadenas de montaje como por ejemplo de automóviles.

 

Los robots de que se habla en RPA nada tienen que ver con eso. Los robots de RPA son robots software, es decir, no son más que programas o módulos software y, por tanto, no son más tangibles que cualquier otro programa que podamos pensar.

 

Es más, aunque el campo de aplicación de RPA es muy amplio, tiende a estar más ligada a entornos de oficina que de fabricación.

 

Entender lo que es RPA

 

Ahora que ya sabemos que estamos hablando de software vamos a intentar explicar qué tipo de cosas hace ese software. Sin ánimo de dar una definición absolutamente definitiva, proponemos esta definición de RPA

 

RPA (Robotic Process Automation) es un tipo de soluciones software que permiten desarrollar y ejecutar unos módulos denominados robots que interactúan con aplicaciones, ficheros y APIs de sistemas computerizados para  realizar tareas normalmente confiadas a personas e imitando la forma en que las realiza un humano y sin requerir modificaciones en esas aplicaciones, ficheros o APIs.

 

La definición es un poco larga pero nos permite ver algunos elementos fundamentales de este tipo de soluciones, a saber:

 

  • Crean unos módulos software que denominamos robots
  • Permiten tanto el desarrollo como la ejecución de esos robots
  • Estos robots interactúan no con elementos físicos sino con sistemas informáticos.
  • Dentro de esos sistemas informáticos, la interacción se produce con aplicaciones (por ejemplo un ERP o una página web), con ficheros (por ejemplo una hoja de cálculo, un documento PDF o una base de datos) o con APIs (por ejemplo, para la gestión del correo electrónico o la transferencia/recogida de ficheros vía FTP)
  • Esos robots realizan tareas normalmente confiadas a personas. La mera mención a la palabra tarea ya nos hace pensar en su relación con los procesos de negocio, aspecto que luego veremos un poco más en detalle. Y el que sean tareas normalmente confiadas a personas sobre sistemas computerizados ya nos hace darnos cuenta de que hablamos con frecuencia de lo que en BPMN se llamaría una ‘User Task‘, es decir, tareas realizadas manualmente pero sobre sistemas informáticos: una cumplimentación de un formulario (por ejemplo con un pedido), un traspaso de información de ficheros a una aplicación (por ejemplo, introducción de datos de facturas en un ERP) etc.
  • Imitando la forma en que realizan esas tareas los humanos nos lleva a una característica muy diferencial e importante de entender de RPA. Aunque es cierto que en algunos casos los robots interactuan con APIs, la mayor parte de su trabajo es con aplicaciones y/o ficheros existentes. A la hora de interactuar con aplicaciones, por ejemplo, RPA utiliza las mismas pantallas que los humanos, con los mismos campos, los mismos botones, etc y trabaja con ellos exactamente igual que las personas. Los robots son capaces de interpretar los campos de las pantallas y de transmitir órdenes simulando el uso del ratón y el teclado. De la misma forma con ficheros. Así, por ejemplo, pueden trabajar con una hoja de cálculo y abren también el fichero, buscan celdas, cortan y pegan, introducen nuevos datos, ordenan por columnas, etc.
  • El punto anterior, interactuar igual que lo hacen los humanos tiene una consecuencia importantísima: no modifican los sistemas sobre los que actúan. No es difícil de entender. Pongamos un robot que trabaja sobre un ERP. Si el robot software utiliza las mismas pantallas, campos y datos que el humano, e interacciona con el sistema simulando movimiento de ratón, click e introducción de datos en teclado, el ERP ‘no sabe‘ si quien está interactuando con él es un humano o un robot porque la interacción es exactamente la misma. Por tanto, no es necesario modificar ni las pantallas ni la lógica del ERP.

 

¿Qué aporta RPA?

 

Además de las capacidades de las soluciones RPA que hemos visto al desmenuzar la definición, conviene decir que las herramientas de RPA del mercado ponen énfasis en hacer que el diseño y desarrollo de robots sea muy sencillo, según una filosofía de tipo ‘low code‘ lo que hace que el desarrollo sea más rápido que el de un software tradicional y requiera menos conocimientos técnicos (en el caso de robots sencillos ni siquiera son necesarias habilidades técnicas o de programación).

 

Con lo que hemos visto, sabemos que RPA es capaz de automatizar tareas (por tanto partes de un proceso de negocio) y lo hacen:

  • Sin requerir modificación de los sistemas con que interactuan
  • Con un desarrollo comparativamente rápido y sencillo

 

Más abajo veremos escenarios típicos de aplicación, pero vemos que la aportación diferencial de RPA al campo de la automatización y digitalización de procesos es:

 

RPA aporta una automatización comparativamente rápida sencilla de tareas de usuario sin requerir modificaciones en las aplicaciones, ficheros o APIs con que interactua.

 

Antes de pasar a ver sus campos de aplicación habituales, detengámonos a intentar aclarar el punto de mayor confusión: cuál es la relación de RPA con la Inteligencia Artificial.

 

RPA e Inteligencia artificial

 

La literatura comercial y poco profunda tiende a confundir RPA e Inteligencia artificial y no son lo mismo ni mucho menos. Ahora lo aclaramos un poco pero primero afirmemos con rotundidad lo siguiente:

  • RPA no es inteligencia artificial…
  • … pero RPA incluye algunas capacidades de inteligencia artificial.

 

Podríamos decir que en relación con las tareas que automatiza RPA hay dos puntos donde el humano aporta capacidades cognitivas diferenciales:

  • Sentidos: es decir, en la interacción con el exterior fundamentalmente mediante la vista para entender pantallas, documentos, imágenes, etc
  • Análisis y decisión: A la hora de decidir qué hacer

 

Aunque las fantasías alrededor de RPA e inteligencia artificial llevan erróneamente a pensar en una inteligencia completa, capaz de razonar, crear y decidir (es decir, actuando sobre todo en análisis y decisión), lo cierto es que las técnicas de inteligencia artificial que se usan en RPA hoy en día van más en la línea de los ‘sentidos’.

 

Veamos un poco cómo funcionan ambas variantes.

 

Cuando RPA trata con pantallas y documentos, puede suceder que estos se encuentre muy claramente estructurados, con los datos perfectamente definidos, etiquetados y en los mismos puntos de la pantalla o el documento. En esos casos, RPA es capaz de extraer o introducir información mediante tecnología software digamos ‘estándar’. Sin embargo, cuando los datos son desestructurados (por ejemplo, correros electrónicos o ficheros PDF en texto libre o cuando las pantallas vienen en forma de imágenes como sucede en aplicaciones virtualizadas) normalmente RPA necesita aplicar técnicas de inteligencia artificial del campo de reconocimiento de imágenes, procesamiento de lenguaje natural (NLP, Natural Language Processing), entendimiento del lenguaje natural (NLU, Natural Language Understanding) u OCR (Optical Character Recognition) avanzado. Ahí es fundamentalmente donde hoy día aplican inteligencia artificial las soluciones existentes.

 

En la toma de decisiones, éstas pueden estar regidas por unas reglas de negocio sencillas y claramente procedimentadas o bien requerir juicio humano. En el caso de la existencia de reglas de negocio claro, no se precisa de inteligencia artificial y un software ‘normal’ lo puede hacer perfectamente. En el caso de decisiones complejas y sin reglas claras, puede tener sentido la aplicación de Machine Learning e Inteligencia Artificial. Sin embargo, conviene evitar fantasías y tener claro que las soluciones actuales de RPA están orientadas a la decisión basada en reglas de negocio sencillas, es decir, a que el análisis y decisión se realice con algoritmos sencillos tradicionales. Cierto es que ya existen algunas posibilidades de enganchar módulos más avanzados, por ejemplo en Python, y que se trabaja mucho en la dirección de incluir nuevas capacidades cognitivas. Pero, por ser prácticos, a día de hoy hay que pensar que las capacidades de análisis y decisión de las soluciones RPA son básicas y no incluyen inteligencia artificial.

 

¿Cuándo usar RPA?

 

Con todo lo visto, ya nos hacemos una idea de e qué tipo de tareas se aplica RPA. Como regla básica podemos decir que:

 

RPA se aplica a la automatización de tareas repetitivas, masivas y basadas en reglas realizadas actualmente por humanos interactuando con aplicaciones y ficheros.

 

  • Se aplica a tareas repetitivas y basadas en reglas porque es viable de una forma sencilla automatizar su lógica (a la espera de un desembarco de mayores capacidades de inteligencia artificial)
  • Se aplica a tareas masivas por un razonamiento económico: porque si son tareas masivas se recogen mayores frutos con la automatización en forma de liberación de recursos humanos, eliminación de errores, etc
  • Y se aplica a tareas basadas en la interacción con aplicaciones y ficheros porque esa es la naturaleza misma de lo que hace RPA y uno de sus mayores beneficios diferenciales frente a otras formas de digitalización de procesos: no precisa modificar las aplicaciones y ficheros existentes.

 

Algunas de las tareas normalmente confiadas a RPA pueden ser: carga de datos en aplicaciones a partir de datos de ficheros (por ejemplo, carga de información de facturas en un ERP), paso de datos entre sistemas (por ejemplo, paso de los pedidos del CRM al ERP), traspaso de datos entre ficheros (por ejemplo, en una migración entre sistemas o en cargas masivas periódicas entre sistemas), repetición indefinida de tareas concretas sobre aplicaciones (por ejemplo, en pruebas de regresión de software), procesamiento de correos (tratamiento automatizado de la entrada o envíos automatizados), etc

 

Adem´ás de tareas puntuales, las soluciones de RPA permiten construir flujos de proceso que enlazan diversas actividades y permiten elementos como las condiciones, los bucles o el tratamiento de errores. En ese sentido, en teoría RPA puede automatizar un proceso extremo a extremo de forma similar a un BPMS pero, en la práctica, las capacidades de RPA son algo más limitadas y están orientadas o bien a la automatización de procesos muy sencillos o bien a colaborar en la automatización de procesos mayores cuyo núcleo reside en otro sistema o sistemas.

 

Sin embargo, hay un punto que no suele tratar la literatura sobre RPA y que en una perspectiva amplia de digitalización de procesos hay que tener claro: ¿por qué automatizar usando RPA en lugar de hacerlo, por ejemplo, evolucionando un sistema de gestión empresarial o un BPMS?

 

Para contestar esa pregunta hay que tener claro lo que decíamos más arriba que es diferencial de RPA, a saber que es rápido (vamos a añadir que comparativamente barato) y no afecta a los sistemas actuales. Si la automatización que queremos hacer es muy importante para la empresa, tiene mucho retorno y se va a mantener en el tiempo probablemente debamos pensar en una automatización vía sistema empresarial o BPMS. Sin embargo, escenarios típicos de aplicación de RPA son:

 

  • Se trata de automatizaciones de tareas en que no podemos o no queremos tocar los sistemas responsables de los procesos en que se enmarcan. Motivos por los que podemos no querer/poder tocar los sistemas responsables pueden ser, por ejemplo:
    • No tenemos poder de negociación suficiente como para cambiar ese software. Por ejemplo, hablamos de una suite ofimática o un SaaS cuyo software es utilizado en el mundo por miles o millones de clientes y por tanto no es su funcionalidad la que se adapta a nuestras necesidades sino nosotros al software. O bien somos una PYME y no podemos aspirar a disponer de una versión personalizada de un ERP.
    • De naturaleza presupuestaria (no disponemos de fondos suficientes)
    • Por obsolescencia del sistema (queremos automatizar sobre un sistema que se supone va a ser sustituido en el plazo de unos meses o como mucho un año o dos)
    • Por falta de capacidades tecnológicas o de desarrollo en el momento actual
  • Queremos automatizar en corto plazo ciertas tareas masivas y poco eficientes mientras nos damos tiempo a modificar el sistema empresarial/BPMs. Para que esto tenga sentido, el retorno de la inversión de usar RPA mientras se modifican los sistemas subyacentes tiene que ser claro.

 

No hay reglas fijas pero lo indicado arriba nos puede dar una idea clara de cuándo tiene sentido aplicar RPA.

 

Conclusión

 

En resumen, RPA son un tipo de soluciones que nos permiten automatizar tareas repetitivas, masivas y basadas en reglas actuando sobre unos sistemas, ficheros y APIs existentes sin modificarlos. RPA aplica técnicas algorítmicas clásicas para el tratamiento de pantallas y datos estructurados y recurre a la inteligencia artificial para el procesamiento del lenguaje natural y el tratamiento de ciertos datos no estructurados y, de momento, aplica lógica basada en reglas sencillas para el análisis y la decisión.

 

Las grandes ventajas diferenciales de RPA se basan en la sencillez y rapidez de desarrollo y en no afectar a los sistemas y ficheros sobre los que actúan.

 

Teniendo todo eso en cuenta, se debe decidir en cada situación concreta si queremos automatizar mediante RPA, mediante sistema empresarial, mediante BPMS o mediante algún tipo de combinación entre esas tres opciones.

 

Artículos anteriores relacionados

 

 

Imagen: Pixabay, dominio p´´ublico

 

Tecnología para la digitalización de procesos (II). Sistemas de Gestión de Procesos de Negocio (BPMS)

BPMS

Si hay una tecnología, o quizá mejor dicho, un uso de la tecnología más propio de los procesos de negocio, ese es el de los BPMS acrónimo que en ocasiones podemos encontrar como Business Process Management System y en otras como Business Process Management Suite.

 

Se trata de unos productos ya con historia, que se iniciaron como sistemas de gestión de workflow.

 

Los sistemas de Workflow

 

Originalmente los BPMS ni siquiera adoptaron ese nombre sino que se empezó con los denominados WfMS (Workflow Management System).

 

El elemento diferencial de los BPMS o WfMS es que el proceso se convierte en una entidad clave que se gestiona explícitamente. Es decir, si hasta entonces en diversas soluciones a medida o en los productos de software empresarial, el proceso estaba embebido en la lógica, pero no de trataba de forma independiente, ahora con los WfMS el proceso se diseña, modela y ejecuta sobre la propia herramienta.

 

Quizá se entienda algo más la idea contemplando el modelo de referencia que propuso, ya en 1995 la Workflow Management Coalition.

 

Workflow Reference Model
Workflow Reference Model

 

Se puede observar en la figura que las soluciones de workflow incorporaban, en primer lugar, un módulo de definición del proceso, una herramienta de naturaleza gráfica e interfaz intuitivo donde se establecían las diferentes actividades del proceso, los flujos, las condiciones y las variables de proceso. En algunos casos esa herramienta de edición también permitía la definición gráfica de los formularios o pantallas para las tareas de usuario. Una herramienta que volcaba la definición del proceso inicialmente a una base de datos en un formato propietario de cada herramienta pero que en seguida pasaron a ser capaces de almacenarlo en formatos estandarizados normalmente basados en XML como BPEL (Business Process Execution Language).

 

El segundo elemento es el motor de ejecución, es decir, la pieza que toma la definición hecha con el módulo anterior y lanza las instancias de los procesos para su ejecución real.

 

Normalmente, los sistemas de workflow no implementaban el detalle de cada tarea sino que actuaban más bien como coordinadores u orquestadores de otros sistemas,  `por lo que en el modelo de referencia se incluyen las aplicaciones cliente y las aplicaciones invocadas.

 

Finalmente, y como es de esperar, se añaden herramientas adicionales de monitorización de los procesos o de administración de aspectos como los roles y los usuarios.

 

Los BPMS y sus diversos nombres

 

Poco a poco, la denominación de sistemas de workflow ha ido desapareciendo y en su lugar se suele hablar de BPMS (Business Process Management System o Business Process Management Suites). Las ideas y funcionalidades son similares aunque cuando surgieron los sistemas de workflow eran unas soluciones más de nicho o para procesos más concretos mientras que con los BPMS se incrementa la ambición hacia una gestión corporativa completa de los procesos.

 

Han tendido por ello, y por la propia evolución de la tecnología y el mercado, a hacerse productos más complejos. Realmente, muchas veces son una familia de productos e incluyen elementos de gestión SOA como un Enterprise Service Bus. De ahí que la última ‘S’ suela tratarse con el significado de ‘suite‘ en lugar de ‘system‘.

 

También consultoras como Gartner los han denominado iBPMS donde la ‘i’ significa ‘intelligent‘ y que justifican con la introducción de funcionalidades avanzadas como analítica en tiempo real, tratamiento de eventos complejos (CEP, Complex Event Processing) o la monitorización en tiempo real BAM Business Activity Monitoring.

 

Por su lado Forrester, por ejemplo, nos habla últimamente de DPA (Digital Process Automation) justificando el cambio de nomenclatura en aspectos como la importancia del low-code o de facilidades basadas en inteligencia artificial.

 

La filosofía fundamental, sin embargo, sigue siendo la misma y la ya heredada de los sistemas de workflow.

 

Conclusión

 

Aunque con las lógicas evoluciones y los algo confusos cambios de denominación, BPMS es la tecnología por excelencia para la gestión corporativa de procesos. Aunque, más que de una tecnología propiamente dicha, quizá debamos hablar de una filosofía de productos de automatización de procesos de negocio, donde se gestiona explícitamente el proceso con sus actividades, sus flujos y sus roles tanto n lo relativo a su diseño, como su ejecución, monitorización y analítica.

 

Existen tecnologías adicionales, algunas muy modernas e impactantes, que veremos en próximos artículos pero, en general, serán tecnologías que complementarán a la columna vertebral de la digitalizaci´´on de procesos que se basa en los BPMS (con el nombre que sea) interactuando con sistemas de gestión empresarial, y bien apoyados por la filosofía y productos SOA.

 

Artículos anteriores relacionados

 

 

Imagen: Pixabay – Dominio público

 

 

Tecnología para digitalización de procesos (I). ERP, CRM y software empresarial

software empresarial

Nuestra firma, Reingeniería Digital, busca trabajar en esa zona intermedia en que se une la visión del negocio con las posibilidades que aporta la tecnolog´ía digital. En los artículos que en este blog hemos publicado en las últimas semanas (y meses), hemos adoptado una visión predominantemente de negocio, abordando en dos series consecutivas, las estrategias de mejora de procesos y los modelos de referencia.

 

Con este artículo iniciamos ahora una nueva serie en que vamos a ir examinando someramente diversas tecnologías, algunas ya tradicionales, y otras emergentes, que sirven para digitalizar, automatizar y, en general, mejorar los procesos de negocio.

 

El pasado ‘lejano’

 

Aunque en el mundo inicial de los mainframe o de desarrollos a medida locales, podemos dar por seguro que se realizó una cierta labor de digitalización de procesos, lo cierto es que inicialmente no se tenía esa visión transversal de la actividad que los procesos suponen ni tampoco la necesaria extensión de los sistemas de información como para cubrir grandes porciones de la actividad empresarial, Podemos entender, entonces, que más que procesos, lo que se digitalizaba eran tareas o actividades concretas.

 

La llegada del software empresarial: los ERP

 

El panorama cambió de forma importante con la llegada de los productos de software empresarial. Se trataba de grandes productos software que, aunque parametrizables, traían de serie incorporadas grandes dosis de funcionalidad de gestión de la empresa.

 

Con ello, no sólo recogían los principales datos a manejar en cualquier empresa sino que, además, y más importante para nosotros, venían con unos procesos de negocio ya incorporados. Estos procesos de negocio, se suponía, recogían las mejores prácticas del mercado o sector y, por tanto ahorraban a la empresa su revisión y le proporcionaban ‘sin esfuerzo’ los mejores procesos que pudiera desear.

 

Este tipo de productos se inició por los ámbitos empresariales más de back-office incluyendo la gestión contable y financiera, la gestión de recursos humanos y la producción. De ahí su nombre, ERP, Enterprise Respource Planning, siendo el producto más paradigmático el famoso SAP, pero también existían otros como Oracle Applications y los desaparecidos o absorbidos PeopleSoft o J.D Edwards. Existían versiones transversales y también los denominados ‘verticales’ por sector.

 

La extensión hacia los procesos de relación con cliente: el CRM

 

Con exactamente la misma filosofía que los ERP surgieron los CRM (Customer Relationship Management) cuya mayor diferencia era que se centraban en los procesos de relación con el cliente incluyendo la gestión de ventas, la automatización del marketing y la posventa.

 

Dado que se centraban en la relación con el cliente también solían incluir destacadas capacidades multicanal pero con especial foco en canal telefónico, incorporando tecnología ACD (Automatic Call Distribution) o IVR (Interactive Voice Response).

 

El representante más cualificado fue Siebel (posteriormente comprado por Oracle), aunque un movimiento lógico fue la extensión hacia el campo de CRM de productos ERP como SAP (iniciado con su mySAP), Oracle o Peoplesoft.

 

Luces y sombras

 

El éxito e impacto de este software empresarial: ERP y CRM ha sido y es innegable y supusieron un gran impulso a la digitalización (que entonces no se llamaba así) de muchas empresas, a la automatización de procesos (tampoco se solía llamar así) y a la disponibilidad de abundantes datos explotables mediante Business Intelligence.

 

Pero también han adolecido de ciertas problemáticas. Por una parte, las tarifas que aplicaban las consultoras que realizaban las parametrizaciones e implantaciones han sido tradicionalmente muy elevadas, a lo que pudimos un coste de licencia tampoco ‘frugal’. Se trata, por tanto, de soluciones, en general, caras.

 

Los productos de software empresarial están pensados para usarlos ‘como son’ por lo que las personalizaciones son costosas y, al apartarse del estándar ponen en peligro la evolución futura de las implantaciones personalizadas de las empresa.

 

Desde un punto de vista algo más estratégico y relacionado con los procesos, decir que, al adoptar unos procesos de negocio que aportaba la herramienta, la capacidad de diferenciación estratégica en esos procesos era mínima.

 

Además, los procesos, aunque formaban parte de la solución, solían ser más bien subproductos, sin una gestión directa.

 

Finalmente, se generaba unas altas y complejas necesidades de integración con otros sistemas que forzosamente necesitaban interaccionar con los ERP y CRM, convertidos en la columna vertebral de los sistemas de la empresa.

 

Siguientes tendencias

 

Aunque los sistemas de software empresarial están todavía muy presentes (y es previsible que se mantenga ese estado de cosas durante mucho tiempo), dos nuevas corrientes surgieron para superar algunas de sus problemáticas: las arquitecturas SOA (Service Oriented Architecture) y EAI (Enterprise Application Integration) para solventar la problemática de integración y los workflow y posteriormente los BPMS (Business Process Management Suites) para convertir a los procesos de negocio en ‘ciudadanos de primera’ en la gestión digital.

 

Pero de SOA y de los BPMS nos ocuparemos en futuros artículos.

 

Imagen: pixabay

 

 

¿Qué aporta la tecnología digital a los procesos de negocio?

Nuestra actividad, la reingeniería digital, se mueve a medio camino entre el dominio del negocio y el de la tecnología digital.

El foco inicial de negocio en que nos fijamos es el de los procesos de negocio. Ahí podemos trabajar a nivel de análisis de negocio, en la eliminación de actividades que no aportan valor, en la simplificación de flujos, en la paralelización de actividades, y así un largo etcétera pero…

¿y qué aporta la tecnología digital?

Las posibilidades son tan variadas, abundantes y dinámicas, que es casi imposible censar todas las alternativas. Veamos, sin embargo, algunas:

Lo primero y fundamental que aporta la tecnología digital es la automatización de los procesos de negocio, es decir, que la mayor parte posible de las tareas sean realizadas por sistemas digitales. Eso nos aporta eficiencia, rapidez, eliminación de errores, aumento del ‘compliance‘… Y en esta labor de automatización de procesos, vienen en nuestra ayuda dos grandes bloques de tecnología: por un lado el BPMS (Business Process Management Systems) que, proporciona una gestión extremo a extremo de procesos de negocio y que a su vez, se apoya en sistemas de información tradicionales y en SOA (Service Oriented Architecture) como medio para facilitar la integración de sistemas diferentes. Por otro lado, tenemos la emergente automatización robótica de procesos (Robotic Process Automation, RPA) que automatiza las tareas repetitivas y basadas en reglas que realizan los humanos sobre esos sistemas de información orquestados por BPMS.

Pero aún podemos automatizar más, y lanzarnos a las interfaces conversacionales o chatbots que automatizan los diálogos con personas en lenguaje natural, apoyándose, en los casos más avanzados en elementos de inteligencia artificial para el tratamiento del lenguaje natural, el reconocimiento de imágenes y la adopción de conversaciones más inteligentes.

Las tecnologías de datos, muy especialmente Big Data o BAM (Business Activity Monitoring) nos capacitan para la monitorización, medida y, sobre todo, análisis del funcionamiento de los procesos.

Si sobre esos datos añadimos tecnologías cognitivas como Machine Learning podemos conseguir comportamientos más inteligentes y adaptativos.

Éstas son, quizá, las tecnologías más claramente relacionadas con procesos y en las que más nos fijaremos…pero hay muchas más posibilidades.

La adopción de Internet de las Cosas nos permite incluir en la gestión de procesos a elementos físicos anteriormente fuera de ellos (al menos de su automatización) y progresar, por ejemplo, en entornos industriales, hacia la famosa industria 4.0.

La realidad virtual y aumentada nos permiten conseguir formas novedosas, atractivas y al tiempo eficientes, de realizar ciertas tareas especialmente como análisis y resolución de averías, por no hablar de la importancia para la experiencia de cliente de acciones como el probador virtual.

Como se puede ver, las opciones son muchas, las posibilidades inmensas…

¿A qué esperamos para acometer la reingeniería digital de nuestros procesos de negocio?