RPA (Robotic Process Automation), Mi opinión

RPA (Robotic Process Automation), Mi opinión

Robotic Process Automation no es más que llevar procesos de una empresa muy repetitivos y transacionales a un proceso de completa autonomia, en donde el humano tenga nula intervención o minima. Recientemente InfoWorld publicó un articulo donde habla que este tema podría ser el nuevo “IT Killer” para los programadores, es decir, un gran campo de trabajo que deberíamos explorar.

robotic-process-automation

Hace poco tiempo hablando con colegas que tenemos un background sobre administración de servidores, desarrollo web, desarrollo móvil, etc. llegamos a la conclusión que las empresas no tienen un buen enfoque de esto llamado RPA y ahora mismo les explico…

Hoy día, grandes empresas usan tecnologías que graban las pantallas de las computadoras, donde la potencia de estas radica en poder hacer “scripting” dentro de cada uno de los pasos grabados, donde cada evento como un clic es una acción. Puede sonar muy atractivo para muchos pero pensemos en el siguiente caso:

  1. Yo soy una empresa que le compra servicios a Facebook de publicación de contenido (sólo es un ejemplo), mis empleados día con día ya tienen un contenido establecido a publicar a ciertas horas.

Si usaramos el tipo de tecnologías de las cuales les hablo, lo que haría sería grabar cada uno de los pasos y ¡Listo!, ¿Entonces donde está el problema?, el problema está en que las plataformas que usamos siempre están en constante cambio y si algo cambia en su estructura deberíamos volver a grabar y eso no nos permite liberar herramientas como normalmente hacemos con una pieza normal de software, no nos permite ser ágiles.

Sin embargo este no es todo el problema, usualmente estás herramientas sólo soportan lenguajes de programación austeros y ya muy viejos, como VBS (Visual Basic Script). Además suelen necesitar Virtual Desktops para trabajar, simulando que son una persona, es decir una infraestructura muy cara si lo vemos desde SaaS. Por si fuera poco, el software es muy caro, con un “user experience” muy pobre y con problemas de adaptación entre diferentes tipos de resolución de pantallas por no nombrar algunos otros detalles.

Recomendaciones

Si este es tu caso, estás en el proceso de automatizar procesos, deberías explorar primero todas las posibilidades que tienes a tu alrededor.

  1. En primera, deberíamos estudiar con que tipo de plataformas interactua mi compañía y que herramientas de programación me ofrecen esas plataformas. En el caso del ejemplo, Facebook nos proporciona un API (Application Programming Interface) para hacer muchas tareas comunes. Seguro las plataformas que usas también tienen este tipo de herramienta.
  2. Si empiezas a usar API’s, no necesitaras cientos de máquinas virtuales o físicas, sólo algunos servidores para correr estos procesos en “background”.
  3. Explorar el software libre, open source y/o freeware, muchas herramientas están a la disposición de todos, un ejemplo de ello es Selenium, que es una maravilla para manipular páginas de internet (“DOM”). Con ella podemos hacer procesos de automatización, aunque nació para hacer “Test Automation”, muy recomendable.
  4. Invierte en un grupo de programadores, ellos te ayudarán a darte la visión necesaria que necesitas para tus automatizaciones. Ellos crearán maravillas tan sólo usando código, es decir, software que ellos crearán. Esto lo puedes ver como una ventaja de escalabilidad.
  5. En definitiva, habrá casos extremos que tendremos que usar “RPA Software”, en donde no hay otro camino, y la única manera será replicar el comportamiento del usuario a través de su proceso.

Sin duda este término tiene mucho futuro, seguirá habiendo muchas herramientas a explorar y deberíamos escoger lo que más se acomode con el enfoque de la empresa o el proceso.

Written by 11110101

Apasionado por la tecnología, Geekalt42 es un sitio que he construido con muchas personas a lo largo de 5 años. Gracias a todos. Facebook: fb.com/moyvera Twitter: @11110101

Deja un comentario

A %d blogueros les gusta esto: