¿Por qué se habla de “cultura DevOps”?

DevOps es una palabrita que está muy de moda. Viene de unir las palabras Development y Operations, con la idea de unir dos mundos entre los cuales generalmente hay mucha fricción. Se habla de “cultura DevOps” quizá porque es algo que está relacionado más con las personas y sus formas de trabajar, y no solo con las tecnologías, se trata de unir dos cosas que están históricamente separadas: la construcción del software (el desarrollo) y la operación del mismo. E incluso, como hablábamos en este artículo, se trata de unir más partes, de los distintos mundos involucrados en la creación y operación del software. 

Una cultura DevOps plantea generar una cultura de aprendizaje, comunicación, ciclos de feedback en distintos niveles. No se trata solo de algo técnico, ni mucho menos de un rol, por más que mucha gente dice “yo soy devops” o “se busca devops para empresa muy copada”.

Típicamente pasa algo como esto: hay una idea, cambio, requerimiento, etc., los desarrolladores trabajan escribiendo código, arman un paquete que se lo pasan a los de operaciones y ellos son los que ponen eso en producción, y ahí está en las manos del usuario. Ahora, de ahí en más es la gente de operaciones la que sigue gestionando eso, y se tiene que hacer responsable por todo lo que pasa en los servidores de producción. Hay un conflicto de intereses que retrasa y dificulta las cosas:

  • Los desarrolladores quieren darle al usuario el producto lo antes posible (más con las metodologías ágiles, tal vez van a querer poner en producción una vez por semana).
  • Los de operaciones no quieren poner algo en producción que les ocasione problemas, tener que regresionar, recuperar respaldos debido a que el último cambio les partió la base de datos, el sistema se cae, los usuarios llaman, y la primera línea de soporte son ellos.

Esto muestra una enorme fricción entre desarrollo y operaciones, lo cual afecta al negocio. Y esto no pasa por las herramientas que usemos. Como dice la segunda ley de la consultoría de Jerry Weinberg (libro recomendado: Secrets of consulting): “No importa lo que parezca a simple vista, siempre es un problema relacionado a las personas“.  

DevOps es una cultura, no tiene que ver solo con la parte técnica, sino que tiene mucho que ver con la parte humana y con los procesos. Es fundamental la comunicación, es fundamental la interacción y la forma en que se reparten y comparten las responsabilidades, implica un enfoque ágil que involucre no solo a los desarrolladores, sino también a la gente de operaciones.

Y no es algo que se haga solo por moda, esto se hace para reducir el tiempo desde que trabajo en la idea hasta que la pongo a funcionar. Según un estudio que mencionan acá, los equipos que ponen en práctica DevOps logran entregar 30 veces más frecuente, tener 60 veces menos fallas y recuperarse 160 veces más rápido. De ese mismo artículo tomé prestada la siguiente imagen, porque creo que representa muy bien el concepto de cultura DevOps, todas las etapas del proceso de desarrollo, con continuous feedback, continuous integration, y todo rodeado de comunicación en tiempo real. El artículo está muy bueno así que más que recomendado. 

Creo que todo apunta a un mensaje claro: la cultura DevOps implica tener las conversaciones adecuadas en los momentos oportunos. Para esto tenemos aspectos metodológicos y de herramientas que están aceitados para propiciarlas, teniendo ciclos de feedback continuo.

Yendo al mundo GeneXus

Llevando estas ideas al mundo GeneXus tenemos que ver si contamos con las herramientas para poder propiciar estas conversaciones, aceitando todo el proceso de forma que sea posible acelerar las entregas frecuentes, garantizando su calidad y pudiendo recuperarnos con facilidad. Si el pipeline de entrega continua no está automatizado, es muy difícil establecer una cultura de DevOps

Acá tenemos que convencernos de dos cosas muy importantes:

  • Hoy en día solo por usar GeneXus no nos alcanza para ser productivos y competitivos: la productividad y la calidad no está solo en el desarrollo, está en el todo que incluye DevOps (dev, ops, negocio). Para eso, no alcanza entonces GeneXus, sino que aprovechar las distintas herramientas que podemos integrar en nuestro proceso. Mirando para el costado, cualquiera que trabaja con cualquier otra tecnología puede comenzar a aplicar Continuous Delivery de un día para otro, propiciando una cultura DevOps. ¿En GeneXus esto es posible? Antes la tecnología evolucionaba para el desarrollador, aparecían todos los días nuevos frameworks para desarrollar más rápido; ahora hay tecnologías para mejorar el proceso: más orientado a una cultura DevOps.
  • Hay que prestarle atención al proceso entero, no alcanza con optimizar la forma en la que hacemos algunas cosas, hay que mirar el proceso desde una perspectiva amplia, apuntando a optimizar las partes y a optimizar el proceso.

De esto estaremos hablando el lunes en el Encuentro GeneXus, primero a las 15hs con Lali sobre lo que implica la cultura DevOps, y luego a las 17hs con Fabián sobre cómo lograr Continuous Delivery en GeneXus para poder propiciar todo esto. 

 

Leave a Reply

Your email address will not be published. Required fields are marked *