La automatización es uno de los 5 valores de DevOps (Culture, Automation, Lean, Measurement, Sharing). Es también el que tiende a generar más interés y expectativa, por lo cual es importante conocer sus implicaciones antes de empezar a implementarla:
Simplifica el proceso
Antes de automatizar, simplifica el proceso y asegura que todas las áreas de negocio involucradas conozcan el flujo completo, no solo la parte que les toca. De no hacerlo, estarás invirtiendo tiempo y dinero en automatizar un proceso inadecuado, generando re trabajo en cada cambio. En nuestra experiencia, las personas siempre sienten que conocen el proceso, hasta que tratan de explicarlo.
Una técnica para visualizar el proceso es Value Stream Mapping, la cual describe cómo fluye el trabajo de principio a fin, así como los puntos en donde se genera mayor desperdicio y cuellos de botella. Esta técnica permite generar un backlog de iniciativas concretas y medibles para hacer mejorar el proceso.
Capacitación en TDD
Automatizar las pruebas es una mejora obligatoria en casi cualquier proceso de desarrollo de software. Por ello, es importante que el equipo conozca las mejores prácticas para diseñar suites de pruebas que sean fáciles de mantener y a la vez lo suficientemente robustas para que todo el equipo confíe en los resultados que arrojen.
Muchos equipos consideran la automatización de pruebas como inviable, dado que alarga las fechas de entrega (en apariencia). Sin embargo, no considera el costo de mantenimiento del servicio, lo cual a su vez se deriva de que el equipo de desarrollo no siente la responsabilidad por la operación del mismo ni en el corto ni en el largo plazo. Uno de los puntos más relevantes de DevOps es el de dejar de ver al software como un producto que terminamos y entregamos, sino como un servicio que hay que estar monitoreando y mejorando continuamente.
Analiza el impacto de automatizar
Cuando hablamos de DevOps, el concepto de automatización tiende a referirse solo a automatizar pruebas y desplegar con un click, automatizando el ciclo de vida de desarrollo. Sin embargo, debe también considerar crear aplicaciones para automatizar el value stream. Por ello, es importante conocer el proceso completo e identificar qué punto específico debemos de automatizar y/o mejorar para generar más impacto (theory of constraints).
En EnevaSys contamos con distintos talleres y cursos, además de facilitación y coaching personalizado, para apoyarte a que el proceso de implementación de DevOps en tu organización sea más fácil y rápido, trabajando tanto la parte cultural y humana, así como los procesos e implementación de herramientas de automatización.
Contáctanos para ayudarte a diseñar un plan de implementación de DevOps personalizado para tu empresa.
Si gustas recibir más información acerca de cómo ayudamos a las organizaciones a diseñar y ejecutar estrategias de agilidad organizacional (cultura + procesos + tecnología) e implementación de herramientas de Atlassian, envía un correo a asael.sepulveda@enevasys.com.