¿Cómo puedo persuadir a los desarrolladores de mi equipo para que adopten "Lo construyes, lo ejecutas"? Por eso, tengo en mente esta cita de Werner Vogels :
Otorgar responsabilidades operativas a los desarrolladores ha mejorado enormemente la calidad de los servicios, tanto desde el punto de vista del cliente como de la tecnología. El modelo tradicional es que llevas tu software a la pared que separa el desarrollo y las operaciones, y lo arrojas y luego te olvidas de él. No en Amazon. Lo construyes, lo ejecutas. Esto pone a los desarrolladores en contacto con la operación diaria de su software. También los pone en contacto diario con el cliente. Este ciclo de retroalimentación del cliente es esencial para mejorar la calidad del servicio.
Estoy pensando específicamente en un conjunto de desarrolladores que:
- Fueron contratados para un rol de desarrollador, con poca o ninguna mención de tareas relacionadas con operaciones.
- Tradicionalmente, ha "arrojado código sobre la pared" a un equipo de operaciones.
- Tradicionalmente tienen un horario de trabajo de 9 a 5, y son activamente hostiles a la idea del "deber de buscapersonas", participando en la recuperación de desastres, escribiendo autopsias, etc., especialmente fuera del horario comercial normal. (Nota: solo tengo en mente interrupciones muy poco frecuentes para esto; no estoy proponiendo que agreguemos atención al cliente fuera del horario laboral a la carga de trabajo de este equipo).
- Actualmente no son responsables de escribir / apoyar el monitoreo o las alertas en sus aplicaciones.
Supongamos que hay un equipo que está desarrollando rápidamente nuevos microservicios en la nube con un perfil que será tal que entregar estos servicios a un equipo de operaciones es subóptimo porque no pueden mantenerse al día con respecto a obtener un conocimiento profundo de los servicios que se requieren para administrarlos y monitorearlos de manera efectiva. "Lo construyes, lo ejecutas" funcionaría mejor para este equipo porque las tareas podrían delegarse a cada miembro responsable del equipo. Por lo tanto, este equipo comenzaría a participar en el diseño de la infraestructura, el monitoreo / alerta de herramientas para los servicios y (con muy poca frecuencia) responder a los eventos de interrupción.
Me interesan específicamente las metodologías, respaldadas por ejemplos del mundo real. ¿Cómo se ha implementado con éxito en otros lugares de trabajo, y si hay pasos canónicos a seguir al implementar esto? Cualquier enlace a las redacciones que puedan admitir respuestas sería muy útil.