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?