Como medir o sucesso das iniciativas de DevOps?


DevOps é o termo usado para se referir a um conjunto de práticas que enfatizam a colaboração e a comunicação entre desenvolvedores de software e profissionais de infraestrutura, enquanto automatizam o processo de entrega de software e as mudanças de ambiente. O objetivo é estabelecer uma cultura e um ambiente no qual a construção, o teste e a entrega do software possam ocorrer de forma rápida, frequente e confiável.

Sua importância cresceu muito nos últimos anos e foi promovida, sobretudo, pela adoção das práticas ágeis. Ao adota-las, as equipes agora são capazes de oferecer benefícios significativos aos clientes, entre elas um menor tempo de comercialização, maior satisfação do cliente, melhor qualidade do produto, lançamentos mais confiáveis, produtividade e eficiência aprimoradas, além de maior capacidade de construir o produto certo baseado em experimentação rápida.

Embora o DevOps possa parecer uma integração simples entre duas equipes, implementar e obter resultados das funções e responsabilidades do DevOps recém-criadas não são tarefas fáceis. Isto pode ser facilmente observado no esforço empregado pelas organizações para definir seus objetivos comerciais, o processo e as construções organizacionais de forma a motivar e fortalecer a colaboração da equipe de forma eficaz. O desafio aqui é implementar uma nova cultura na empresa, transformando o processo de produção de software, onde a evolução do código, aplicativo ou sistema, ocorre de forma contínua e única, onde não há barreiras invisíveis entre as áreas de negócio, desenvolvimento e infraestrutura.

Por isso, é vital proporcionar visibilidade de ponta a ponta sobre as aplicações, a infraestrutura e os negócios digitais como um todo. Com métricas de desempenho que podem ser revisadas e compartilhadas globalmente, é possível monitorar a evolução da equipe e provar o sucesso em todas as etapas. Os líderes se beneficiam ao saber que todos estão alinhados e avançando para os mesmos objetivos. Além disso, os companheiros de equipe podem colaborar de forma mais fácil e rápida com ideias e atividades compartilhadas.

Mas, uma vez que sua organização já esteja comprometida com a metodologia DevOps, como avaliar os benefícios deste modelo e garantir o correto funcionamento?

A resposta é: com boas métricas. Você precisa de métricas não apenas como uma forma de medir o sucesso (ou a falta dele) no seu programa DevOps, mas também como uma maneira de descobrir como ele pode ser melhorado, modificado ou estendido. Sem métricas, você está voando às cegas. Com métricas, você tem um ponto de vista mais holístico, sabe onde está, para qual lugar caminha, onde pode ir e como chegar lá. Mas não estamos falando sobre ferramentas analíticas que medem as atividades no pipeline, estamos falando sobre medir o pipeline em si.

Então, o que deveríamos medir?

Isso é algo que está diretamente relacionado àquilo que você está tentando alcançar, e de quais os “efeitos colaterais” seu time pode tolerar. Por isso, é preciso pensar com cuidado sobre como suas métricas e indicadores de performance (KPIs) podem ser interpretados pelos times técnicos, executivos e gestores, uma vez que as estatísticas geralmente não são acompanhadas por uma narrativa, elas pode ficar sujeitas à interpretações imprecisas.

A última pesquisa da SEI (Software Engineer Institute), na qual quatro mil pessoas em mais de 90 países responderam sobre o cenário DevOps atual nas empresas, mostrou que mais de 63% dos entrevistados afirmaram que suas medidas de melhoria mais importantes são: a frequência, a velocidade e a taxa de sucesso do deploy; o quão rápido o serviço pode ser restaurado após uma falha no deploy, e a cultura.

Vale ressaltar que, caso sua empresa esteja começando a implementar DevOps, combinar os resultados da pesquisa da SEI com a experiência e o resultado que algumas empresas que já praticam DevOps compartilharam publicamente pode auxiliar a decidir quais indicadores devem ser medidos.

As métricas

As métricas são projetadas para facilitar a visão sobre a qualidade e como melhorá-la, por isso, elas precisam medir efetivamente o impacto dos produtos e serviços paras os clientes e os negócios. A melhor maneira de garantir que as empresas estejam competindo em uma economia digital e on-demand, é trabalhar a velocidade – ou o tempo da ideação até o momento em que o software é disponibilizado aos usuários. As três métricas críticas para atender às expectativas aumentadas incluem velocidade, eficiência e mitigação de risco, ou seja: melhorar a velocidade na qual sua organização entrega mudanças para reduzir o tempo de ciclo com objetivo de obter vantagem competitiva; melhorar e aumentar a eficiência das equipes; e garantir que as alterações sejam aderentes às políticas de conformidade.

Medir é importante, mas tenha ciência de que algumas métricas são difíceis de coletar e mensurar, como por exemplo a cultura e a colaboração, que não podem ser medidas diretamente. Abaixo segue algumas métricas que você pode utilizar para medir o quanto DevOps pode ajudar sua equipe ou empresa:

Eficiência operacional

  • Custo por release
  • Custo por transação
  • Tempo médio para resolução de um issue
  • Tempo de resposta para um issue

Qualidade

  • Taxa de sucesso de deploy
  • Bugs na produção
  • Tempo médio por atividade (task/issue/bug)
  • Quantidade de Incidentes

Velocidade

  • Tempo de Ciclo (Sprint + Test + Deploy)
  • Frequência de Deploy
  • Valor por Release
  • Performance por Recurso(Diária e Por Release)

Efetividade organizacional

  • Colaboração
  • Motivação (felicidade, satisfação dos funcionários)
  • Retenção
  • Número de Lições Aprendidas
  • Número de Pesquisa e Inovação Aplicadas em Projetos

Valor para o cliente

  • Tempo de espera para solução de problemas
  • Quantidade de Estórias Entregues vs. Quantidade de Estórias em Backlog

Desempenho dos negócios

  • Lucros por funcionalidade entregue
  • Fatia de mercado
  • Novos clientes
  • Margem Bruta
  • Novos mercados
  • Objetivos Estratégicos Alcançados
  • Reputação da marca

Neste primeiro artigo, discutimos sobre como essas métricas ajudam a guiar o processo de melhoria contínua da sua empresa. No próximo artigo, iremos abordar como entender o nível de maturidade e como remediar os gaps mais críticos.