En todos los sectores, los procesos de negocios están atravesando la transformación más profunda desde que las empresas reemplazaron los archivos en papel por registros electrónicos. Una nueva gama de tecnologías, incluidas automatización robótica de procesos (RPA), flujos de trabajo inteligentes y técnicas de inteligencia artificial como aprendizaje automático (ML), herramientas de lenguaje natural y agentes cognitivos, promete mejorar radicalmente la eficiencia y al mismo tiempo eliminar los errores y reducir el riesgo operacional. Una investigación de nuestros colegas de McKinsey Global Institute sugiere que, tomando las industrias en general, existe potencial para automatizar más del 30 por ciento de las tareas que constituyen el 60 por ciento de los empleos actuales. En finanzas y seguros, por ejemplo, los trabajadores dedican más de la mitad de su tiempo a reunir y procesar información, actividades que resultan sumamente aptas para automatización usando técnicas ya disponibles en la actualidad.
Stay current on your favorite topics
Muchas empresas han identificado oportunidades significativas para aplicar automatización, y los resultados de proyectos piloto y demostraciones de tecnología aplicada han sido muy alentadores. Hasta el momento, sin embargo, la mayoría de los intentos experimentaron algunas dificultades para capturar todo el potencial de estos nuevos abordajes al aplicarlos a escala a sus operaciones.
Existen múltiples motivos por los que implementar la automatización constituye un desafío. Por ejemplo, algunas de las técnicas involucradas aún son relativamente inmaduras, y aplicarlas fuera de un entorno de prueba cuidadosamente controlado podría revelar debilidades y limitaciones imprevistas. Con miles de procesos que involucran a decenas de miles de empleados, las organizaciones enfrentan obstáculos para elaborar hojas de ruta viables para la automatización a gran escala.
Las dificultades que plantea el desarrollo
Por otra parte, el desarrollo y la implementación de software también plantean desafíos. Las empresas deben adaptar y personalizar las tecnologías seleccionadas para volverlas operativas en el contexto de la organización extendida. Y dado que la automatización implica fuertes cambios en los roles y las tareas conocidas, es necesario coordinar el desarrollo de tecnología por medio de un proceso amplio de gestión de los cambios.
Como muchas organizaciones ya han descubierto, las técnicas de desarrollo de software más conocidas no funcionan bien en este entorno tan complejo. La primera en fracasar ha sido la metodología “Waterfall” tradicional, en la que los pasos de análisis, especificación, diseño, codificación y prueba son llevados a cabo secuencialmente. Los proyectos de automatización estructurados de esta manera han estado plagados de retrasos y mayores costos como consecuencia de que las compañías descubren problemas inesperados o limitaciones en fases ya avanzadas del ciclo de desarrollo. Ese puede ser un problema serio cuando las iniciativas están centralizadas a nivel corporativo. Luego de un proyecto exitoso de prueba de concepto, por ejemplo, una compañía minera utilizó la metodología Waterfall para automatizar un importante proceso de back-office. Diez semanas después de iniciada la implementación, la compañía descubrió que el diseño de su infraestructura no podría ser escalado para soportar el trabajo. Para el momento en que identificó y solucionó el problema, el proyecto ya llevaba cuatro meses de retraso, y los costos habían entrado en una espiral ascendente.
Would you like to learn more about our Operations Practice?
Experiencias como ésta hacen que las compañías opten por utilizar abordajes de desarrollo ágiles en sus proyectos de automatización. Gracias a su énfasis en equipos multi-funcionales bien alineados, iniciativas de desarrollo focalizadas y tests continuos, la metodología Agile ha demostrado ser muy exitosa para encarar desafíos similares en otras áreas de desarrollo de software.
Pero la aplicación de Agile a proyectos de automatización tiene sus propios desafíos. Esto se debe a que la automatización de procesos difiere del desarrollo de un producto de software convencional en varios aspectos importantes.
Scrum, una metodología Agile que apalanca iteraciones rápidas para desarrollar funcionalidades, opera desagregando una funcionalidad o un problema complejo en múltiples bloques discretos o “historias”. Los equipos trabajan en esos bloques de a uno por vez, con foco en la calidad y lanzando versiones de software frecuentemente en lugar de hacerlo solo al final del proyecto. Para un producto de software convencional, eso implica que inicialmente incluirá un rango limitado de funcionalidades, a las que se irán sumando otras con el paso del tiempo. En la automatización de procesos, sin embargo, resulta difícil desagregar una funcionalidad de esa manera. Los componentes individuales de un proceso suelen estar íntimamente unidos: o funciona de punta a punta o directamente no lo hace.
Además, la naturaleza disruptiva de la automatización de procesos, que puede involucrar cambios significativos en los roles y las responsabilidades de cientos de empleados, hace que los ciclos de lanzamiento regulares resulten inviables. A veces, el valor incremental capturado por un único componente no es suficiente para justificar un lanzamiento.
Otro problema es la rendición de cuentas. En Scrum existe un “dueño de producto” dedicado que actúa como representante del usuario final, y que trabaja de cerca con los equipos de desarrollo para responder preguntas, priorizar las tareas y dar feedback sobre los prototipos. La automatización de procesos puede abarcar múltiples unidades de negocios, funciones y geografías, lo que vuelve difícil encontrar a alguien que reúna todos los conocimientos y las conexiones requeridas. Y debido a que la automatización es relativamente reciente, el “dueño de proceso” más adecuado dentro de la organización podría tener escasa o nula experiencia trabajando en proyectos de desarrollo de software, y menos aún en el entorno de cambios acelerados e iteraciones intensas propio de Agile.
Automatización Agile a escala
En respuesta a esas limitaciones, algunas empresas están adaptando y actualizando la metodología Scrum para la automatización de procesos. Este abordaje de “automatización Agile” opera como una variante de Scrum, con algunas características distintivas (Gráfico).
- Estructura del equipo. La automatización Agile utiliza una estructura de equipo flexible o “pod”, que incluye desarrolladores, testers, personal de TI y actores del negocio. Cada pod es liderado conjuntamente por un dueño de producto con expertise en la tecnología de automatización específica, y un experto en la materia del área de negocios, que aporta conocimientos esenciales.
- Diseño inicial. La automatización Agile involucra un esfuerzo inicial que define por completo el proceso antes de dar comienzo al desarrollo. Este trabajo garantiza que el proyecto de automatización se integrará con el resto del negocio y cumplirá con todos los requerimientos regulatorios y similares. También permite a los miembros de las áreas afectadas de la organización preparar a su gente para los cambios inminentes.
- Historias basadas en disparadores. Para desagregar un proyecto en bloques más simples de abordar, la automatización Agile reemplaza las historias de usuario convencionales por el concepto de “historias basadas en disparadores”. Este proceso identifica un evento “disparador”, como la disponibilidad de determinada información o una acción de un usuario, y luego define las acciones requeridas en respuesta a ese evento, y el resultado a producir. El uso de esta metodología permite a los equipos separar los procesos en partes más fáciles de gestionar. Adicionalmente, dado que los insumos y los productos de cada bloque están definidos con claridad, los equipos pueden trabajar en paralelo y acelerar el desarrollo.
- Gestión de lanzamientos. La automatización Agile separa los lanzamientos de prototipos y de software. Para minimizar las alteraciones para el resto de la organización, los lanzamientos de producción siguen un cronograma controlado y coordinado con las partes del negocio afectadas. Los prototipos son lanzados más frecuentemente en un entorno de prueba dedicado, donde se evalúa su desempeño en conjuntos de datos representativos.
- Soporte al programa. La automatización Agile requiere un cambio profundo en la organización, ya que exige simultáneamente a las compañías sujetar actividades críticas a tecnologías con las que no está familiarizada y usar nuevos métodos de trabajo. Este tipo de programas demandan soporte intensivo, en especial en las fases iniciales. Muchas organizaciones establecen una oficina de proyecto dedicada que provee expertise, define mejores prácticas y monitorea el avance general de las iniciativas de automatización.
The automation imperative
La automatización Agile a escala está todavía dando sus primeros pasos, pero los resultados hasta ahora han sido alentadores. Luego de algunos tropiezos, la compañía minera de la que hablábamos anteriormente pudo reconstruir sus esfuerzos de automatización aplicando principios Agile. Su segundo intento por desplegar el proyecto fue el doble de rápido que el primero, y permitió ahorrar cerca de 5.000 horas-hombre en el primer año, por lo que cubrió su costo en menos de 10 meses.
Otra empresa, en este caso de servicios financieros, desarrolló capacidades Agile a gran escala para dar soporte a objetivos de automatización ambiciosos. Por medio de un abordaje en fases, la compañía introdujo primero técnicas Agile en sus equipos de desarrollo de software. Luego aplicó la metodología en todos los equipos con el fin de coordinar los esfuerzos y compartir mejores prácticas. Por último, se persuadió al liderazgo del programa de adoptar ese abordaje como estándar para todas las iniciativas de automatización. Desde entonces, los plazos de ejecución de proyectos y los costos cayeron alrededor del 30 por ciento y el 15-20 por ciento, respectivamente, en seis líneas de negocios diferentes.
Para las empresas grandes, la automatización solo alcanzará su máximo potencial cuando se la despliegue a escala completa. Una cuidadosa aplicación de los conceptos Agile ayuda a superar la complejidad a quienes estén dispuestos a abrazar la transformación, no solo en su postura frente al software, sino también en la forma de trabajar todos los días. No hay tiempo que perder.