Comment puis-je persuader les développeurs de mon équipe d'embrasser "Vous le construisez, vous l'exécutez"? Par cela, j'ai cette citation de Werner Vogels à l'esprit:
Donner aux développeurs des responsabilités opérationnelles a considérablement amélioré la qualité des services, tant du point de vue client que technologique. Le modèle traditionnel est que vous amenez votre logiciel au mur qui sépare le développement et les opérations, que vous le jetez puis l'oubliez. Pas sur Amazon. Vous le construisez, vous l'exécutez. Cela met les développeurs en contact avec le fonctionnement quotidien de leur logiciel. Il les met également en contact quotidien avec le client. Cette boucle de retour client est essentielle pour améliorer la qualité du service.
Je pense spécifiquement à un ensemble de développeurs qui:
- Ont été embauchés dans un rôle de développeur, avec peu ou pas de mention des tâches liées aux opérations.
- Traditionnellement, on a «jeté du code par-dessus le mur» à une équipe d'opérations.
- Ont traditionnellement un horaire de travail 9-5, et sont activement hostiles à l'idée de «devoir de téléavertisseur», participant à la reprise après sinistre, écrivant des autopsies, etc., surtout en dehors des heures normales de travail. (Remarque: je n'ai que très rarement des pannes en tête pour cela; je ne propose pas d'ajouter le support client en dehors des heures normales de travail à cette équipe.)
- Ne sont pas actuellement responsables de la rédaction / du support de la surveillance ou de l'alerte sur leurs applications.
Supposons qu'une équipe développe rapidement de nouveaux micro-services cloud avec un profil qui devient tel que la remise de ces services à une équipe d'opérations est sous-optimale car ils ne peuvent pas suivre pour acquérir une connaissance approfondie de les services nécessaires pour les gérer et les surveiller efficacement. «Vous le construisez, vous l'exécutez» fonctionnerait mieux pour cette équipe car les tâches pourraient être déléguées à chaque membre responsable de l'équipe. Ainsi, cette équipe commencerait à participer à la conception de l'infrastructure, aux outils de surveillance / alerte des services et (très rarement) à répondre aux pannes.
Je m'intéresse spécifiquement aux méthodologies, appuyées par des exemples réels. Comment cela a-t-il été mis en œuvre avec succès dans d'autres lieux de travail, et s'il existe des étapes canoniques à suivre lors de la mise en œuvre? Tout lien vers des articles pouvant soutenir des réponses serait très utile.