Em posts anteriores, fizemos a introdução de ALM (Application Lifecycle Management), CI (Continuous Integration) / CD (Continuous Delivery e Continuous Deployment) e da Jornada DevOps na organização. E como mudar então a cultura da empresa para que o DevOps seja implementado em seus processos?
Um dos pontos iniciais desta mudança é o patrocínio onipresente em diversas camadas da empresa. Este direcionamento certamente vai acelerar alguns dos itens abaixo, entre eles, a adoção de boas práticas em desenvolvimento (arquitetura escalável, padrões, engajamento com CI e gestão da configuração) e operações (infra as code).
A integração entre as áreas e o compartilhamento do conhecimento devem fazer parte do dia-a-dia em seu ambiente de trabalho. Promova eventos como DOJOs, Webinars, entre outros para disseminar o conhecimento e manter seu time sempre em evolução de práticas e tecnologias. Pense em gamification e como engajar o time a melhorar seus testes, qualidade do código e processo de CI.
Em muitos casos de transformação digital, vimos que as empresas adotaram métodos ágeis e práticas DevOps como premissas para habilitar o time to market. Criar esteiras eficientes, capazes de colocar o tempo todo novas releases no mercado, tornaram-se essenciais para validar o aprendizado com o mercado e investir em features que realmente trazem retorno. O Lean Startup aborda mais destes pontos.
A estratégia de começar “pequeno” é a mais recomendável. Escolha um projeto piloto para consolidar as práticas, os processo e as ferramentas. Assim, com o ganho observado, fica mais fácil de propagar as demais equipes e engajá-los na adoção de práticas e ferramentas. Trabalhe com times multifuncionais! Eles precisam ter o conhecimento e empoderamento para entregar os produtos.
Tenha uma boa solução de ferramentas! Considere a automação de tarefas como do build, release e testes. Só assim você conseguirá escalar e ter um processo high performer. Uma boa gestão de ambientes (virtualização, containers, etc.) e versionamento do código-fonte são essenciais também. O Azure DevOps é uma ótima solução de DevOps.
Por fim, não esqueça de mensurar os resultados e compartilhar os benefícios. Como está a frequência do deployment e do check-in do seu time? Há quebras no build? Retrabalho de atividades? Qual a causa?
E o lead time? O ciclo de vida da aplicação possui gargalos? Possui métricas de qualidade? Quais são as métricas de análise de código? A área de testes tem KPIs? O time está engajado com testes unitários? Como está a taxa de falhas (change failure rate)? E o MTTR? Há feedbacks do usuário? Os critérios de aceitação estão sendo atingidos?
O Azure DevOps possui a área de Analytics no pipeline de Build e Release para representar informações do processo de CI (Continuous Integration) como cobertura de código (em testes unitários), validação de testes, execução dos builds, etc.