Atomatización Robótica de Procesos: Cómo desarrollar un framework

Automatización Robótica de Procesos
Automatización Robótica de Procesos

La experta Sandra Sastre ha compartido con IT CONNECT, este documento de alto valor sobre la automatización robótica de procesos, para la construcción exitosa de un framework.

Introducción

Los expertos concuerdan en que la era digital apenas está comenzando.

Comparan este evento con la revolución industrial. Las empresas que no puedan innovar sus procesos y lograr ser eficientes con las nuevas tecnologías tendrán grandes dificultades para competir contra aquellas empresas que si lo hagan.

La automatización robótica de procesos (RPA por sus siglas en inglés) consiste en utilizar tecnología que permite diseñar programas llamados “robots de software” (“bots” en inglés) que simulan el comportamiento humano.

Cada robot puede ejecutar las mismas acciones que la persona realiza en un proceso transaccional y también emplear la misma lógica de negocio.

El principal objetivo de RPA es adquirir evolutivamente un nivel de eficiencia cada vez mayor en los procesos transaccionales automatizados, y poder integrar una variedad de aplicaciones, desde una planilla de cálculo hasta un sistema de misión crítica.

El robot es capaz de replicar el comportamiento humano

A través de múltiples aplicaciones, administrar e interpretar datos, aplicar reglas de procesamiento, disparar respuestas y comunicarse con otros sistemas o personas, por ejemplo enviando un email.

Un robot accede a las aplicaciones y dispositivos de la misma forma que una persona lo haría. Múltiples robots pueden ser vistos como una fuerza de trabajo virtual.

Existen numerosas herramientas en el mercado y numerosos conectores (APIs – Application Program Interface) para integrar diversos tipos de aplicaciones. El internet de las cosas (IoT) también ha aportado la posibilidad de integrar diferentes dispositivos a los procesos.

Los beneficios aportados por estas iniciativas son numerosos, la rentabilidad es alta y el período de retorno de la inversión es bajo. Esto hace que las empresas emprendan cada vez más este tipo de proyectos:

  • Gartner prevé que el mercado de automatización a través de robots de software, crecerá un 41% año tras año hasta el 2020.
  • Forrester estima que en el 2021 habrá más de 4 millones de robots haciendo diferente tipos de tareas administrativas, de oficina o de ventas.

Procesos que pueden ser automatizados

Los proyectos de automatización tienen un variado número de contextos en los que pueden ser utilizados: procesos de backoffice que integran gran cantidad de planillas de cálculo y procesos manuales, procesos de call center en los cuales el representante debe extraer información de varias aplicaciones manualmente para resolver una consulta u operatoria común.

Debido a la gran variedad disponible en el mercado de conectores, es posible automatizar procesos punta-a-punta que integren todo tipo de aplicativos y/o dispositivos, en una forma no-disruptiva.

El propósito de la tecnología RPA es evitar el riesgo y la complejidad de realizar cambios a las aplicaciones y en lugar de ellos simular el comportamiento humano, a través de las interfaces gráficas de las mismas.

Los robots de software acceden a los sistemas de la misma forma que el usuario lo hace – vía una interfaz gráfica con controles de acceso ya determinados.

Cuanto mayor sea la cantidad de esfuerzo manual involucrado en el proceso, mayor es el beneficio esperado.

El concepto de automatización no es nuevo, lo que cambia es que la tecnología que hoy se utiliza tiene un mayor nivel de madurez que permite visualizar los beneficios en menor tiempo y costo.

Muchas de las herramientas también permiten automatizar pruebas de software, siendo este otro campo de aplicación de alto retorno de inversión. Las pruebas de regresión de software en algunas aplicaciones de misión crítica, suelen demandar un elevado porcentaje de esfuerzo (alrededor del 30% del esfuerzo de desarrollo), siendo los casos punta-a-punta de dichas pruebas un buen candidato para automatizar y tener resultados visibles rápidamente.

Un alto número de procesos transaccionales son candidatos ideales para la automatización. A continuación se muestra el resultado de una encuesta del Everest Group del 2017 que muestra el grado de adopción de RPA por proceso / función:

Centros de Contacto
Centros de Contacto

Es muy importante que los procesos se encuentren estables para poder ser automatizados.

Beneficios

Además de los beneficios mostrados a continuación, es muy importante destacar la rapidez con la que se pueden tener las primeras automatizaciones, en un proceso continuo que va incorporando pasos y alcance al proyecto, con una visibilidad gradual de resultados permitiendo lanzar en pocos meses las primeras automatizaciones.

Desafíos

Para cumplir los objetivos deseados y mencionados anteriormente, como plazos cortos para observar resultados, inversión recuperada rápidamente, rentabilidad alta, entre otros, es necesario ser muy estricto en la identificación de potenciales riesgos y mitigarlos tempranamente.

¿Programación o “Record&Play”?

La mayoría de los fabricantes de las herramientas de RPA, indican que no se requiere de programación para construir los robots de software, que con solo un analista que “grabe” los procesos es suficiente para tener los mismos automatizados.

Para el propósito de una demostración se puede automatizar un proceso con “Record&Play” (funcionalidad que permite grabar un proceso y luego reproducirlo), pero en el ambiente real, donde el proceso deberá ejecutarse repetidamente en diferentes circunstancias, se deberá considerar la complejidad que involucra: no solo “grabar” los pasos que dicho proceso ejecuta sino la lógica subyacente que existe en cada paso, el manejo de las excepciones, de las condiciones, de los conjuntos de datos diferentes con los que puede operar, entre muchas otras cosas.

Record&Play

El “Record&Play” es un modelo de automatización que ha probado ser útil para la fase de descubrimiento de cómo automatizar una nueva aplicación, pero no es suficiente para evolucionar hacia un modelo robusto, escalable, estable, gobernable y eficiente que será el que traerá el éxito al proyecto.

Los procesos en el mundo real no son solo un conjunto de pasos, contienen una serie de condiciones, bifurcaciones, excepciones, etc. Situaciones que deben ser consideradas en el diseño de la automatización.

Para el armado de un modelo robusto de automatización, es necesario como lo ha sido siempre, del conocimiento (know-how) del proceso y del negocio en general y además requerirá de programadores para implementar dicha lógica y capacidades deseadas de estabilidad, robustez, gobernabilidad, eficiencia, escalabilidad.

Tratar la automatización como un proyecto

A veces se cae en la trampa de creer que porque las herramientas que ayudan a la automatización de los procesos “parecen” muy simples, no precisan por ello de todas las mejores prácticas de gerenciamiento de proyectos.

El tratar el proyecto con rigurosidad de un proyecto crítico contribuye a lograr el ROI esperado.

El arquitecto de automatización (AA)

Hay un rol que aparece como clave en este tipo de proyectos y es el rol del arquitecto de automatización (AA – Automation Architect).

El arquitecto debe poseer un balance de habilidades y experiencia que le permitan, entre otras cosas:

  • Seleccionar la(s) herramienta(s) más adecuada(s) para los requerimientos únicos de la empresa y el conjunto de aplicaciones / dispositivos a automatizar en el mediano-largo plazo.
  • Diseñar la arquitectura de componentes, dado que es común utilizar más de un proveedor u herramientas, dependiendo de la complejidad del ambiente y los procesos.
  • Determinar los requerimientos funcionales y técnicos de los procesos y en función de ello determinar el nivel de ajuste-brecha a las necesidades únicas de cada negocio y diseñar que cubra las brechas identificadas.
  • Determinar las mejores prácticas y metodologías a usar para el desarrollo de la automatización y del framework.

El AA será clave en el armado del ROI y en su cumplimiento. El rol del arquitecto de automatización, contribuirá en  decisiones como:

  • Cuando es necesario invertir en programación para robustecer y dar estabilidad, escalabilidad, gobernabilidad al modelo. Se estima que el esfuerzo dedicado al framework es el 13% del esfuerzo total.
  • Cuando es necesario diseñar e implementar “workarounds” (soluciones temporales a problemas en los sistemas) para evitar el riesgo de demorar el proyecto esperando soluciones de alguno de los proveedores que aún no están disponibles.

No solo se debe automatizar el “día soleado”

Muchas veces los procesos, especialmente aquellos de alta complejidad, no ejecutan punta-a-punta en una sola ejecución. Problemas en alguna de las aplicaciones que intervienen pueden hacer que el flujo se interrumpa con frecuencia, y que sea necesario retomar la ejecución luego de solucionado el problema que originó la misma.

Después de diseñar el flujo estándar de un proceso, se deben considerar las variantes que se presentan cuando la ejecución debe re-iniciar luego de un punto de falla. Es decir que el proceso puede tener múltiples variantes al flujo estándar que surgen de todos los puntos en los que puede comenzar la re-ejecución.

El flujo puede ser interrumpido, voluntaria o involuntariamente, en diferentes pasos, por lo cual la re-ejecución variará dependiendo del paso en que el flujo se re-inicie.

Simplificar la automatización no significa evitar la complejidad sino darle un abordaje simple.

Cuando los procesos son de envergadura, hay que evitar la tendencia a “ignorar” o “evadir” su complejidad. Pensar en abordar el análisis de aspectos complicados, puede sentirse como perder la mirada general o generar desvíos.

En realidad, si bien hay que buscar el momento apropiado, la complejidad no debe evitarse, porque un abordaje recomendable es realizar avances graduales dentro de cada versión del proceso optimizado.

Si el análisis es completo y se automatiza una primera versión en una fase inicial, luego es más simple evolucionar  hasta la total cobertura de la problemática.

Un ejemplo es el caso de las re-ejecuciones anteriormente mencionadas.

No es necesario evitar la funcionalidad por no estar disponible en la mayoría de las herramientas. Con lógica sencilla embebida en el framework se pueden implementar esta funcionalidad y dar robustez y estabilidad al proceso a automatizar.

Si el proceso no es robusto no se usará

Si la automatización del proceso no es robusta, cada problema en el ambiente resultará en la terminación anticipada del proceso automático. Las re-ejecuciones no han sido contempladas, entonces deberán realizarse en forma manual. Si hay muchas resoluciones manuales a problemas en los procesos automáticos, no se  cumplirá el objetivo y no se logrará retorno de inversión esperado.

Un relevamiento detallado para descubrir los secretos ocultos

La historia contada por el experto del proceso no es solo lo que fácilmente puede recordar sobre el flujo normal, sino aquella que probablemente le cueste recordar acerca de cómo resuelve cada situación de problema.

Es importante caminar junto al experto por el día-a-día, y no solo en los días soleados del proceso, sino los nublados y tormentosos para poder capturar el conocimiento no documentado del uso de cada sistema.

Cuanto más tiempo hace que el proceso es manual, cuanto más cantidad y complejidad de aplicaciones el mismo tiene, más cantidad de “workarounds” existirán frente a situaciones comunes. El conocimiento suele transmitirse de boca en boca y solo puede ser capturado con un enfoque creativo y riguroso.

El rol del arquitecto (AA)

El arquitecto debe tener un balance de experiencias y habilidades que le permitan cumplir su tarea exitosamente.

El rol del Arquitecto AA
El rol del Arquitecto AA

Un enfoque exitoso

No es “delgada” la línea que divide el éxito y el fracaso, si se es cuidadoso en el análisis de numerosas experiencias y se selecciona un equipo adecuado.

Nuevo Enfoque
Nuevo Enfoque

Un framework con las mejores prácticas

Definición

En un sentido amplio, el framework es el conjunto estandarizado de conceptos, prácticas y criterios para guiar todas las fases de la automatización de los procesos; incluye –entre otras cosas – la funcionalidad necesaria para cada tarea, así como la lógica para ejecutar el flujo de dichos procesos, y la funcionalidad para proveer estabilidad, escabilidad, re-usabilidad, de todos los componentes.

Framework
Framework

Abarca desde las mejores prácticas y criterios de cómo desarrollar este marco, así como los principios de configuración, documentación y uso.

La inversión en el framework es tiempo ganado en la velocidad de automatización futura.

 Es aconsejable hacer el análisis de mejores prácticas disponibles y diseñar un modelo hibrido que incorpore lo mejor de cada modelo. El framework descripto aquí es datos-reglas-procesos-funcionalidad-driven.

Modelo Conceptual de este framework

Podemos pensar al framework como la inteligencia que orquesta los diferentes componentes necesarios en una automatización. Los procesos, las funciones básicas en esos procesos, los datos,  las reglas que lo condicionan, así como la funcionalidad necesaria para proveer estabilidad, escalabilidad, eficiencia, robustez entre otras.

Dependiendo de la herramienta a utilizar algunas, y solo algunas funcionalidades aquí descriptas serán provistas por la misma. Un análisis de ajuste-brecha se deberá conducir para determinar cuáles se deben manejar en el framework específico para su empresa.

Capacidad de re-inicio del proceso en cualquier punto de falla

No hay que pensar solamente en el día soleado del proceso. Es importante pensar en el día nublado e incluso en el día tormentoso y frio. Los procesos automáticos, al igual que las personas, tendrán situaciones que los obliguen a interrumpir inesperadamente el flujo de la ejecución (caídas de alguno de los múltiples sistemas involucrados por ejemplo).

Estas situaciones cuando ocurrían en el procesamiento manual eran resueltas por el conocimiento (know-how) del usuario a cargo.

Podríamos decir, para ser precisos, que un proceso tiene tantos flujos posibles de ejecución, como pasos en los que se puede re-iniciar, es decir, tantos flujos posibles como pasos contenga.

Decir esto puede parecer complejo, pero cuando el modelo ya está diseñado y analizado es solo contar con la capacidad de expresar en el mismo, esta información.

Para la correcta prueba del comportamiento de reinicio en un paso específico es conveniente contar con capacidad de simulación en el framework. También con herramientas en la etapa de diseño que permitan visualizar el flujo desde cada punto de re-inicio.

Capacidad de Re-Inicio
Capacidad de Re-Inicio

Modelo en capas & re-utilización de componentes

Algo muy importante en el armado de un framework es que los pasos que se diseñen e implementen sea altamente re-utilizables en procesos con contextos similares, vía la simple configuración de dichos pasos sin ser necesario ninguna habilidad de programación.

Así como fue mencionada la importancia de contar con habilidades de programación, es importante aclarar que la idea es hacerlo para cubrir brechas como agregar las capacidades de robustez, escalabilidad, estabilidad, gobernabilidad y eficiencia mencionadas, sin pretender que se vuelva un mal hábito abusar de la programación innecesaria. El justo balance como lo comentamos anteriormente lo dará el rol del arquitecto, clave en este tipo de proyectos.

Re-utilización de componentes
Re-utilización de componentes

Es muy importante por lo tanto, que los componentes ya existentes en un framework sean re-utilizables solo con configuración, acompañado por una buena biblioteca y plantillas de diseño inteligentes que complementen este enfoque.

Reglas de flujos

El framework debe contemplar todas las situaciones posibles de ejecución de procesos, en los diferentes contextos que se puedan presentar.

Regla de los Flujos
Regla de los Flujos

Reportes de ejecución

La mayoría de las herramientas no brindan un reporte que sea el deseado por el usuario, sino que el mismo generalmente requiere de ser adecuado. Es de mucha visibilidad y valor agregado el tiempo dedicado a brindar la información correcta de la ejecución del proceso.

Reportes de Ejecución
Reportes de Ejecución

Dinámica de los datos

Es crítico en los procesos complejos a automatizar, conocer la dinámica de los datos a usar y cómo es necesario re-utilizar dicha información a lo largo de todo el proceso.

El manejo de los datos y su dinámica de uso es crucial y para ello el framework debe contar con funcionalidad del tipo mostrada a continuación:

Dinámica de los Datos
Dinámica de los Datos

Organización del framework

Además de diseñar e implementar un framework adecuado, es importante organizar los componentes para que apoyen el entrenamiento y alineamiento de los miembros del equipo con eficiencia.

Organización del Framework
Organización del Framework

Resultados en casos de éxito

  • Horas ilimitadas de tareas automatizadas ejecutadas en forma estable y robusta.
  • Rápido lanzamiento de los primeros procesos.
  • Tiempos de ejecución menores y más flexibilidad de escalamiento.
  • Reducción de costos en comparación con la ejecución manual.

 

 

Por Sandra M. Sastre – Mototech Socia Estratégica

Sígueme en Twitter

Sé el primero en comentar

Dejar una contestacion