Como convencer os desenvolvedores da minha equipe a adotar "Você constrói, executa"? Por isso, tenho em mente esta citação de Werner Vogels :
A atribuição de responsabilidades operacionais aos desenvolvedores melhorou bastante a qualidade dos serviços, tanto do ponto de vista do cliente quanto da tecnologia. O modelo tradicional é que você leva seu software para a parede que separa o desenvolvimento e as operações, joga-o de lado e depois esquece. Não na Amazon. Você constrói, você executa. Isso coloca os desenvolvedores em contato com a operação diária de seus softwares. Também os coloca em contato diário com o cliente. Esse ciclo de feedback do cliente é essencial para melhorar a qualidade do serviço.
Estou pensando especificamente em um conjunto de desenvolvedores que:
- Foram contratados para uma função de desenvolvedor, com pouca / nenhuma menção de tarefas relacionadas a operações.
- Tradicionalmente, "jogamos código por cima do muro" para uma equipe de operações.
- Tradicionalmente, têm um horário de trabalho de 9 a 5 e são hostis à idéia de "dever de pager", participando da recuperação de desastres, escrevendo post mortem etc., especialmente fora do horário comercial. (Observação: só tenho interrupções muito raras em mente para isso; não estou propondo que adicionemos suporte ao cliente fora do horário comercial à carga de trabalho dessa equipe.)
- Atualmente, não somos responsáveis por escrever / dar suporte ao monitoramento ou alertar sobre seus aplicativos.
Suponha que exista uma equipe que esteja desenvolvendo rapidamente novos microsserviços em nuvem com um perfil que será entregue de tal forma que entregar esses serviços a uma equipe de operações seja subótimo, porque eles não conseguem acompanhar o ganho de conhecimento profundo de os serviços necessários para gerenciá-los e monitorá-los efetivamente. "Você constrói, executa" funcionaria melhor para essa equipe, pois as tarefas poderiam ser delegadas a cada membro da equipe responsável. Portanto, essa equipe começou a participar do projeto de infraestrutura, ferramentas de monitoramento / alerta para os serviços e (com pouca frequência) a responder a eventos de interrupção.
Estou especificamente interessado em metodologias, apoiadas em exemplos do mundo real. Como isso foi implementado com sucesso em outros locais de trabalho e se existem etapas canônicas a serem seguidas durante a implementação? Quaisquer links para artigos que possam dar suporte a respostas seriam muito úteis.