La Automatización robótica de procesos, o Robotic Process Automation (RPA) o es un tema bastante popular en la industria moderna. En su concepto es básicamente la automatización de conceptos de negocio.
Un concepto más formal lo podemos conseguir en el siguiente link:
Una automatización robótica de procesos, o RPA (Robotic Process Automation), es una forma naciente de automatización de los procesos de negocio que replica las acciones de un ser humano interactuando con la interfaz de usuario de un sistema informático
Wikipedia
Esto puede se puede lograr mediante diferentes interacciones:
- Humano a Robot: donde un individuo realiza una acción que desencadena en la ejecución de un robot.
- Robot a Robot: donde una maquina se encarga realizar acciones para ser ejecutadas por otra máquina.
- Robot a Humano: donde un robot se encarga de realizar una acción que va a ejecutar un humano.
Cualquiera de estas interacciones con el fin de lograr un trabajo.
Tipos de RPA
De igual forma los flujos de trabajo o grupos de tareas que ejecuta un robot, a los que normalmente acuñamos como ‘RPAs’, podrían clasificarse en:
- Supervisados: Que ejecutan las tareas con supervisión de un humano, normalmente trabajando en el mismo espacio de trabajo (Ordenador personal)
- No supervisados: Que ejecutan sus tareas sin interacción y sin monitoreo. Normalmente en forma aislada
Uso de RPA
Los RPA se consideran ‘robots’ de software que realizan un grupo de tareas en particular, sobre la misma interfaz de usuario que un humano. A diferencia de una aplicación de software común que se comunica vía APIs (Independientemente de su género).
Esto quiere decir que, si se utiliza Windows, o KDE, o Gnome, etc. El robot va a mover el puntero, abrir ventanas, hacer clics, escribir vía el teclado. Y necesita el mismo tipo de accesos que un operador humano.
Plataformas de RPA
Existen muchos vendedores de productos de RPA, entre los más populares están UIPath, Automation Anywhere, Power Automate Microsoft, Blueprint, IBM RPA, entre otros.
Estas plataformas brindan servicios similares, con el propósito de cumplir con los objetivos básicos de RPA.
- Grabar acciones de una interfaz de usuario
- Normalmente bajo el concepto ‘Low Code’
- Esto incluye tener ‘conectores’ o interfaces con programas comunes como Excel, Word, Chrome, Explorador de Windows
- Interfaces de usuario de autocompletado
- Algún tipo de ‘Inteligencia artificial’.
- Tener un controlador central que ejecuta y despliega robots.
- Trabajar con un fuerte licenciamiento por Bot o Ejecución.
- Llevar métricas de productividad.
- Cuantos clics ‘ahorras’
- Cuánto dinero por persona ‘ahorras’
- Cuantos tecleado ‘ahorras’
- Alguna otra métrica que signifique ‘ahorro’
Unidad Central o Control Room
Las plataformas también tienen algún un centro de comando, que normalmente es quien se encarga de conectar con Dispositivos, para ejecutar las tareas. Ya sea en demanda o de forma programada.
Las unidades centrales, también permiten funcionalidad básica de RBAC, y funcionalidad de paneles de control y consumo de licencias y computo.
Dispositivos o Ejecutores
Son las unidades que se conectan a la unidad central, y están disponibles para ejecutar las actividades. Pueden ser comúnmente ordenadores físicos o virtuales.
Diferencias con la automatización clásica
En general la principal diferencia son los fundamentos de la automatización, los productos de RPA están enfocados en usar la interfaz de usuario, para repetir tareas que realiza un operador humano.
Mientras que la automatización clásica, busca usar comunicaciones maquina a máquina mediante un API’s.
Y es esta misma naturaleza que lleva a los productos de RPA estar orientados a usuarios de negocio, no a desarrolladores de software. Y esto último revela
Posibles Problemas
Estos son básicos para un desarrollador de software, entre ellos yo me he encontrado con:
- Las interfaces de diseño, normalmente no son exportables, te vinculan fuertemente.
- Necesitan equipos dedicados para realizar ciertos tipos de tareas.
- Necesitan configuraciones especiales sobre los sistemas operativos y sus sesiones.
- Es considerablemente más lento que una interfaz vía API.
- Lo cual requiere de más Dispositivos para realizar más acciones en paralelo. (Lo que eleva más su costo)
- Debido a su propio ambiente de desarrollo, son rara vez interoperables entre proveedores
- Debido a su vinculación con ambientes de creación cerrados y sus tendencias ‘low code’, el versionar código fuente y el trabajo colaborativo es sumamente básico.
Que son problemas originales del desarrollo de software al volverse masificado, o al tener muy alta demanda de servicios.
El desarrollo de robots
Este aspecto es muy positivo en todos los proveedores, la mayoría permite realizar las mismas conexiones a programas de usuario sin mayor problema. Y un robot queda totalmente en manos del usuario que lo genera, debería ser un usuario de negocio, pero estos no tienen tiempo comúnmente, lo cual lleva a un submercado de consultores y expertos que crean RPAs equivalentes a un desarrollador de software.
Así que dependiendo de su organización, y su rol, siempre van a ver anuncios y los van a contactar empresas que tercerizan este trabajo como gurús
¿Que se necesita para un robot exitoso?
- Una lista de pasos claro.
- Un caso de negocio exitoso
- Mapear el tipo de valor que genera.
Con esa información, cualquier individuo podrá generar un robot.
En conclusión
Los RPA son un producto muy rico en capacidades, que puede aumentar la productividad de las personas de una empresa.
Son de fácil uso, y son configurables. Generando mayor ahorro de tiempo y costos.
Sin embargo, no siempre son la opción más viable, ni más económica. Es un intercambio entre horas útiles de un empleado para generar más valor contra costo de la automatización.
Otro punto adicional es que no son un ‘Jack of all trades’ están enfocadas a cierto tipo de usos, y en esos casos son excepcionales.
Muchas empresas según sus políticas cuestionables, pueden incluso orgullosamente, reemplazar las personas que tengan tareas simples como copiar archivos de una carpeta a otra por robots y retirar al recurso humano. Fallidamente porque luego necesita contratar a otra persona que monitoree al robot o haga otro trabajo similar o trabajos adicionales que hacia la persona que despidieron.