Mensuração DevOps (DORA)
Quando falamos de DevOps não existe uma definição concreta e específica. Porém, trata-se de um movimento cultural e organizacional com o intuito de agregar valor ao cliente final com o maior número de entregas, garantindo qualidade, velocidade e confiabilidade.
Resumo
Atualmente a maioria das empresas já adotaram o DevOps, mas será que todos estão cientes do que realmente é? Podemos medir a nossa maturidade de DevOps e enxergar qual caminho devemos seguir?
Nesse artigo, o meu objetivo é falar sobre como medi-lo, utilizando estudos referentes ao DevOps Research and Assessment (DORA).
Introdução
O que é DevOps, afinal? Resumidamente, não existe uma definição a qual todos utilizam, algumas definições dizem que é uma cultura, outras dizem que se trata de unir o time de desenvolvimento com o time de operação e ainda temos os que definem serem ferramentas para automatizar. Todas as definições estão corretas, em partes, DevOps é um movimento cultural e organizacional com o intuito de agregar valor ao cliente final com maior número de entregas, garantindo qualidade, velocidade e confiabilidade.
Porém, para podermos usufruir dos benefícios existe uma série de princípios que devemos seguir e validarmos para confirmar que estamos de fato no caminho certo. Dentro da literatura existe um acrônimo da língua inglesa conhecido como CALMS (Culture, Automation, Lean IT, Measure, Share) o qual o DevOps se baseia.
O Google DORA, após seis anos de pesquisas ao redor do mundo com os mais variados tipos de empresas, identificou quatro métricas que ajudam a identificar a performance do seu ciclo de desenvolvimento.
São elas:
- Frequência de entregas;
- Lead time para mudanças;
- Tempo de restauração;
- Taxa de falha de mudança.
Tipos de perfis de performance
O DORA dividiu os perfis em quatro tipos:
- Elite;
- High;
- Medium;
- Low
Para cada um dos perfis foram analisados as quatro principais métricas:
- Deployment Frequency (frequência de entregas);
- Lead time for changes (lead time para mudanças);
- Time to restore (tempo de restauração);
- Change failure rate (taxa de falhas de mudança).
Métricas de performance

Tabela

De acordo com as respostas de cada uma das métricas, é possível saber qual o seu tipo de perfil por métrica:
Por meio das pesquisas realizadas pelo Google DORA foi possível fazer um comparativo entre os perfis Elite e Low, que gerou o seguinte resultado:
Com esses números é possível ver a importância de aplicarmos os princípios do DevOps de forma adequada, de acordo com o momento de cada time e os seus objetivos.
Frequência de entrega
Qual a frequência de entregas que o seu time tem feito? Diária, semanal, mensal?
Comparando os níveis, foi visto que o mais baixo faz cerca de 12 entregas (deploys) em produção por ano, em média. Enquanto isso, o mais alto faz a média de 1460, ou seja, quatro entregas (deploy) por dia.
Para o nível mais alto, com quatro entregas por dia, foi considerado um número conservador em comparação com a empresa CapitalOne, que efetua 50 entregas por dia e por produto.
(8 In 2017: https://www.informationweek.com/devops/capital-one-devops-at-its-core/d/d-id/1330515)
Lead time para mudanças
Quanto tempo em média leva do commit até o release em produção? Seguindo o comparativo ainda entre o nível mais alto (Elite) e o mais baixo (Low), foi identificado que o Elite leva menos de um dia para levar os commits efetuados no Código pelo desenvolvedor até a produção, enquanto para o nível mais baixo, é de um a seis meses.
Tempo de restauração
Quanto tempo em média o seu time leva para fazer um reparo de algum erro que ocorreu na produção? Para os times de alta performance (Elite) temos a média de uma hora para restaurar o sistema corrompido, enquanto os times de baixa performance têm levado cerca de semanas ou até meses.
Taxa de falha de mudança
Qual é a porcentagem de erros por releases em produção? Por mais que o seu time faça entregas com uma velocidade alta, é importante estar atento à taxa de falhas ao decorrer dessas entregas! Na pesquisa foi identificado que os times de alta performance têm uma taxa entre 0-15%, enquanto os de baixa performance geram cerca de 40-60% de falhas.
Conclusão
Nesse artigo falamos um pouco sobre como mensurar os quatro pilares importantes que o DevOps influencia diretamente. Esses estudos são referentes ao DORA, para mais informações e acesso ao material completo, segue o link: https://cloud.google.com/devops/state-of-devops
É importante identificarmos como anda a maturidade do nosso DevOps e então tomarmos as ações necessárias para melhorá-lo. Atualmente no mercado é possível encontrar ferramentas que ajudam a identificar esses pontos, por meio de KPIs dos dados atingidos pelas ferramentas utilizadas para implementar os princípios do DevOps.
Referência