La automatización de tareas en operación de redes de datos comienza desde crear un excel con fórmulas hasta sdn. Pero el principal problema de iniciar el proceso de transición es la mentalidad de los ingenieros y de los liderazgos en la organización.
Pasé a un área nueva y lo 1o que pregunté fue qué creían que se puede automatizar y la respuesta (común a muchas áreas) es que difícilmente se podría automatizar. Aunque lo que he escrito no tiene una orientación particular, yo me desempeño en redes de datos y lo que voy a escribir está orientado a la automatización de redes, seguro que ésto aplica a cualquier otro ámbito de aplicación, pero ese es mi contexto.
Retos técnicos
Lo que resulta evidente para nosotros como ingenieros, es que la automatización es difícil per sé. Técnicamente hay que aprender a usar las herramientas de programación para hacer las labores que hacemos cotidianamente, tenemos que aprender nuevas herramientas, cambiar la forma en que atacamos los problemas y atacar problemas nuevos impuestos por el uso de otras técnicas y herramientas. Eso es lo normal y lo que debemos esperar, sin embargo, para eso estamos preparados, casi se puede decir que esa es la tarea de un ingeniero: aprender cómo usar nuevas herramientas, ninguno de nosotros conocemos todas las herramientas que se necesitan para cumplir algún rol en una organización y cuando lo hacemos nos presentan una nueva plataforma y nos toca volver a aprender. En la automatización el reto importante es que no se concibe el acto de programar, como una tarea creativa que requiere tiempo y un ambiente especial. Pocas organizaciones de ingeniería enfrentan sus tareas como una actividad creativa, todo lo contrario, pretenden encerrarla en un cajón de rutinas, mecánico y robotizado. No sólo eso, actualmente la carrera de DevOps es muy demandada, particularmente porque quien desempeña ese rol debe saber de muchas tecnologías a la vez: sistemas operativos, redes, virtualización, programación, etc..
Dentro de los retos técnicos, lo básico es establecer un entorno para desarrollo de aplicaciones. Eso es fácil… para quienes lo han hecho, pero al empezar, toca saber que tienen que existir por lo menos dos entornos: uno de desarrollo y otro de producción, normalmente existe un intermedio llamado QA o de pruebas en el que se ponen a funcionar preliminarmente los desarrollos. Otro reto es qué se va a hacer con la información que se empiece a generar? Cuánta es y cuánto va a ocupar? Por cuánto tiempo se va a guardar, etc?
Retos organizacionales
Ya en otras ocasiones he mencionado, que el resultado que se logre con procesos de automatización dependen de la información sobre la cual se hagan tales procesos. Un reto importante a la hora de emprender proyectos de automatización es que la información debe tener una estructura consistente, que se pueda sistematizar, es decir, que tengan unidades repetitivas con información normalizada. Es muy normal que usemos hojas de cálculo en nuestra organización, pero sólo la usamos como un cascarón para vaciar datos. Las hojas de cálculo también automatizan, personalmente, creo que es el primer paso de la automatización: unas hojas de cálculo bien aprovechadas.
De lo anterior se desprende otro reto importante: hacer que las personas usen los nuevos formatos. Se puede lograr diseñar documentos que sean cómodos y bien estructurados, pero no es fácil. Si acaso logramos que los nuevos formatos tengan una estructura útil para automatizar y aún así, sean atractivos y cómodos de usar por humanos, tenemos que lograr que ellos se acostumbren a usarlos y los acepten en su cotidianidad. Parece fácil pero no lo es.
En administración de proyectos, no se inicia un proyecto sin las firmas de los jefes, lo anterior tiene dos justificaciones: 1) que la gente sepa que no es una iniciativa individual y por ende se debe tomar en serio, 2) que los jefes comprometan recursos en el desarrollo del proyecto. La automatización no es diferente: se necesita que los jefes comprendan muy bien los retos que se deben confrontar y que los resultados no son magia ni inmediatos. Hay una gran incomprensión de lo que significa automatizar procesos, empezando porque la expectativa es alta por defecto: automatizar = automático, verdad? pues no! automatizar es iniciar un proceso de cambio, que empieza por organizar las información, luego hacer que los procesos estén claros, luego iniciar a los trabajadores en el uso de herramientas de programación y finalmente establecer un grupo de ingenieros que se dediquen a desarrollar soluciones automatizadas. No es hacer un ciclo y graficar.
Finalmente, el reto más importante que he notado, es la dificultad que tenemos todos de aceptar que nuestro trabajo se puede automatizar. No estoy seguro de la causa de tal actitud, pero cuando uno pregunta a alguien, si su trabajo se puede automatizar, la respuesta inicial es casi siempre negativa, la gente piensa que su trabajo es muy inteligente para que se pueda sistematizar, incluso a veces se ponen obstáculos. Ésta actitud no es generalmente malintencionada, es una consecuencia directa de nuestra forma ineficiente de pensar: hacemos todo muy manual porque no tenemos en la visión herramientas de automatización o porque siempre se ha hecho así y no hay tiempo para innovar o intentar hacerlo de otra forma. Otra posible causa, mucho menos probable, es que exista una resistencia sicológica al cambio o al reemplazo de nuestra dinámica por una más digital.