Blog

Tecnología para la digitalización de procesos (IX): Workforce management y field service

Workforce management

En el post de hoy nos vamos a detener en lo que, quizá, más que una tecnología como tal, es una funcionalidad basada en tecnología y presente en las soluciones de mercado con distintos formatos. Hablamos de las soluciones de Workforce management (gestión de fuerza de trabajo) que, muchas veces, adoptan la forma de soluciones de servicio de campo (‘field service‘).

 

¿Qué es una solución de workforce management?

 

Cuando hablamos de fuerza de trabajo en este contexto, pensamos en grupos humanos de bastante tamaño (decenas o centenas de personas), que ejecutan tareas masivas más o menos homogéneas, de corta duración y que, con frecuencia, la ejecución implica desplazamiento físico de las personas al lugar donde deben realizar la tarea.

 

Estamos hablando, por ejemplo, de flotas dedicadas a entregas de paquetería, de equipos de técnicos dedicados a la realización de instalaciones o resolución de averías en campo, de técnicos que realizan mediciones in situ de gas o electricidad, o incluso de fuerzas de ventas que visitan a gran numero de clientes. Y también aplicaría a alguna situación que no se realiza en campo, como podría ser la gestión de los trabajos en un Contact Center.

 

El objetivo de las soluciones de workforce management es registrar, gestionar, monitorizar y, sobre todo, optimizar ese tipo de trabajos. Dado que estamos hablando de tareas masivas y que implican a muchas personas, son actividades con alto coste para la empresa y en las que, por tanto, es muy importante conseguir la máxima eficiencia.

 

Eso sí, dado el carácter homogéneo de las tareas a realizar, se prestan bien a una automatización al menos parcial y también a la aplicación de algoritmia procedente del campo de la investigación de operaciones.

 

A esas tareas homogéneas y de corta duración a gestionar, las vamos a denominar, en lo que sigue, órdenes de trabajo (nomenclatura frecuente en estos ámbitos).

 

Funcionalidad habitual

 

¿Qué debe hacer una solución de workforce management?

 

Funcionalidades que podemos considerar habituales de este tipo de soluciones son:

 

  • Administración de los trabajadores y recursos asociados: por una parte debe poderse administrar la plantilla asociada a estos trabajos. Esa administración incluiría, por supuesto, el alta y baja de trabajadores, pero también la configuración de grupos, horarios y turnos, la gesti´´ón de habilidades y capacidades de la plantilla que sean relevantes para la asignación de órdenes de trabajo, la gestión de indisponibilidades por enfermedad, incapacidad temporal, etc. En el apartado de recursos asociados podríamos hablar del censo y asignación de recursos tales como vehículos, herramientas especializadas, etc.

 

  • Gestión automatizada de la asignación de tareas: unos de los focos de las soluciones de workforce management es la automatización de distribución y asignación de las órdenes de trabajo (en ocasiones denominado despacho) entre los profesionales disponibles. Aunque el objetivo debe ser la automatización completa, también suelen proveer de herramientas informáticas para la asignación manual de tareas por un usuario haciendo labores de coordinación de equipos.

 

  •  Gestión del ciclo de vida de las órdenes de trabajo: gestión de la creación y cierre de las órdenes de trabajo, así como otras acciones intermedias como retención, reasignación, etc.

 

  • Optimización de rutas: para aquellos casos en que los profesionales deban moverse fuera de oficina, en entornos tanto rurales como urbanos, algunas soluciones aportan algoritmos de optimización de las rutas a seguir, acortando distancias y, sobre todo, tiempos de desplazamiento y, eventualmente, consumo de combustible.

 

  • Monitorización e informes: es decir, seguimiento operativo por un lado de la actividad diaria, detección de incumplimientos de SLA, detección de sobrecargas, etc Y análisis más ejecutivo y estratégico de la actividad a nivel semanal, mensual, etc incluyendo medidas de tiempos de operación, eficiencia, satisfacción de cliente, etc

 

¿Cómo se puede presentar una solución de workforce management?

 

Las soluciones de workforce management las podemos encontrar en diversas presentaciones y formatos.

 

Lo más común es que se presenten como módulos específicos dentro de sistemas de gestión empresarial, tanto ERPs como CRMs, donde suelen adoptar un nombre que, de alguna forma, incluye el término ‘field service‘ ya que normalmente están orientados a trabajos en calle.

 

Pero también es posible, encontrarlas como productos especializados, tanto como aplicaciones como, de forma muy especializada, tal vez como librerías o APIs con los algoritmos más complejos de investigación de operaciones.

 

Y, aunque quizá no le sea el campo más propio, lo podríamos ver como un caso especial de Case Management.

 

De todas formas, y aunque la funcionalidad que ofrecen es muy importante, no se ven demasiado frecuentemente como una categoría de producto diferenciado por lo que puede ser necesaria una cierta investigación de mercado.

 

Elementos habituales y diferenciales

 

Desde un punto de vista tecnico, los elementos más diferenciales de este tipo de soluciones respecto a otras con las que guardan bastante similitudes, serían:

 

  • Algoritmia de optimización: es lo que realmente las hace más diferenciales. Lo realmente especial de estas soluciones es disponer de los algoritmos (como hemos dicho, normalmente procedentes del campo de la investigación de operaciones) para la asignación óptima y automatizada de órdenes de de trabajo y optimización de rutas que consigan una verdadera eficiencia.

 

  • Geolocalización y georouting: para el caso más habitual, a saber, que estemos gestionando una fuerza de trabajo de campo, si queremos poder seguir en tiempo real dónde se encuentra cada unidad, necesitamos geolocalización pero, además, si queremos optimizar rutas de desplazamiento, debemos complementarlo con georouting que optimice rutas con información, incluso, de naturaleza topográfica.

 

  • Movilidad: evidentemente, para el caso de fuerzas de campo, es importante poder trabajar en movilidad, desde smartphone, tablet, o laptop, con una interfaz de usuario muy ergonómica y lo más sencilla posible y previendo que, según el ámbito de aplicación, pueden perderse las comunicaciones por lo que el sistema debería ser capaz de funcionar tanto en modo conectado como desconectado.

 

Conclusiones

 

En resumen, las soluciones de Workforce management y field service, están orientadas a la gestión y, sobre todo, optimización de grupos humanos de trabajo que gestionan muchas tareas pero homogéneas y de corta duración.

 

Se suelen presentar como módulos de otro tipo de soluciones y una adecuada explotación de sus capacidades puede conducir a grandes eficiencias, mejoras de tiempos de operación y ahorros en costes.

 

Artículos anteriores relacionados

 

 

Tecnologías de proceso y tecnologías de tarea

Tecnologías de proceso y tecnologías de tarea

Hacemos un breve alto en el camino antes de proseguir con unos pocos artículos más en que continuaremos hablando de las tecnologías que se pueden utilizar en la digitalización de procesos.

 

Y hacemos ese alto para hacer una diferenciación que no tiene sitio en la literatura especializada pero que nosotros quisiéramos reseñar, especialmente a tenor de las tecnologías que revisaremos en próximos artículos.

 

Lo cierto es que casi cualquier tecnología digital es susceptible de ser utilizada, de alguna manera, para digitalizar procesos o, más bien, alguna parte de ellos. Por eso quisiéramos distinguir entre lo que denominamos tecnologías de proceso de aquellas tecnologías que denominaremos de tarea, insistiendo que es una visión particular nuestra.

 

Llamamos tecnología de proceso a aquellas tecnologías que tienen como objetivo los procesos vistos extremo a extremo y con una cierta ‘conciencia’ de la existencia de ese proceso. La tecnología por excelencia que cumple con esa definición es, sin lugar a duda, la de los BPMS. Probablemente sea la única que, dicho con rigurosidad, se pueda considerar una tecnología de proceso. Sin embargo, no parece descabellado incluir dentro de este paraguas, también, a los sistemas de gestión empresarial (ERPs, y CRMs), al Case Management o al ITSM.

 

Por el contrario, hay tecnologías que sirven para realizar ciertos trabajos, ciertas tareas específicas. Pero, en general, esas tareas formarán parte, sea esto más o menos explícito, de algún proceso. En la medida que esas tecnologías ayudan a digitalizar o automatizar tareas de un proceso, se deben tener en cuenta como candidatas a ser usadas en la automatización y en la digitalización. Pero preferimos, en este caso, denominarlas tecnologías de tarea. Dentro de este paraguas incluiríamos también a tecnologías que, quizá, automatizan varias tareas, o una secuencia de ellos o, incluso, algún subproceso, pero no procesos extremo a extremo.  Aquí cabría casi cualquier tecnología pero, de las que hemos visto, hablaríamos de los chatbots (tareas de interfaz con usuario), de Complex Evennt Processing (tratamiento de eventos), la inteligencia artificial, y algunas otras que iremos viendo como workforce management, blockchain/smart contracts, etc.

 

Las fronteras no son claras, pero en general no cuesta trabajo, creemos, entender la diferenciación, al menos en su filosofía subyacente.

 

Quizá la tecnología de más difícil clasificación sea Robotic Process Automation (RPA). En su aplicación más natural, tiende a ser una tecnología de tarea, aunque con cierta tendencia a asumir subprocesos y no sólo tareas simples. Sin embargo, RPA tiene el potencial técnico de, aunque sea forzando un poco su filosofía, llegar a digitalizar procesos extremo a extremo. De momento nos parece más acertado clasificarla como tecnología de tarea… y estar muy atentos a su evolución.

 

Se trata, no obstante, esta distinción entre tecnologías de proceso y de tarea, más bien una forma de entenderse y ayudar a entender las tecnologías y lo que significan. A la hora de la aplicación en una reingeniería digital de procesos, no importan tanto su clasificación sino su impacto en el negocio, su adecuación a la labor de digitalización que se pretende y su facilidad o no de implantación.

 

Continuemos…

 

Tecnología para la digitalización de procesos (VIII). Qué tiene que decir la Inteligencia Artificial.

Inteligencia Artificial

Aunque la Inteligencia Artificial no es propiamente una tecnología orientada a procesos de negocio, sí que está ya realizando más que interesantes aportaciones al campo de la automatización y las perspectivas son de que puede ganar mucho más peso específico.

 

Vamos a ver en este artículo algunas ideas sobre lo que puede hacer la inteligencia artificial en el mundo de los procesos.

 

Primero lo primero: ¿Qué es la inteligencia artificial?

 

Lo primero es centrar qué es eso de la inteligencia artificial.

 

Lo cierto es que se trata de un área tecnológica de fronteras poco definidas y que agrupa algoritmias de muy diferente naturaleza con el objetivo común de emular, de alguna manera, capacidades cognitivas propias de los humanos. Dentro de la inteligencia artificial se suele incluir el Machine Learning, a su vez un conjunto heterogéneo de algoritmos con la característica común en todos ellos de su capacidad para aprender, ya sea a través de pares (entrada-resultado correcto), aprendizaje supervisado, ya sea mediante el descubrimiento autónomo de patrones, aprendizaje no supervisado, o ya sea mediante el ensayo y error ligado a una recompensa/castigo, aprendizaje por refuerzo.

 

Dentro del campo del Machine Learning se incluyen algoritmos como las redes bayesianas, regresión logística, seuencias temporales, K-means y, lo que son la ‘estrella’ hoy día, las redes neuronales incluyendo su variante Deep Learning.

 

Quizá, lo más diferencial de los algoritmos de Inteligencia Artificial sea, precisamente, su capacidad de aprendizaje y adaptación autónoma así como la resolución de problemas complejos de fronteras poco claras.

 

Tareas automatizables con la ayuda de la inteligencia artificial

 

Como sabemos, en un proceso de negocio se encadenan diferentes tareas o actividades que, coordinadamente, producen un valor de negocio. Existen soluciones tecnológicas para automatización orientadas hacia una visión del proceso extremo a extremo (siendo el caso paradigmático el de los Business Process Management Systems (BPMS) de los que ya hemos hablado. En otros casos, las tecnologías nos ayudan a automatizar algunas de esas tareas específicas, sin preocuparnos de la visión extremo a extremo.

 

Ahora mismo, la Inteligencia Artificial está en esta última situación: la de permitir automatizar tareas concretas, dentro de un proceso de negocio.

 

¿Qué tipo de tareas?

 

Aunque existen posibilidades adicionales, el gran éxito de los últimos años de la Inteligencia Artificial se centra mucho en la ‘sustitución’ de las capacidades sensoriales y lingüísticas de los humanos, es decir, más que el pensamiento como tal, hablamos de visión artificial, hablamos de reconocimiento de voz y del tratamiento del lenguaje natural (NLP, Natural Language Processing) y del entendimiento de ese lenguaje natural (NLU, Natural Language Understanding). Y añadiríamos también, la capacidad de clasificar correctamente las entradas (lo que se puede utilizar, por ejemplo, ligado a la visión para la clasificación de imágenes). Todas estas capacidades están ya muy desarrolladas y maduras y, en cualquier proceso en que hoy día necesitemos que un humano reconozca imágenes (por ejemplo, lectura de matrículas de automóviles, reconocimiento facial, etc) o que reciba instrucciones por voz, podemos pensar en sustituir la labor humana o las soluciones software más primitivas, por módulos basados en inteligencia artificial.

 

Robots software e inteligencia artificial

 

En la práctica, una de las formas más comunes de emplear la inteligencia artificial en la digitalización de procesos, no es directamente sino a través de otras tecnologías más amplias que se apoyan en ella. En concreto, ya en este blog hemos hablado de las dos más relevantes y que tiene que ver con los bots, los robots software.

 

Por un lado tenemos la Automatización Robótica de Procesos (RPA, Robotic Process Automation) que utiliza elementos de inteligencia artificial para tareas como reconocimiento óptico de caracteres (OCR, Optical Character Recognition) inteligente, normalmente para la lectura y extracción de información de documentos poco estructurados o reconocimiento de imágenes, también para el tratamiento de documentos poco estructurados  o para trabajo con aplicaciones a las que accedemos mediante escritorios virtualizados, tipo Citrix.

 

Por otro lado, hablaríamos de chatbots e interfaces conversacionales donde se utiliza la inteligencia artificial muy especialmente para las interfaces por voz, incluyendo el reconocimiento de voz, el tratamiento y entendimiento del lenguaje natural y la síntesis de voz aunque puede encontrar otros usos como el análisis de sentimiento y de intenciones o la gestión de conversaciones complejas.

 

Hacia una inteligencia superior

 

Sin embargo, la aspiración, y lo que más excita la fantasía, es que podamos introducir de alguna forma la capacidad de análisis y de pensamiento en los procesos, que podamos automatizar aquellas decisiones que suponen un análisis complejo y que actualmente, con frecuencia, se realizan por personas o mediante aplicación de reglas de negocio configurables que tienden a simplificar el problema.

 

En este área nos debería de ayudar toda la algoritmia incluida en el campo del Machine Learning. No parece lejano (de hecho, seguramente ya existen algunas implementaciones, al menos incipientes), aplicar inteligencia artificial en temas como el ‘scoring‘ de riesgo en el sector de asegurador o al diagn´óstico de averías en infraestructuras técnicas como, por ejemplo, redes de telecomunicaciones o equipos complejos, por ejemplo del ámbito industrial. Y ya se habla también del diagnóstico de enfermedades, aunque se plantea más como una ayuda al médico que como una solución autónoma.

 

Mucho por ver

 

Hemos visto ya avances increíbles en el campo de la inteligencia artificial en los últimos años y no cabe duda de que aún nos queda mucho por ver.

 

A medida que la inteligencia artificial progrese, veremos, seguramente, aparte de la consolidación de las soluciones como las actuales de tratamiento de imágenes, voz y lenguaje natural, el crecimiento de soluciones de, si se nos permite decirlo, ‘auténtica inteligencia‘,  que permitirán automatizar, probablemente mejorando incluso las capacidades actuales, tareas hasta ahora reservadas a los humanos.

 

Con ello, podríamos ir eliminando cada vez más las denominadas tareas de usuario en los procesos y sustituirlas por tareas automáticas, consiguiendo espectaculares mejoras en tiempos de operación, pero también en precisión, en eliminación de errores y en calidad.

 

Conclusiones

 

La inteligencia Artificial es un campo algo borroso y heterogéneo de técnicas que permiten emular el pensamiento humano incluyendo, sobre todo, el aprendizaje y la capacidad de adaptación autónomos.

 

No se trata de una tecnología específica de automatización de procesos pero sí que permite automatizar tareas específicas de los procesos. En concreto, hoy día ya se utiliza mucho en lo relativo a la visión artificial, reconocimiento de voz y tratamiento del lenguaje natural.  En muchos casos, estos usos se hacen a través de otras tecnologías como RPA y chatbots.

 

De cara al futuro cabe esperar, aparte de otras posibles sorpresas, avances y aplicaciones más orientadas al pensamiento, el análisis y la decisión.

 

Sin duda, nos queda mucho por ver y mucho por lo que sorprendernos.

 

Artículos anteriores relacionados

 

 

Imagen de cabecera: Gerd Leonhard en Flickr.

Tecnología para la digitalización de procesos de negocio (VII): IT Service Management

IT Service Management

En esta nuestra singladura a lo largo de las diferentes soluciones tecnológicas para digitalizar procesos de negocio, hoy tratamos unas soluciones que podríamos considerar de nicho en cuanto al área de aplicación, aunque no por ello pensemos que se trata de un tipo de soluciones marginales, porque sí cabe encontrarlas con cierta frecuencia en departamentos de tecnología o sistemas. Nos referimos a las soluciones denominadas IT Service Management (ITSM).

 

¿Qué es el IT Service Management?

 

Podemos decir que el IT Service Management es una disciplina orientada a la gestión del ciclo de vida completo de servicios basados en Tecnologías de la Información incluyendo desde su diseño y desarrollo hasta su despliegue y operación.

 

Esto es aplicable, por ejemplo, a la gestión del ciclo de vida de un sistema desarrollado a medida dentro de una gran organización, o a la gestión de un software ofrecido en modo SaaS (Software as a Service) en la nube, o al mantenimiento de la planta microinformática (desktop y laptop) de una compañía… y así un largo etcétera.

 

Como parte del IT Service Mangement se definen políticas, buenas prácticas, procedimientos, funciones, etc. Pero, sin duda, la estrella del IT Service Management, y lo que más nos interesa a nosotros, son los procesos de negocio para la gestión del ciclo de vida de servicios TI.

 

¿De qué procesos hablamos?

 

Aunque en teoría puede haber otras alternativas, la mayor parte de las soluciones de ITSM se centran en los procesos definidos en ITIL. En ITIL se reconocen una veintena larga de procesos agrupados en cinco áreas de proceso, tal y como se puede observar en la figura:

 

Procesos ITIL

No vamos a revisarlos todos pero, a modo de ejemplo, comentaremos brevemente estos cuatro que son la columna vertebral de la operación de los servicios:

 

  • Incident management: gestiona las incidencias en el servicio, típicamente denunciadas por el usuario recurriendo a la función denominada service desk. El objetivo fundamental de este proceso es restaurar cuanto antes el normal funcionamiento del servicio, incluso si para ello tiene que recurrir a soluciones transitorias (‘workarounds‘) que se deben revisar posteriormente.

 

  • Problem management: este proceso se relaciona bastante con el anterior, pero en este caso lo que se trata es de resolver problemáticas profundas (que en general se manifiestan en forma de incidentes) mediante un análisis más riguroso en busca de lo que se denomina la ‘causa raíz‘ (digamos que el verdadero motivo de todos los males) y encontrar para ella una solución que debe ser ya definitiva.

 

  • Event Management: Es el tratamiento de lo que se denomina eventos, es decir, las alertas o notificaciones que se generan normalmente por una solución de monitorización de las infraestructuras TI. Estos eventos pueden ser meros avisos perfectamente descartables, pero también nos pueden estar indicando la presencia de incidentes y/o problemas.

 

  • Request fulfillment: Es el proceso mediante el cual se atiende a peticiones del cliente / usuario (por ejemplo, la instalación en un PC de una nueva aplicación corporativa o el aumento de memoria en un entorno virtualizado)

 

Las soluciones ITSM

 

Existen en el mercado varias soluciones ITSM. En su concepción heredan en cierto sentido la filosofía de los sistemas de gestión empresarial, en el sentido de ofrecer unos procesos y una funcionalidad ‘predefinidos’ que luego se parametrizan para su adaptación a una empresa concreta. Pero en su construcción suelen proceder del desarrollo sobre una herramienta de case management o de BPMS/workflow. y en teoría, aunque no podemos considerarlo práctica común, en lo relativo a Event Management también pueden apoyarse en tecnología CEP (Complex Event Processing).

 

Adicionalmente, y aparte de la implementación de los procesos, deben incluir más cosas para dar un verdadero soporte ITIL / ITSM. Así, por ejemplo, incluyen el módulo CMDB (‘Configuration Management Data Base‘) el cual podemos entender como un inventario de infraestructura TI (hardware y software) aunque cualquier entendido en ITIL nos dirá, con razón, que es algo más que eso, conteniendo, por ejemplo, información también sobre niveles de servicio.

 

Además, este tipo de soluciones que, tradicionalmente, y como es lógico, se instalaban ‘on-premises‘, es decir, en el Centro de Proceso de Datos de la empresa, cada vez más tienden a prestarse desde la nube según el modelo SaaS (Software as a Service).

 

La ventaja de una solución ITSM

 

Las ventajas e inconvenientes de una solución ‘paquetizada’ que sólo debemos parametrizar, como suele ser el caso de las soluciones ITSM, son las mismas que para cualquier otro paquete como pueden ser los de software empresarial.

 

Por un lado, disponemos de unas mejores prácticas ya construidas en los procesos y una, en teoría, mayor rapidez de despliegue. Por contra, tenemos una cierta rigidez en la funcionalidad disponible, la dificultad para diferenciarnos y, desgraciadamente, un precio que no suele ser bajo.

 

En el caso de ITSM, sin embargo, conviene decir que realmente no suele ser muy necesaria una diferenciación, ya que los procesos de gestión TI no suelen ser los que influyen en la posición competitiva y lo que se quiere realmente es que sean muy efectivos y muy eficientes, pero sin especiales originalidades.

 

Por otro lado, el cumplimiento con ITIL que estas herramientas traen consigo, lleva como consecuencia inmediata la facilidad para conseguir una certificación ISO 20000 muy valorada por ciertos clientes.

 

Conclusiones

 

Las soluciones IT Service Management ofrecen productos parametrizables para soportar los procesos propios de la gestión de servicios TI, normalmente siguiendo las buenas prácticas establecidas por ITIL.

 

En su filosofía y construcción se suelen apoyar en otras tecnologías de gestión de procesos de negocio y constituyen una buen punto de apoyo para conseguir una certificación ISO 20000.

 

Artículos anteriores relacionados

 

 

Imagen de cabecera: Blue Coat en Flickr

Felices fiestas y transformador año 2019

Felices fiestas y transformador año 2019

Está cercano a finalizar 2018, y estamos a punto de vivir las fiestas navideñas y de entrar en el que esperamos sea un magnífico 2019.

 

Ha sido un año para nosotros muy especial, porque es el año de nuestra fundación. Un año donde hemos dedicado muchos esfuerzos a estructurar y sembrar, a intentar humildemente extender conciencia y conocimiento sobre transformación digital y sobre la necesidad y posibilidad de innovación digital en procesos y modelos de negocio.

 

Hemos realizado las primeras colaboraciones con clientes y también hemos puesto mucha ilusión en preparar y desarrollar una nueva oferta atractiva que esperamos poner de largo en las primeras semanas de 2019.

 

Estos días son una buena metáfora de nuestra forma de entender la empresa y la transformación digital. Es una buena época para repasar lo realizado, para diagnosticar dónde nos encontramos, reflexionar sobre el futuro en el que queremos estar, y con todo ello, definir nuestra transformación, personal o empresarial, y prepararnos para acometer con garantías e ilusión ese prometedor futuro.

 

Con ese empeño y con esa esperanza os transmitimos nuestro deseo: DE que sean éstas una felices fiestas y el que viene, un próspero, y transformador, año 2019.

 

Reingeniería Digital se convierte en partner de UiPath para el mercado RPA

partners UiPath

Reingeniería Digital ha alcanzado un acuerdo de partnership con UiPath.

 

UiPath es la empresa l´íder mundial en Robotic Process Automation (RPA) como ha sido reconocido recientemente tanto en el informe Forrester Wave como en el Everest Group Peak Matrix, destacando por encima de su competencia tanto su oferta actual, como su estrategia y su presencia en el mercado.

 

UiPath permite automatizar tareas repetitivas realizadas actualmente por personas liberándolas así de trabajos no deseados y permitiéndoles dedicarse a tareas más creativas y valiosas. Para conseguir esas automatizaciones, UiPath interacciona con aplicaciones existentes (desktop, web o virtualizadas), accede a ficheros (hojas de cálculo, documentos PDF, etc) y ejecuta otro tipo de integraciones como correo electrónico o bases de datos: Además, incorpora cada vez más capacidades basadas en inteligencia artificial y de integración con terceros.

 

En base a este acuerdo, Reingeniería Digital obtendrá el apoyo directo de UiPath para garantizar el éxito de las implantaciones que acometamos en nuestros clientes. Y por nuestra parte, desde Reingeniería Digital aportamos un equipo certificado y con experiencia, y nuestra metodología de análisis e implantación facilita el éxito de los proyectos RPA.

 

La Automatización Robótica de Procesos es una de las tecnologías que consideramos claves para la mejora y automatización de procesos de negocio en todos los sectores y segmentos de cliente y es una pieza fundamental de nuestra oferta de servicios, una oferta que ahora reforzamos en todo lo relativo a la metodología específica de automatización robótica, en los centros de excelencia RPA y en el gobierno de procesos y robots.

 

Un nuevo camino muy ilusionante.

 

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