Artículos

DevOps: la importancia de la automatización en proyectos de gran escala y gran complejidad

Cuando trabajamos en proyectos de gran escala, tendemos a enfrentar más desafíos y complejidades.

DIGITAL HUB
Actualizado el 4 min de lectura
Fresa de uma máquina CNC usinando um bloco de alumínio, com cavacos no ar e uma luz de status coral.
Imagen: colección DIGITAL HUB.

Cuando trabajamos en proyectos de gran escala, tendemos a enfrentar más desafíos y complejidades. Es un proceso bastante común en las empresas de desarrollo. Y tener una mirada estratégica sobre cada una de las etapas puede hacer toda la diferencia en la calidad de cada entrega.

Para desarrollar un proyecto de éxito, nos encontramos con diversos factores: una buena planificación, una buena definición de alcance, un buen método que se utilizará para el desarrollo, el seguimiento de ese proyecto y también la automatización de procesos que van a favorecer que atienda todas las necesidades. Y es sobre automatización que vamos a tratar en este artículo.

01¿Dijo automatización? Esa es una misión para DevOps.

DevOps puede resumirse de la siguiente manera: “desarrollar soluciones que aumentan la productividad, la asertividad y la seguridad en tareas cotidianas de la empresa”. Pero no son solamente tareas relacionadas con el desarrollo y la infraestructura. DevOps también tiene una fuerte responsabilidad cultural dentro de las empresas, y trabaja en soluciones macro con visión general de procesos, integración entre departamentos e interacciones sociales que ocurren a diario o que podrían ocurrir.

Pensemos en un ejemplo bien simple: toda empresa tiene un flujo de onboarding (incorporación de nuevos colaboradores al equipo), o debería tenerlo. En ese flujo, si una de las partes falla o se atrasa para crear los accesos del nuevo colaborador, porque surgió alguna emergencia, eso afectará de forma negativa el recorrido inicial de ese nuevo miembro del equipo, que termina quedándose horas esperando esos accesos ya en el primer día de empresa. Una pésima experiencia, ¿no es cierto?

En ese caso, DevOps actúa en el sentido de desarrollar una solución que busca dar autonomía a quien está conduciendo ese proceso de onboarding, y permite que esa persona cree los accesos necesarios de forma simple y rápida.

Esa autonomía puede desarrollarse y ofrecerse de diversas formas por el equipo de DevOps, como la integración con bots en el chat de la empresa. Eso podría terminar con el problema, y traer una excelente primera impresión para todos los nuevos colaboradores.

En el ejemplo de arriba, la actuación de DevOps puede ser esencial para que un flujo ya definido por otros departamentos de la empresa consiga funcionar y traer resultados positivos.

02¿Cuál es la importancia de la automatización en proyectos grandes y de alta complejidad?

Cuando hablamos de automatizaciones, estamos hablando de transformar tareas repetitivas en soluciones que se ejecutarán por medio de tecnología y de forma automática, y que ocurren siempre que se ejecuta una acción específica o cuando alguien la solicita.

Pero ¿por qué automatizar es importante? Hay algunas razones. Los grandes proyectos involucran entregas continuas. Es decir, el equipo siempre estará produciendo y entregando para que las tareas sean validadas por el equipo de pruebas.

Una vez que tenemos una tarea lista, por ejemplo, necesita publicarse en un ambiente de pruebas. Normalmente, es una tarea manual que depende de alguien del liderazgo o del equipo de infraestructura para dar continuidad. Es decir, necesita una acción manual para que pueda seguir su flujo.

Sin embargo, las acciones manuales siempre son más pasibles de fallas que las acciones automatizadas. Continuando el ejemplo de arriba, imaginemos que, para publicar la tarea, la persona deba ejecutar un conjunto de comandos, pero termina olvidándose de alguno específico, lo que hace que el equipo de pruebas encuentre diversos errores que, al final de cuentas, no están relacionados con un problema de la tarea en sí, sino con una falla en la publicación. ¿Cuánto dolor de cabeza no causará?

En suma, todos esos problemas harían que el cycle time (el tiempo que lleva finalizar la tarea desde su inicio) de la tarea fuera aumentando.

De esa forma, automatizar significa agilizar los procesos, aumentar la productividad, elevar la tasa de acierto de la ejecución y disminuir el cycle time de las tareas, lo que, en consecuencia, termina reduciendo el cycle time de todo el proyecto.

La publicación de tareas es solamente un ejemplo de lo que puede automatizarse. El análisis automático de códigos, la automatización de pruebas y la creación de comandos por bots serían otros ejemplos de una infinidad de posibilidades que están al servicio de los equipos que buscan la calidad y la alta productividad.

El éxito de un proyecto puede terminar dependiendo de acciones conjuntas del sector de DevOps con los demás sectores de la empresa, ya sea el equipo de desarrollo, el equipo de pruebas, los Project Owners o los Project Managers. Es responsabilidad de DevOps mantenerse siempre alineado con todos, para que consiga entender las mayores dificultades y traer las mejores soluciones para el momento.


Hugo Aguiar, responsable del área de DevOps en DIGITAL HUB. Formado en Análisis y Desarrollo de Sistemas por la UTFPR-CP, actúa desde hace más de nueve años en el mercado de desarrollo web y posee más de dos años de experiencia como DevOps.

Artículo publicado originalmente en el portal E-commerce Brasil.

DIGITAL HUB

Hablemos de la experiencia digital de su marca.