Mostrando entradas con la etiqueta RPA. Mostrar todas las entradas
Mostrando entradas con la etiqueta RPA. Mostrar todas las entradas

jueves, 16 de julio de 2026

Los agentes y el martillo de oro (III): soluciones híbridas y ecosistemas de agentes

Y con este post remato la pequeña serie dedicada a los agentes como martillos de oro. Y lo hago ofreciendo algunas soluciones intermedias o híbridas al problema planteado.

Pero vamos a ir poco a poco, recapitulando primero algunos conceptos y recordando la definición del problema.


Un paso atrás: los agentes de la Agentic AI


Damos, pues, un paso a atrás para recordar conceptos. Y lo primero es recordar de qué hablamos cuando hablamos de un agente. Y antes de hacerlo, insistir en que el término 'agente' se lleva utilizando desde hace décadas, e incluso siglos, y no sólo en tecnología. Así que, de los que hablamos son de los agentes de que hablamos bajo el paraguas de la Agentic AI.

Y se trata, como vimos, de programas construidos alrededor de un modelo de lenguaje razonador que son capaces de funcionar de manera autónoma, recibir sus tareas u objetivos mediante una especificación en lenguaje natural y, con base en sus capacidades razonadoras, decidir por sí mismos, y en tiempo de ejecución el plan a ejecutar para conseguir el objetivo. Un plan que puede ser revisado conforme avanza y se obtienen resultados intermedios, y un plan en cuyos diferentes pasos se puede incluir la selección y ejecución de una herramienta externa que le permite, entre otras cosas, interactuar con el mundo exterior.


Agentes versus workflows


Estructura de un agente


Estructura de un agente
Conforme a lo comentado, la estructura de alto nivel de un agente es la que se muestra en la figura. En el núcleo tenemos un modelo de lenguaje razonador y, como apoyo, una serie de herramientas con las que puede interactuar y que, aparte de alguna posibilidad adicional, fundamentalmente le ayudan a entrar en contacto con aplicaciones y recursos externos (una web, un sistema empresarial, el correo electrónico, etc)

En la figura dibujo a trazos la unión entre el modelo de lenguaje y las herramientas queriendo indicar que, según el plan generado, se invocan o no.


Estructura de un workflow


Y es importante comparar a estos agentes basados en modelos de lenguaje razonadores con otro tipo de soluciones anteriores que funcionan bajo un paradigma de reglas y, sobre todo flujos o workflows. Denomino genéricamente 'workflows' a ese tipo de soluciones que incluye, por ejemplo, los robots RPA ('Robotic Process Automation'), a los a veces denominados workflows en la nube o IPaaS (como Make, N8N o Zapier) e, incluso, forzando un poco, a los BPMS ('Business Process Management System') y los CMS ('Case Management System').

Estructura de un workflow
A alto nivel estas soluciones que agrupo bajo la etiqueta 'workflows' exhiben patrones estructurales muy similares entre sí, e incluso con los agentes.

En el caso de los workflows, el plan está predefinido en tiempo de desarrollo y adopta la forma de un flujo con sus pasos y, eventualmente, bifurcaciones y/o bucles. Y también pueden interactuar con aplicaciones y recursos exteriores, en este caso haciendo uso, habitualmente, de conectores que recubren un API generalmente de tipo REST.


Comparativa


En el fondo, estructuralmente hablando, se trata de soluciones muy similares. En la figura inferior, los ponemos frente a frente.


Comparativa Agente-Workflow

En esa figura, e intencionadamente, he eliminado la mención explícita a herramientas (en el caso de agentes) y a conectores (en el caso de workflows). ¿Por qué? Pues porque, a despecho de alguna diferencia en cuanto a la definición, y algunas variantes en cuanto a implementación, su rol es exactamente el mismo y, por tanto, de cara a la comparativa estructural prefiero que no se muestre ninguna diferencia.

La diferencia fundamental es que, en el caso de los agentes, el plan de acción se decide y revisa de forma dinámica en tiempo de ejecución por el propio agente, mientras que en los workflows el plan de acción se define en tiempo de desarrollo por el desarrollador humano y es estático. Esta diferencia es fundamental, tanto para lo bueno de los agentes, la flexibilidad, potencia e inteligencia de los agentes, como para lo malo de los agentes: incertidumbre y consumo computacional.

Sólo por apuntar alguna otra diferencia, se puede observar en la figura que, en el caso de los agentes, y como mencioné más arriba, dibujo con trazos la unión con los nodos herramienta, mientras que en los workflows esa flecha la dibujo con trazo continuo. Lo que esto trasmite es una consecuencia del dinamismo del plan de los agentes: a priori no podemos estar seguros de qué herramientas va a invocar ni de qué forma. En el caso de los workflows sí se sabe, porque está definido en el flujo.

Podríamos apuntar algunas otras diferencias de menor calado, pero prefiero quedarme con estas que son nucleares.

Aunque me preocupan un poco las connotaciones de la palabra 'determinismo' en el ámbito de la inteligencia artificial, diría, por expresarlo de una forma aún más compacta que:


Un agente es una solución muy flexible y potente pero no determinista, mientras que un workflow es una solución más rígida y acotada, pero determinista.

 

Estableciendo el enunciado del problema


Llegados hasta aquí, y antes de pasar a la soluciones que propongo, recordar cuál es el problema a que me refiero (y que puede que el lector identifique como tal o no).

Mi argumentación parte de la idea de que, al menos a nivel de discurso, parece que los agentes son la solución a cualquier problema, especialmente de automatización de tareas y procesos. Es decir, se considera a los agentes como un martillo de oro, capaz de soluciones cualquier problema que, por tanto, vemos siempre como un clavo. 

Salvo que alguien me demuestre lo contrario, creo que los agentes, al menos en su estado de arte actual, no deben ser la solución única, que todavía hay muchas tareas que se automatizan mejor mediante una solución más clásica basada en un workflow. 

En concreto, cuando la solución al problema la tengamos clara y sepamos claramente las reglas que la gobiernan, un workflow parece mejor solución que un agente, por los siguientes motivos:


  • Dado que un workflow es determinista, es mucho más sencillo de probar y, una vez probado, garantiza un comportamiento correcto, conocido y reproducible, cosa que en un agente nunca podemos estar 100% seguros.

  • El coste computacional de ejecutar un agente, para una tarea similar, es muchísimo más alto que el de la misma tarea ejecutada por un workflow

  • Dado que el coste computacional es mucho más alto, el coste económico es también más elevado y, además, no del todo predecible (no podemos saber con seguridad los tokens que se necesitarán).

  • Finalmente, ese coste computacional se traduce en consumo eléctrico y de refrigeración, incrementando la huella de carbono y el impacto medioambiental


El razonamiento es, pues, resumiendo, que aunque los agentes son de una potencia extraordinaria y nos abren unas grandísimas posibilidades, no siempre son la mejor solución, y por lo tanto, no debemos considerarlos martillos de oro, sino elegir en cada momento la solución de automatización más adecuada.


Algunas posibles soluciones intermedias e integradoras


La verdad es que, hasta aquí, casi que lo que he hecho es nada más que resumir e ilustrar, el contenido de los dos posts anteriores. Vamos ahora con algunas soluciones o planteamientos que se me ocurren. En concreto, y aunque es posible que existan otras soluciones, o que las que propongo se puedan combinar, voy a proponer cuatro opciones, a saber:


  • Solución 0: seleccionar la solución caso a caso
  • Solución 1: el modelo generador de workflows
  • Solución 2: orquestadores
  • Solución 3: ecosistemas híbridos


En lo que sigue, comento brevemente cada una.


Solución 0: seleccionar la solución caso a caso 


Esta solución le llamo solución 0, porque, en realidad, es casi trivial. 

Si se admite que no todos los problemas se resuelven mejor con un agente pues entonces, simplemente, antes de lanzarse a desarrollar un agente o un workflow decidir conscientemente y con criterio cuál es la solución adecuada para ese caso concreto


Solución 1: el modelo generador de workflows


La solución 1 consistiría en que el propio modelo razonador que genera el plan fuese capaz de detectar, por sí mismo o con asistencia humana, qué tipo de solución es mejor y si, al inicio de su resolución detecta que es un problema basado en reglas y resoluble mediante un flujo, simplemente que genere ese flujo.

Me parece perfectamente viable técnicamente puesto que casi todas las herramientas de tipo workflow expresan ese workflow mediante un lenguaje de marcado (tipo YAML) o mediante JSON, dos formatos que un modelo de lenguaje domina muy bien.

Eso sí, no eliminamos al 100% el no determinismo, puesto que el agente puede equivocarse y no darse cuenta de que un problema se resuelve mejor mediante workflow. Tampoco es óptimo computacionalmente, porque la propia decisión de si vale la pena crear un workflow, e incluso la creación del workflow propiamente dicho sigue usando los mecanismos propios de un modelo de lenguaje.

No es pues, creo, una solución absoluta, pero alivia el problema.


Solución 2: orquestadores


La siguiente solución se apoya en la idea de que la relación de agentes entre sí, y de workflows entre sí puede hacerse jerárquica e incluso recursiva. Es decir, un agente puede invocar a otro agente (que actúa como herramienta) y un flujo puede invocar a otro flujo (usando una especie de conector). 

Esta opción, que no sólo es viable, sino que ya hay plataformas que permiten su creación, es hacer automatizaciones en que exista un nodo orquestador, y otros nodos que realizan tareas. Y, para aquellas tareas en que la solución mejor sea un workflow, pues se utiliza un workflow y para aquellas en que la mejor solución sea un agente y es el orquestador quien lo decide. El esquema de esta opción se muestra en la figura.


Orquestadores

Se puede ver que, además, esta solución tiene una doble vertiente: que el orquestador sea un agente o que el orquestador sea un workflow. Además, y aunque en la figura se muestra que un agente sólo invoca workflows y un workflow sólo invoca agentes, en realidad, ya sea orquestado por un agente o por un workflow, los nodos que ejecutan las tareas pueden ser cualquier tipo.

Como digo, este tipo de esquemas ya se pueden hacer hoy en día, no sólo en código, sino en herramientas como Make.


Solución 3: el ecosistema híbrido


La solución 2 ya anticipa un poco lo que es la solución 3 (realmente es un caso particular de la solución 3).

La solución 3, el ecosistema, parte de concebir las automatizaciones como una interacción entre unos nodos que pueden ser agentes o workflows y que se combinan en interaccionan entre sí según la naturaleza del problema. Es lo que intento mostrar en la siguiente figura: 


Ecosistemas de agentes, con workflows como forma de agente

Es una solución muy similar a la del orquestador pero sin que haya nodos con ese rol especial, sino que interactúen en un esquema más P2P. En el fondo, esta solución se basa en la idea de los ecosistemas de agentes, pero reconociendo a los workflows también como agentes.

Para que está solución sea óptima, como en el fondo también en el caso anterior, ha de cumplirse que cuando el orquestador seleccione un nodo para delegar una tarea, o cuando un agente del ecosistema delegue en otro la ejecución de una tarea, se 'acierte' siempre, en el sentido de identificar siempre cuándo una tarea se resuelve mejor mediante un workflow.

No voy a profundizar más en ello, pero se me ocurre que sino conseguimos que un modelo de lenguaje acierte siempre en la elección de workflows, se le 'podría ayudar' mediante alguna forma de catálogo de tareas que se resuelven mejor mediante workflows.


Algún pequeño 'disclaimer'


Antes de cerrar este post, hacer algún pequeño 'disclaimer'.

El primero es que las propuestas que hago no dejan de ser eso, propuestas, hechas un poco 'a bote pronto', aunque es un tema al que le doy vueltas con cierta frecuencia últimamente.

Por otro lado, ni reclamo ni dejo de reclamar la 'autoría' u originalidad de estas propuestas. No renuncio a esa supuesta 'autoría' u 'originalidad', porque es fruto de mi propia reflexión, no es nada que haya visto en ningún sitio salvo, hasta cierto punto, la idea del orquestador. Pero tampoco me atrevo a reclamar la autoría y, sobre todo, originalidad, porque me cuesta pensar que no haya ya mucho pensado e incluso escrito sobre estos temas y que existan propuestas, implementadas y/o publicadas, iguales o muy parecidas a las que hago..

Finalmente, apostaría a que hay más soluciones que yo no he planteado aquí y puede que mejores... así que me encantará o bien descubrir en alguna publicación o bien que se me ocurran a mi en un proceso de indagación y reflexión.


Conclusiones


El considerar a los agentes como martillos de oro, como la única solución para todos los problemas fundamentalmente de automatización, puede ser un error, ya que existen soluciones, especialmente las basadas en workflows, eventualmente más adecuadas y, además, más seguras, eficientes, baratas y sostenibles.

En este post, tras, revisar conceptos y la naturaleza del problema, se proponen cuatro estrategias de solución híbridas.


Artículos de este blog relacionados


lunes, 22 de diciembre de 2025

Workflows, agentes y una automatización de baja intensidad

Ya desde hace muchos años, desde que la informática tomó cierta presencia en las organizaciones, uno de sus objetivos ha sido la automatización de procesos, una tarea esencial para lograr calidad, escalabilidad y eficiencia.

En busca de este objetivo, muchas son las tecnologías o tipologías de soluciones que se han aplicado.


Algunas soluciones tradicionales de automatización 


En mi segundo libro, 'Robots en la sombra', hago un repaso de las tecnologías de automatización de procesos. De entre ellas, dos son las grandes protagonistas.

Por un lado, y dentro de las soluciones que denomino 'conscientes de proceso' (implementan procesos de negocio aunque éste no es editable y se refleja de manera implícita) las grandes protagonistas son los sistemas empresariales, los ERP ('Enterprise Resource Planning') y los CRM ('Customer Relationship Management') tan importantes en los mapas de sistemas de las empresas y administraciones ya desde los años ochenta y primeros noventa del siglo pasado y aún en plena forma hoy en día, generalmente en forma de soluciones SaaS ('Software as a Service') desde la nube.

Por otro, tenemos los sistemas orientados a proceso (sistemas en que el proceso de negocio se modela y gestiona de forma explícita y ese modelo de  proceso es la base de la digitalización y automatización). En este campo caen los BPMS ('Business Process Management Systems'), inicialmente denominados sistemas de worfklow y actualmente con frecuencia denominados, de manera incorrecta, simplemente BPM.  También se incluyen los 'Case Management Systems' (CMS) habitualmente integrados como producto con los anteriores.

Por el camino, muchas otras soluciones de nicho o alcance menor como las soluciones ITSM (implementando procesos ITIL) o, a pequeña escala, las macros. 


Llegan los robots software


Hace unos años surgió una solución alternativa de automatización, más orientada a tareas y pequeños procesos que a procesos de negocio extremo a extremo, y más orientadas también a complementar la infraestructura IT y de automatización ya existente que a crear soluciones completas extremo a extremo. 

Hablo, fundamentalmente, de la Automatización Robótica de Procesos, RPA ('Robotic Process Automation') en que se crean unos módulos software, los robots, que implementan pequeños procesos basados en un flujo (con sus pasos o actividades, sus condiciones, ramificaciones y bucles y con sus variables de proceso) pero capaces, sobre todo, de interactuar con todo tipo de recursos IT externos, documentos y aplicaciones, bien sea interaccionando con pantallas (lo que constituye el origen de RPA) o mediante APIs y conectores.

Los robots RPA se constituyen así en una suerte de orquestadores o integradores de otros recursos y aplicaciones, uniendo y dando continuidad a las capacidades de automatización o almacenamiento de información de cada uno de esos recursos.

Los robots RPA eran protagonistas principales de mi libro 'Robots en la sombra' ya citado.

Pero en ese libro había otros protagonistas, los chatbots, otra forma de robots software pero estos fundamentalmente orientados a interactuar con humanos aunque luego, en background, también acceden, y hasta cierto punto orquestan, otros recursos como sistemas y servicios.  

Por detrás de los BPMS y, sobre todo, de los robots RPA, existe un flujo, un workflow que contiene la lógica que enlaza las diversas actividades, tareas y acciones.


La automatización visual de flujos


Y, precisamente alrededor de ese concepto de flujo o workflow surgen otro tipo de soluciones que es de las que fundamentalmente quería hablar aquí, una serie de soluciones que tienen mucho en común con RPA, pero con alguna pequeña, aunque notable, diferencia.

Estoy hablando de un tipo de soluciones que, hasta donde se me alcanza, no han cristalizado en un nombre de categoría de producto, aunque algunos de los que he podido ver que se les aplican son iPaaS ('integration Platform as a Service'), plataformas de automatización de workflow ('workflow automation platoforms') o, incluso, automatización visual. En sus orígenes, y para versiones que creo simples, también se aplicaba el término IFTTT ('If This Then That') significando que lo que hacían es, ante un estímulo o evento, ejecutar una acción.

¿En qué consisten?

Básicamente, permiten construir flujos de trabajo ('workflows') mediante en enlazado en serie o bien con ramificaciones, condiciones y bucles, de una serie de tareas, actividades o pasos. Esas tareas, en general, se realizan mediante la lectura, escritura o invocación de datos y capacidades externas a las que se accede mediante conectores que recubren las APIs correspondientes. Estos flujos pueden ser invocados externamente por un usuario o por otros programas, pero también pueden programarse para ejecución planificada o lanzarse automáticamente ante la detección de un evento. Internamente manejan variables y, sobre todo, lo que se suele denominar 'contenido dinámico' que son variables generadas de forma automática por el flujo sin que el desarrollador deba ocuparse de definirlas (y sólo tenga que usarlas).

¿Cuál es el valor que ofrecen este tipo de herramientas?

  • Por un lado, son herramientas en que el desarrollo de un flujo es muy sencillo porque se apoyan en entornos visuales conforme a las filosofías 'Low Code / No Code'.

  • Por otro, ofrecen una amplísima colección de conectores que permiten, de forma simple, el acceso a todo tipo de aplicaciones (prácticamente cualquier aplicación conocida) y recursos (correo, sistemas empresariales, documentos ofimáticos, redes sociales, etc) incluyendo los modernos modelos de lenguaje o soluciones de IA.

  • Además, ofrecen una larguísima y creciente colección de plantillas ('templates') con flujos ya construidos y casi listos para ser usados.

El lector avezado se dará cuenta de que se parecen mucho a RPA. En efecto, son soluciones muy similares. La diferencia habitual entre ambos tipos de herramientas es que estas de que hablamos ahora,  normalmente sólo se pueden ejecutar en la nube, no pudiendo acceder a recursos o ficheros locales del ordenador del usuario (sólo pueden acceder a ficheros en la nube, típicamente en OneDrive o Google Drive) y tampoco siendo capaces de interactuar con las pantallas de aplicaciones. Por su parte las soluciones RPA sí que son capaces de acceder a recursos locales y pantallas y tienden a ser herramientas algo más sofisticadas.

Entre las herramientas de esta categoría algo indefinida tenemos soluciones como Make, Zapier o N8N e, incluso Power Automate Cloud, la parte de Power Automate que opera en la nube.


Agentes


Y ahora tenemos también los famosos agentes de la agentic AI, que también se parecen mucho a RPA. La gran diferencia de los agentes de la Agentic AI respecto a RPA, y también respecto a las soluciones de automatización de workflow que acabamos de ver, es que, en los agentes el flujo, el workflow, no es explícito, sino que se realiza conforme a planes que genera de forma dinámica un modelo razonador y que la forma de especificar los objetivos de esos agentes suele basarse en lenguaje natural.


Hibridación


Existe, no obstante un gran solape e hibridación entre las soluciones que acabamos de ver: soluciones de automatización de flujos, robots RPA, agentes, chatbots (especialmente los chatbots modernos basados en modelos generativos) e, incluso, soluciones BPMS.

De hecho, en uno de sus últimos cuadrantes mágicos, Gartner habla de 'Business Orchestration and Automation Technologies (BOAT)' y en ese cuadrante mágico vemos soluciones que normalmente encuadraríamos como BPMS, junto con otras de tipo RPA y alguna de automatización de workflows.


La automatización de baja intensidad... que puede ser todo lo contrario


En efecto, lo que se ve en este tipo de soluciones (RPA, workflows y agentes) es el foco en la automatización muy sencilla, no de grandes procesos de negocio, sino de tareas concretas o de procesos muy sencillitos pero que involucran a dos o tres sistemas.

Por eso en mi mente surge la idea de una automatización de baja intensidad, aunque el nombre correcto sería, mas bien, el de una automatización de baja complejidad, porque, en efecto, son herramientas sencillas, al alcance de personas no desarrolladoras, poniendo la automatización al alcance de cualquiera y, por tanto, lo que creo que están consiguiendo, o pueden conseguir, es una altísima intensidad de automatización, especialmente en PYMEs e incluso autónomos, es decir, automatizaciones sencillas...pero en gran cantidad.


Conclusiones


Desde hace unos pocos años tenemos un conjunto de nuevas soluciones de automatización, centradas en flujos y tareas relativamente simples y que, además, son de uso muy sencillo, lo que puede llevar a una automatización básica, pero masiva.


miércoles, 27 de abril de 2022

Ocho líneas de evolución de la Automatización Robótica de Procesos (RPA)

En el post anterior, identificábamos algunos retos y líneas de evolución de los robots conversacionales.

¿Qué tal si ahora echamos un vistazo a las líneas de evolución de la otra gran familia de robots software, tal y como los identifico en mi libro 'Robots en la sombra'? ¿Qué tal si ahora miramos a la Automatización Robótica de Procesos (RPA)?

La casualidad ha querido que justo ayer finalizase la lectura del libro 'Robotic Process Automation Projects: Build real-world RPA solutions using UiPath and Automation Anywhere' de Nandan Mulakara y Arun Kumar Asokan, una obra sin apenas teoría, muy volcada, simplemente, en mostrar en detalle casos concretos de uso de dos herramientas concretas, UiPath y Automation Anywhere.

Sin embargo, justo en el apéndice final sí se entra a identificar algunas de las tendencias y líneas de evolución de RPA y esto es lo que voy a recoger en este post: la visión de estos dos autores en cuanto a la evolución de este tipo de soluciones. 

Conviene advertir, no obstante, que aunque el libro es bastante moderno (fue publicado en 2020), el campo de la Automatización Robótica de Procesos se mueve de una manera tan vertiginosa que las tendencias de un momento se quedan obsoletas en seguida o, por lo menos, dejan de ser tan 'cool'.

Aún así, resumo las tendencias que estos dos autores identifican, que creo que todavía resultan relevantes.


1. RPA como plataforma


Los autores no le dan categoría de tendencia pero sí afirman que las soluciones de RPA actuales, cada vez se convierten más en unas plataformas de automatización donde se van encajando nuevos componentes que añaden nuevas tecnologías y capacidades.

Esto, en efecto, es así, y las plataformas, aparte de las capacidades típicas de RPA (como el 'screen scraping') ofrecen soluciones de desarrollo 'low-code' de robots, soluciones de despliegue y operación de robots y, en ese marco general, permiten incorporar componentes (por ejemplo, actividades y paquetes en UiPath), que se integran de manera natural en la plataforma pero extienden sus capacidades (por ejemplo, con motores OCR de otros fabricantes, con algoritmos de Machine Learning o con conectores a todo tipo de soluciones corporativas).


2. Hiperautomatización


Aunque, de nuevo, los autores no lo identifican exactamente como una tendencia, sí mencionan este concepto holístico definido por Gartner donde los autores opinan que RPA puede actuar como capa de orquestación. 


3. Inteligencia Artificial


Los autores, apoyándose, por ejemplo, en informes de Deloitte, identifican la creciente inclusión de capacidades de inteligencia artificial, específicamente, algoritmos de machine learning y capacidades de procesamiento de lenguaje natural.


4. Procesamiento de documentos


En realidad como un subconjunto de la anterior, se apunta al uso creciente de técnicas de inteligencia artificial en el tratamiento y obtención de información de documentos, ya sea de manera directa o incorporando soluciones de OCR e ICR de fabricantes como Abby, Hyland, Kofax o Hyperscience.


5. Inteligencia Artificial Conversacional


Y como otro subconjunto del uso de la Inteligencia Artificial, se apunta a las capacidades conversacionales, especialmente orientadas a la interacción con clientes, incorporando elementos de NLU ('Natural Language Understanding').

En lo que yo puedo observar, y lo entiendo más como una dinámica de mercado que tecnológica, esta incorporación de capacidades conversacionales se lleva a cabo más como una integración con soluciones de chatbots o IA conversacional existentes que como desarrollo de esas capacidades de manera nativa en las plataformas RPA.


6. Process mining y process discovery


Esta tecnología, que analiza mediante ciencia de datos y machine learning la información de los logs de sistemas que automatizan procesos es, en efecto, una tendencia fortísima, y cada vez más fructífera del campo del BPM ('Business Process Management') como conté en el artículo 'Process mining: la ciencia de datos aplicada a la mejora de procesos de negocio y su robotización' publicado en el blog de Telefónica Grandes Empresas.

Aparte de la tendencia en sí misma al desarrollo del Process Mining, también es cierto que algunas las plataformas de RPA incorporan ya su propia solución de Process Mining e incluso de Task Mining. Ahí tenemos por ejemplo las soluciones de UiPath en ese campo que son muy destacadas.


7. RPA como servicio (RPAaaS, RPA as a Service)


Y, casi como no podía ser de otra manera en el mundo tecnológico actual dominado por el cloud y las plataformas de servicio, otra tendencia es el ofrecimiento de los robots como servicio, algo que se hace también en el caso de robots industriales, pero que, en este caso, se refiere a servicios de automatización basados en robots en la nube, una tendencia a la que también apuntaba yo en mi libro 'Robots en la sombra' como un modelo de negocio robótico.


8. Mercados RPA (RPA marketplaces)


Finalmente, los autores destacan la existencia de los marketplaces ligados a las plataformas de automatización RPA como las propias UiPath o Automation Anywhere, unos entornos en que, de manera muy similar a las App Store de Apple o Google, se pueden encontrar robots, actividades y conectores reutilizables para incorporar en nuestras automatizaciones.

Unos componentes en ocasiones ofrecidos por los propios fabricantes de las plataformas RPA, pero en otros casos creados por los fabricantes de soluciones corporativas (CRM, ERP, Ofimática, etc) que desean ofrecer una fácil incorporación de sus productos a un entorno de automatización y, finalmente, unos componentes que también son ofrecidos por terceros: integradores, desarrolladores independientes, etc.

Todo un ecosistema que refuerza esa visión de las soluciones comerciales de RPA como plataformas de automatización, como veíamos en el primer punto.


Conclusiones


Como decía en el encabezado, el mundo de las soluciones de RPA está en un movimiento vertiginoso a nivel tanto tecnológico, como funcional, de competencia y de mercado y, a medida que gana peso, cada vez abandona más su posición de nicho para incorporarse a las grandes corrientes tecnológicas e integrarse con otro tipo de soluciones.

Un mercado éste de RPA, divertido de seguir. 



jueves, 18 de marzo de 2021

Llegó el día: Hoy sale a la venta mi nuevo libro "Robots en la sombra"

Ha llegado el día: hoy se pone a la venta mi nuevo libro, el segundo, titulado 'Robots en la sombra'.

Y, a diferencia del anterior, en esta ocasión, y gracias a haberlo publicado con una de las grandes editoriales de este país, Anaya Multimedia, mi libro podrá encontrarse en papel en las principales librerías, aparte de, por supuesto, en las habituales tiendas online. incluyendo, ni que decir, tiene, Amazon.

Espero que ese hecho contribuya a darle una distribución y llegada lo más amplia posible porque, aparte de mi innegable interés personal, creo que 'Robots en la sombre' llena un enorme hueco en la literatura técnica: la ausencia de bibliografía sobre RPA de suficiente amplitud y calidad. A lo cual se añade el hecho de que 'Robots en la sombra' es , con casi total seguridad, el primer libro sobre RPA en Castellano.

El tema del libro: los robots software


Hablo de que 'Robots en la sombra' es un libro sobre RPA (Automatización Robótica de Procesos) pero en realidad la temática es más amplia, abordando el campo de los robots software que también incluye, y como grandes protagonistas, los robots conversacionales (chatbots, voicebots, asistentes virtuales y altavoces inteligentes) junto con alguna otra 'especie robótica' de menor relevancia.


Micrositio


Para centralizar la información sobre el libro, he creado un micrositio dedicado al libro, aunque incrustado en mi página oficial, y al que puedes acceder mediante la dirección: robotsenlasombra.es.


Vídeo de lanzamiento


Y para celebrar el acontecimiento y de paso, por qué no decirlo, para intentar contribuir a su promoción, he elaborado este vídeo que, de una manera breve, en poco más de dos minutos, resume las principales ideas de la obra.





Índice


Finalmente, adjunto el índice, para que puedas hacer más idea del contenido pero, casi mejor: ¿Por qué no te animas a leerlo?

  • PRÓLOGO
  • INTRODUCCIÓN: Leer un libro y cerrar un círculo
  • PREFACIO: Una noche en la oficina
  • PARTE I: ENTENDIENDO LOS ROBOTS SOFTWARE
    • Capítulo 1: Las habitantes de las sombras. ¿Qué es un robot software?
    • Capítulo 2: Robots en la oficina. La Automatización Robótica de Procesos
    • Capítulo 3: Robots parlanchines: chatbots, voicebots y asistentes virtuales
    • Capítulo 4: Otras especies robóticas
  • PARTE II: LA TECNOLOGÍA QUE ANIMA A LOS ROBOTS
    • Capítulo 5: Aplicaciones en la chistera. Screen Scraping, teclado y ratón.
    • Capítulo 6: Papeleo robótico: Interacción con documentos y ficheros
    • Capítulo 7: Hasta las nubes y más allá: computación en la nube e integración.
    • Capítulo 8: En el cerebro del robot: Inteligencia artificial y machine learning
    • Capítulo 9: ¿Cómo ven los robots? Visión artificial y OCR.
    • Capítulo 10: ¿Cómo hablan, escuchan y leen los robots? Lenguaje natural y tratamiento de la voz.
    • Capítulo 11: A lo grande: escalabilidad y seguridad
  • PARTE III: ROBOTS, NEGOCIO Y SOCIEDAD
    • Capítulo 12: Los robots software en el contexto de la automatización
    • Capítulo 13: Criterios de aplicación de robots software
    • Capítulo 14: En marcha: Gestión de iniciativas de robotización
    • Capítulo 15: Modelos de negocio robóticos
    • Capítulo 16: Robots y sociedad.
  • POSFACIO: Amanecer


viernes, 25 de septiembre de 2020

Recetas para automatizar tareas en Python con Jaime Buelta

'Python Automation Cookbook' es exactamente lo que promete en su título y, sobre todo, en su subtítulo '75 Python automation ideas for web scraping, data wrangling, and processing Excel, reports, emails, and more'. Se trata de una larga lista de técnicas, ideas, trucos y recursos para llevar a cabo la automatización de tareas sobre aplicaciones, ficheros, etc, de manera que las funcionalidades de automatización que se podrían obtener de soluciones RPA comerciales puedan ser llevadas a cabo de manera personalizada directamente en Python. 

Cada una de las 75 recetas que componen el libro se estructura de la misma forma, a saber:
  • Getting ready: Describe labores previas de instalación, configuración, etc
  • How to do it...: Descripción directa, con pocas explicaciones y 'mucho' código, de cómo se aplica la receta.
  • How it works...: Explicación algo más detallada de cómo funciona por dentro la receta explicada
  • There is more...: Referencia otras fuentes de información adicionales
  • See also: Remite a otras recetas del libro relacionadas
Y esas recetas, a su vez se agrupan en los siguientes capítulos:
  • 'Let's Begin Our Automation Journey': Se centra unas técnicas básicas que permiten crear el entorno Python adecuado para la ejecución de las tareas de automatización que se presentan en el resto del libro así como tareas básicas para el 'parseo' de texto siendo capaces de obtener de él datos estructurados. Entre los recursos que se utilizan están el módulo 'env' para establecer un entorno virtual local, el módulo 'requests' para el tratamiento de conexiones HTTP, el método 'format' para el formateado de cadenas de caracteres, el módulo 're' para el tratamiento de expresiones regulares y finalmente 'argparse' para el tratamiento de argumentos en línea de comando. Las recetas que se tratan en este capítulo son:
    • Activar un entorno virtual
    • Instalar paquetes de terceros
    • Crear cadenas de caracteres con datos formateados
    • Manipulación de cadenas de caracteres
    • Extraer datos de cadenas de caracteres estructuradas
    • Usar una herramienta d eterceros para el parseado
    • Introducir expresiones regulares
    • Profundizar en expresiones regulares
    • Añadir argumentos a la línea de comandos

  • 'Automating Tasks Made Easy': Todavía en un estadio previo a las tareas de automatización propiamente dichas, este capítulo propone ideas para hacer que esas tareas se realicen realmente de manera automática sin necesidad de lanzarlas manualmente. Aparte de 'cron', el capítulo menciona el uso de recursos como el módulo 'logging' que gestiona los 'logs'. Las recetas que conforman este capítulo son:
    • Preparar una tarea
    • Establecer un trabajo en el 'cron'
    • Capturar errores y problemas
    • Enviar notificaciones por correo electrónico

  • 'Building Your First Web Scraping Application': Ataca un tipo de tareas fundamentales en la automatización mediante robots software: el acceso a los datos y la navegación de pantallas web, conocido como Web Scraping. Se utilizan recursos como el módulo 'requests' ya mencionado, el módulo 'BeautifulSoup' que parsea HTML y lo devuelve como un objeto, el módulo 'feedparser' para tratamiento de feeds RSS o 'selenium'. Las recetas en este caso son:
    • Descargar páginas web
    • 'Parsear' HTML
    • Rastrear la web
    • Suscribirse a 'feeds'
    • Acceder a APIs web
    • Interactuar con formularios
    • Usar 'Selenium' para interacciones avanzadas
    • Acceder a páginas protegidas por contraseña
    • Acelerar el web scraping

  • 'Searching and Reading Local Files': Otro capítulo fundamental con el segundo gran bloque característico de la automatización mediante robots software: el tratamiento de ficheros así como la navegación por directorios. Se usan recursos como el módulo 'os' con funciones básicas ligadas al sistema operativo como, por ejemplo, recorrer directorios, de nuevo 'BeautifulSoup' en tareas de formateado, el módulo 'csv' para el tratamiento de ficheros CSV, 'datetime' para datos de tipo fecha/hora, la librería 'Pillow' para el manejo de imágenes, 'xmltodict' para conversión de XML en un diccionario, 'tesseract' para OCR, el módulo 'PyPDF2' para tratamiento de ficheros PDF, y 'python-docx' para gestión de ficheros Word. Con toda esa base, las recetas de este capítulo son:
    • Rastrear y buscar en directorios
    • Leer ficheros de texto
    • Gestionar las codificaciones
    • Leer ficheros CSV
    • Leer ficheros de 'log'
    • Leer los metadatos de los ficheros
    • Leer imágenes
    • Leer ficheros PDF
    • Leer documentos Word
    • Escanear un documento en busca de una palabra clave

  • 'Generating Fantastic Records': En este caso, lo que nos interesa no es leer información sino generar salidas de datos e informes en todo tipo de formatos. Entre los recursos que se emplean están la herramienta 'Jinja2' que gestiona plantillas aplicando información de contexto, el lenguaje 'Markdown' y el módulo 'mistune' que convierte documentos 'Markdown' en HTML, el ya visto 'python-docx' para manejo de ficheros Word o 'fpdf' para crear ficheros PDF y 'pdf2image' para transformar el PDF en imágenes. Las recetas para todo esa creación de salidas avanzadas son:
    • Crear un informe simple en texto plano
    • Usar plantillas para informes
    • Formatear texto en 'Markdown'
    • Escribir un documento Word básico
    • Dar estilo a un documento Word
    • Generar estructura en un documento Word
    • Escribir un documento PDF simple
    • Estructurar un PDF
    • Agregar informes PDF
    • Marca de agua y encriptado PDF

  • 'Fun With Spreadsheets': Un caso especializado, pero muy util de tratamiento de ficheros: las hojas de cálculo tanto en su versión más básica, ficheros CSV, como con las aplicaciones más populares como Excel y LibreOffice. Entre los recursos empleados están, de nuevo, el módulo 'csv', y sobre todo 'openpyxl' para abrir y actualizar ficheros Excel. Las recetas para el tratamiento de hojas de cálculo que se proponen son:
    • Escribir una hoja de cálculo CSV
    • Actualizar ficheros CSV
    • Leer una hoja de cálculo Excel
    • Actualizar una hoja de cálculo Excel.
    • Crear nuevas hojas en un libro Excel
    • Crear gráficos en Excel
    • Trabajar con los formatos de celdas en excel
    • Crear una macro en LibreOffice

  • 'Cleaning And Processing Data': Se trata ahora de una de las labores más desagradecidas, pero quizá más importantes, cuando se va a trabajar con datos, especialmente datos procedentes de diferentes fuentes: su limpieza y preprocesado de manera que sean aptos para su uso posterior en gráficos, cálculos o análisis. Se emplean recursos ya vistos como el módulo 'parse' o 'delorean' y alguna idea nueva como los denominados 'futures' o la librería 'pandas' para análisis de datos. Para ese procesamiento de datos se nos proponen las siguientes recetas:
    • Preparar una hoja de cálculo CSV
    • Añadir moneda con base en localización
    • Estandarizar el formato de fecha
    • Agregar resultados
    • Procesar datos en paralelo
    • Procesar datos con Pandas

  • 'Developing Stunning Graphs': Se muestran técnicas para la visualización de datos de una manera entendible y atractiva. Se apoya mucho en la librería 'matpotlib' y también 'Fiona' para importar información GIS. Y la creación de gráficos se ilustran mediante las siguientes recetas:
    • Dibujar un gráfico de ventas sencillo
    • Dibujar barras apiladas
    • Dibujar tartas
    • Visualizar líneas múltiples
    • Dibujar un diagrama de dispersión
    • Visualizar mapas
    • Añadir leyendas y anotaciones
    • Combinar gráficos
    • Guardar gráficos

  • 'Dealing With Communication Channels': Explica cómo automatizar algunas tareas que implican comunicación con el exterior mediante medios como el correo electrónico, los SMS o las aplicaciones de mensajería. Se usan recursos como el módulo 'smtplib', 'imaplib' y 'email' para el manejo del correo electrónico, el API de la herramienta MailChimp todavía para correos o 'twilio' para manejo de SMSs o el API 'BotFather' de Telegram. Y con ese bagaje se proponen estas recetas:
    • Trabajar con plantillas de correo electrónico
    • Enviar un correo electrónico individual
    • Leer un correo electrónico
    • Añadir suscriptres a una newsletter
    • Enviar notificaciones vía correo electrónico
    • Producir mensajes SMS
    • Recibir SMS
    • Crear un bot Telegram

  • 'Why Not Automate Your Marketing Campaigns': Este capítulo da un cierto salto, porque en lugar de tratar recetas de automatización más o menos generalistas, ahora ataca un escenaro de negocio: la automatización de campañas de marketing. Se vuelven a utilizar recursos ya vistos pero se añade alguno nuevo como 'hashlib' para generación de hash. Para llevarlas a cabo, se nos cuentan las siguientes recetas que, en su conjunto, desarrollan el escenario de ejemplo propuesto:
    • Detectar oportunidades
    • Crear códigos de cupón personalizados
    • Enviar una notificación a un cliente en su canal preferido
    • Preparar la información de ventas
    • Generar un informe de ventas

  • 'Machine Learning For Automation': Se introduce ya en un uso avanzado: el empleo de Machine Learning en automatización, basándose sobre todo en el empleo de servicios de Google Cloud Platform y con recetas como:
    • Analizar imágenes con Google Cloud Vision AI
    • Extraer texto de imágenes con Google Cloud Vision AI
    • Analizar texto con Google Cloud Natural Language
    • Crear tu propio modelo personalizado de machine learning para clasificartexto

  • 'Automatic Testing Routines': Y este capítulo y el siguiente, los dos últimos, son otro pequeño cambio de tercio porque se concentran en automatizaciones relacionadas con el propio desarrollo de software. En este primer capítulo tratando la automatización de pruebas y, en el siguiente, la depuración. En este capítulo se usan como recurso la librería 'pytest' para definir y ejecutar pruebas, la librería 'mock' para acciones ficticias y el módulo 'responses' complementario del 'requests'. En lo relativo a la automatización de rutinas de prueba, se tratan las siguientes recetas:
    • Escribir y ejecutar casos de prueba
    • Probar un código externo
    • Probar usando dependencias ficticias ('mock')
    • Probar unsando llamadas HTTP ficticias
    • Preparar escenarios de prueba
    • Ejecutar pruebas de forma selectiva

  • 'Debugging Techniques': Capítulo final con recetas y ayudas para depurar código Python. Se apoya en recursos como el módulo 'pprint' para crear salidas enriquecidas y, sobre todo, el debugger 'pdb'. Se nos ofrecen, en concreto, cuatro recetas:
    • Aprender los fundamentos del intérprete Python
    • Depurar a travñes de trazas ('logs')
    • Depurar con puntos de parada
    • Mejorar tus habilidades de depuración.
'Python Automation Cookbook' es, sin lugar a dudas, un libro pensado para desarrolladores, que habla su idioma y les transmite muchos conocimientos que juzgo muy interesantes para aplicación práctica. Además, es una forma diferente de entender qué es y cómo se hace Automatización Robótica de Procesos, en esta ocasión no desde el alto nivel que ofrecen las herramientas comerciales sino desde el interior, desde la forma en que la puede hacer un desarrollador en este caso trabajando con Python. 

Un gran recurso para desarrolladores, en mi opinión. 

Jaime Buelta

(Fuente: Traducción y ligera elaboración propia de su ficha de autor en Packt) 

Jaime Buelta
Jaime Buelta es un desarrollador a tiempo completo desde 2010 y un conferenciante habitual en PyCon Irlanda. Ha sido programador profesional durante más de dos décadas con una rica exposición a una gran cantidad de tecnologías diferentes a lo largo de su carrera. Ha desarrollado software para una variedad de campos y sectores, incluyendo aeroespacial, redes y comunicaciones, sistemas SCADA industriales, servicios de videojuegos online y servicios financieros.

Puedes saber más del autor visitando su página Wrong side of Memphis o siguiéndole en Twitter donde se identifica como @jaimebuelta.

Ficha técnica:

AUTOR: Jaime Buelta
EDITORIAL: Packt Publishing
AÑO: 2020 
ISBN: 978-0982368169
PAGINAS: 526

viernes, 7 de agosto de 2020

Certificación como Blue Prism Solution Architect con Prasanna Kummar Ballepalli


'Blue Prism Masterclass II. Business Savvy Architects' viene a ser la continuación del anterior libro del autor 'Blue Prism Masterclass' y con la misma intención, a saber, servir como herramienta para aquellos profesionales que estén preparando la certificación en la herramienta Blue Prism. Pero si el anterior estaba orientado a la certificación como desarrollador, 'Business Savvy Architects' se dirige a aquellas personas que preparan su certificación como Arquitectos de Soluciones. 

La estructura del libro es muy sencilla: empieza por cinco capítulos breves que introducen aspectos técnicos y de gestión de Blue Prism así como del proceso de certificación:
  • 'Robotic Projects - POC'
  • 'Process Assessment'
  • 'Blue Prism Design Components'
  • 'Design procedure and documents'
  • 'Design Authority'
De éstos, el capítulo más largo (dentro de la brevedad) y más relevante, es el tercero. A estos capítulos le siguen dos apéndices que, en realidad, son el cuerpo central del libro, dos apéndices en que uno contiene 105 preguntas de tipo test, algunas agrupadas por escenarios de negocio / automatización, y el siguiente proporciona, de manera razonada, las respuestas correctas. 

Nos encontramos pues, fundamentalmente, ante una herramienta de preparación de un examen y en ese sentido es útil o muy útil. Pero, como me ocurrió con la obra anterior del autor, me quedo con las ganas de que amplie la parte de conceptos (los capítulos iniciales). Es evidente su dominio de la herramienta y de los elementos de arquitectura, diseño y gestión y me encantaría basada en esos conocimientos leer una descripción amplia y detallada de la arquitectura y diseño de robots en Blue Prism. 

Prasanna Kumar Ballepalli

(Fuente: Traducción y ligera elaboración propia de su su perfil en LinkedIn)

Prasanna Kumar Ballepalli
Desde 2018, Arquitecto jefe de Inteligencia Artificial y RPA en Prosegur.

Arquitecto IT certificado en Blue Prism y Microsoft y co certificaciones en Six Sigma Green Belt e ITIL Foundation.

Con varios años de experiencia dirigiendo programas de transformación empresarial para compañías multinacionales y foco en fuerzas de trabajo digitales (RPA e Inteligenia Artificial). Su fespecialización tecnológica incluye: RPA, machine learning, chatbots inteligentes (NLP / NLU), analítica e Inteligencia Artificial. Durante los últimos años, además, ha trabajado y dirigido la cualificación en campos como Inteligencia Artificial, Automatización Robótica de Procesos y .Net.

Tiene un grado en Computer Science y se considera auto-motivado, creativo, jugador de equipo y con excelentes habilidades de comunicación.

Puedes saber más sobre él visitando su perfil en LinkedIn o seguirle en Twitter donde se identifica como @prasannak040.

Ficha técnica:

EDITORIAL: Autoeditado
AÑO: 2020 
ISBN: 978-9354067006
PAGINAS: 131

viernes, 31 de julio de 2020

El manual de Robotic Process Automation de Tom Taulli

'The Robotic Process Automation Handbook' es una visión panorámica' del mundo de las soluciones RPA, tanto desde un punto de vista funcional, como técnico, de negocio y de gestión.

El libro, de una extensión mediana tirando a corta, se estructura en trece capítulos como sigue:
  • '1. RPA Foundations:' Comienza definiendo lo que es RPA y contando, entre otras cosas, su historia y sus ventajas y desventajas.

  • '2. RPA Skills:' Aunque la palabra 'skills' parezca referirse a capacidades de personas no es así. Lo que examina en este capítulo son algunas características o tecnologías propias de este tipo de soluciones, como la posibilidad de ofrecerse desde la nube, la orientación 'low code', el uso de OCR (Optical Character Recognition), las bases de datos y la inteligencia artificial. Luego salta a otro tipo de elementos más relacionados con la gestión como son la gestión Agile en diferentes variantes frente a Waterfall, el uso de DevOps, o los flowcharts.

  • '3. Process Methodologies:' Un tercer capítulo en que el autor tiene el detalle, poco comun, de describir las metodologías de gestión de procesos de negocio y así se habla, por ejemplo, de Lean, de Six Sigma y de la convergencia de las dos: Lean Six Sigma.

  • '4. Planning:' Aborda algunos pasos previos a una iniciativa de RPA propiamente dicha como la decisión de acudir o no a una consultora externa, decidir qué automatizar, los casos de uso más adecuados o la estimación del ROI.

  • '5. RPA Vendor Evaluation:' Una serie bastante extensa de criterios y consideraciones a la hora de seleccionar al fabricante más adecuado, incluyendo, por ejemplo, las capacidades de la herramienta, el coste, la formación, el soporte, etc

  • '6. Center of Excellence (CoE):' Describe el concepto e importancia del centro de Excelencia RPA para luego pasar revista a los perfiles habituales: Analista, Desarrollador, Arquitecto de soluciones, supervisor RPA, etc

  • '7. Bot Development:' Proporciona algunas ideas sobre cómo se desarrolla un robot RPA, apoyado en la herramienta UiPath Studio.

  • '8. Deployment and Monitoring:' Comenta brevemente algunos aspectos relacionados ya con la operación de los robots una vez desarrollados como son las pruebas, la monitorizacion, la seguridad o el escalado.

  • '9. Data Preparation:' Un capítulo, en mi opinión, algo extemporáneo y fuera de lugar en que, con la excusa de la importancia de la analítica dedica un cierto espacio a hablar de Big Data y de la preparación de datos.

  • '10. RPA Vendors:' Un capítulo en que hace un buen barrido de los fabricantes más relevantes, incluyendo a UiPath, Automation Anywhere, Blue Prism, EdgeVerve, PEGA, Verint, WorkFusion, Nintex, Kofax, Softomotive, AntWorks, Intellibot, SAP Contextor, NICE, Kryon Systems y Servitrace.

  • '11. Open Source RPA:' Un repaso más breve pero también interesante de soluciones de fuente abierta. Primero comenta el modelo de negocio de la fuente abierta y sus pros y contras para luego describir brevemente OpenRPA, UI.Vision, Robot Framework, Robocorp, Orchestra y TagUI.

  • '12. Process Mining:' Un penúltimo capítulo dedicado a una de las tendencias más importantes en materia de investigación en gestión de procesos de negocio, el process mining, que alcanza ya también a las herramientas de RPA. Proporciona algo de background y luego repasa fabricantes y soluciones disponibles como Celonis, ProM, Signavio, Fluxicon o ABBYY.

  • '13. Future of RPA:' Un capítulo con once tendencias que el autor identifica en el campo de RPA.
A estos capítulos les siguen tres apéndices en que se habla, respectivamente, de consultoras, recursos y un glosario,

'The Robotic Process Automation Handbook' es un libro que da una idea bastante amplia y razonable de la situación de RPA. No profundiza mucho en lo técnico y funcional pero a cambio sí toca todos los aspectos relevantes de mercado, negocio y gestión. Un libro bastante correcto que arroja una visión algo más completa y equilibrada de lo habitual en este campo, el de la Automatización Robótica de Procesos, donde la literatura existente, al menos en este momento, es bastante pobre.

Sin ser excepcional ni brillante, creo que es lo mejor que he tenido oportunidad de leer hasta la fecha sobre RPA.

Tom Taulli

(Fuente: Traducción y ligera elaboración propia de su perfil en LinkedIn)

Tom Taulli
Tom Taulli es un autor, conferenciante y asesor con foco en la tecnología. Ha co-fundado varías empresas, incluyendo Hypermart.net (vendida a InfoSpace), WebIPO y BizEquity.

Es colaborador de Forbes y autor de los libros 'Artificial Intelligence Basics: A Non-Technical Introduction' y 'The Robotic Process Automation Handbook: A Guide to Implementing RPA Systems'

Puedes saber más del autor visitando su página oficial o siguiéndole en Twitter donde se identifica como @ttaulli.

Ficha técnica:

miércoles, 22 de julio de 2020

Algunas posibles tendencias en Automatización Robótica de Procesos


La Automatización Robótica de Procesos (RPA, 'Robotic Process Automation') es una de esas tecnologías que parecen estar en la boca de todos, en las rondas de financiación, en los informes de analistas, en los medios digitales dedicados a tecnología...

Se trata, además, de un mercado y una tecnología en plena ebullición y cambios.

¿Hacia dónde se dirige RPA?

Hoy he finalizado la lectura de 'The Robotic Process Automation Handbook' de Tom Taulli y este autor dedica el último capítulo de su obra para, precisamente, intentar identificar las tendencias que parecen dominar la evolución de RPA. Es un pequeño 'collage' donde se dan cita algunas tendencias de naturaleza tecnológica o funcional junto con otras más de negocio o de dinámica de mercado.

Cambiando algo el orden y con una ligera elaboración, estas son, en concreto, las tendencias que identifica Taulli:

  • Automatización atendida: En opinión de Tauli, RPA se ha dedicado hasta ahora fundamentalmente a los robots no atendidos, aquellos que funcionan de forma completamente automática pero, eso si, en general automatizando tareas más sencillas y previsibles. La tendencia esperada es un progresivo incremento de los robots atendidos que colaboran con personas en tareas más complejas y normalmente de front-office, en lo que a veces se denomina RDA, 'Robotic Desktop Automation'.

  • Compañías dedicadas a verticales: Taulli apuesta también por el florecimiento de compañías y productos no generalistas sino dedicados a sectores específicos como el de la atención sanitaria.

  • Software como servicio (SaaS): Una previsible, en realidad ya en marcha, transformación es la evolución de los productos 'on-premises' hacia soluciones en la nube y en modelo SaaS y pago por uso, dando lugar a la enésima sigla XaaS, a saber RaaS ('Robotics as a Service').

  • Open Source: Igualmente prevé un incremento de presencia de soluciones de código abierto como ya sucede en tantas y tantas áreas tecnológicas, especialmente en la nube.

  • Chatbots: Se identifican varios escenarios de interacción entre RPA y chatbots pero, en todo caso, siempre dominando una cada vez mayor interacción cuando no convergencia entre ambos tipos de robots.

  • Inteligencia Artificial: Se prevé, se está observando ya, el afán de los fabricantes por añadir más y más capacidades de inteligencia artificial en los robots RPA.

  • Escalado de RPA: Hasta ahora la mayoría de las implantaciones y adopciones de RPA son de pequeña escala. Llevar esa automatización a una escala de gran empresa es algo que no está claramente asegurado hoy día pero en lo que los fabricantes trabajan activamente.

  • Consolidación: Se constata que existen actualmente en el mercado más de 70 fabricantes con lo que lo razonable (en realidad creo que ya está empezando a ocurrir con algunas compras de cierto impacto) es una cierta consolidación del mercado.

  • Salidas a bolsa: Además de lo anterior, el autor entiende que todas las compañías importantes saldrán a bolsa como una forma no sólo de obtener fondos sino tambiñen como una muestra de solidez, fiabilidad y transparencia.

  • Microsoft y Power Automation: Un factor importante latente y que puede cambiar el tablero de juego es la opción que tome Microsoft, quien parece apostar por RPA a través de sus soluciones Power Apps y muy en concreto Power Automation.

  • Carrera profesional en RPA: Se constata también la necesidad de perfiles profesionales RPA y la carencia de estos en el mercado por lo que se prevé una explosión en la demanda de este tipo de perfiles.

  • Ética y privacidad: Existe una creciente preocupación por el uso de los datos en todo tipo de aplicaciones, especialmente las que incorporan Inteligencia Artificial, como puede ser el caso de RPA. Junto con esta preocupación existen una serie de problemas de naturaleza ética, no específicas de RPA sino más bien de todo el ámbito de la Inteligencia Artificial y la Automatización, que reciben ya mucha atención mediática y empiezan a verse las primeras acciones a nivel de análisis y regulación en gobiernos e instituciones como las europeas.

  • Factor 'Hype': El autor se pregunta en qué punto del 'Hype Cylce' de Gartner se encuentra RPA. Su opinión, que no parece disparatada, es que nos acercamos al famoso 'Peak on Inflated Expectations' es decir, al máximo de ruido mediático y expectativas exageradas a lo que, según Gartner, seguiría una cierta desilusión y disminución de inversiones... aunque con perspectivas posteriores de recuperación ya con expectativas más ajustadas a la realidad.

Una lista interesante de tendencias, sin duda, algunas muy claras y ya en marcha, otras más especulativas, pero todas fundamentadas. Ya veremos si son acertadas... y dado lo dinámico de este mercado, seguro que no tardaremos mucho en hacerlo.

lunes, 13 de julio de 2020

Dos paradojas y media del término Robotic Process Automation


Robotic Process Automation, también conocida por sus siglas, RPA recoge un conjunto de soluciones de automatización que, reuniendo técnicas y tecnologías como el screen scraping, reconocimiento óptico de caracteres, procesamiento de lenguaje natural, visión artificial, desarrollo low-code, etc, consiguen ofrecer unas alternativas relativamente ligeras para la interacción con aplicaciones y documentos y, con ello, la automatización parcial de procesos de negocio. 

El término Robotic Process Automation, un término acuñado hacia 2012 por el evangelista de Blue Prism Pat Geary es, sin embargo, aunque probablemente acertado desde un punto de vista de marketing, no tanto desde el punto de vista conceptual y de caracterización de las soluciones que denomina.

Estoy leyendo el libro 'The Robotic Process Automation Handbook' de Tom Taulli y en su primer capítulo este autor identifica dos paradojas en ese término, dos paradojas que pueden confundir a las personas no duchas en la materia.

La primera se refiere a la palabra robótica ('robotic'). Esta expresión puede conducir a pensar en robots industriales o androides, robots en cualquier caso con un hardware y una clara realidad física. Y no, en el caso de RPA no hablamos de robots físicos sino lógicos, es decir de robots software o, simplemente, bots. Los robots de RPA son, pues, módulos software invisibles  a nuestros ojos si no fuera por los efectos que consiguen.

La segunda paradoja se refiere a la palabra proceso ('process'). Un proceso de negocio denomina una serie de tareas que, realizadas de forma coordinada, consiguen un resultado de interés para un negocio. Lo cierto es que los robots RPA, a despecho de lo que su nombre indica, no se centran habitualmente en automatizar procesos de negocio extremo-a-extremo sino, únicamente, en automatizar tareas, tareas concretas, tareas que forman parte, eso sí, de un proceso de negocio, pero que son sólo una parte de él.

Sólo nos queda pues, libre de paradoja la tercera palabra del término Robotic Process Automation, la palabra automatización ('automation'). Tom Taulli no dice nada de ésta, pero aquí voy a añadir de mi propia cosecha, la  media paradoja adicional. En realidad no hay nada incorrecto en usar la palabra 'automatización' para referirnos a los robots RPA. Sí, estamos hablando de automatización. Pero en cierta literatura algo superficial que he tenido ocasión de leer, parece que se llega a identificar esa palabra automatización con RPA y eso sí sería un error. Tecnologías de automatización de procesos de negocio y de tareas de procesos de negocio hay muchas, como suelo explicar en los cursos que imparto sobre RPA y robotización de procesos. Y RPA es sólo una de ellas. Cuidado con eso, especialmente quien pueda estar en disposición de decidir sobre un programa de automatización o de tranformación digital.

Tres palabras en un término  y dos paradojas y media en ese término. ¡Menuda proporción!

Como ocurre cada vez más en el campo tecnológico (y en el no tecnológico), se peca con frecuencia de superficialidad, de exceso de marketing y de un cierto, permítaseme la expresión, 'postureo tecnológico'. Es por eso importante estar avisados y esforzarse en comprender la verdadera naturaleza de las tecnologías y soluciones más allá de sus nombres y de la propaganda que las pueda rodear.