Para establecer una cultura DevOps en una organización, un pilar muy importante es la relación entre los grupos implicados en la cadena del servicio, pero particularmente entre operaciones y desarrollo. Fomentar la conversación cuanto antes y que esta se produzca muy a menudo y sea fluida es fundamental. Aquí os dejo una serie de recetas que recupero de un artículo muy interesante, para conseguir ese ambiente de colaboración y comunicación necesario para tener bien engranado DevOps en nuestra organización.
Los equipos de desarrollo necesitan incluir a la gente de operación en sus proyectos y ciclo de vida de los desarrollos. Invitalos a participar en tus reuniones de scrum o de desarrollo en general. Comparte información e ideas acerca de planes de producto y nuevas tecnologías.
Recoge los requisitos de operación al mismo tiempo que recoges los requisitos funcionales. Según avance el proyecto, progresa con las pruebas de despliegue, el backup, la monitorización, la seguridad, la gestión de la configuración, así como las funcionalidades de la aplicación. Cuanto más cosas se corrijan durante el proyecto, tendrás menos posibilidades de errores a los clientes cuando la aplicación esté en producción.
Educa a los equipos de operación sobre la arquitectura de las aplicaciones y el código con el que están desarrolladas. Cuanta más información pueda obtener operaciones de tí sobre un problema con el código, menos trouble-shooting será necesario después y más rápido se resolverán los problemas.
Los equipos de operación deben llevar a desarrollo al espacio de la gestión de cambios y problemas. Invita a tus desarrolladores a dichas reuniones.
Comparte tus mapas de producto y los planes de actualización. Comprende los futuros desarrollos para asegurar mejor que los despliegues de infraestructura encaje en los requerimientos del producto.
Los desarrolladores deben tener perfil, conocimiento y herramientas que permitan hacer tu entorno más sencillo de manejar, más eficiente y limpio. Aprende a programar o si tú ya tienes programadores de sistemas con pocos conocimientos, formales para que aprendan a codificar mejor.
Conceptos como construir herramientas basadas en APIs y no en interface cerradas, control de versiones distribuido, test driven development, y metodologías como Agile, Kanban y Scrum pueden revolucionar las prácticas de operación de la misma forma que han cambiado la forma en que se he troceado el código.
No temas sobre ideas y aproximaciones recibidas de fuera de tu entorno, todos podemos aprender cosas.
Recuerda el ranking de efectividad, en modo decreciente, de la relación entre personas:
- Cara a cara
- Video conferencia
- Teléfono
- IM e IRC
Para finalizar únicamente me queda comentar que lo expresado anteriormente únicamente son los ingredientes que pueden ayudar a mejorar nuestra receta que es DevOps. Ahora te toca a ti ponerte con las manos en la masa y darle forma dentro de tu organización para obtener un rica y suculenta comida.
«Eso es todo amigos…»