Se você já tirou um tempo para pesquisar a melhor maneira de medir eficiência e produtividade em suas squads, certamente cruzou com as DORA Metrics.
LEIA TAMBÉM: Guia de avaliação: Alinhamento da equipe de Produto com a estratégia do negócio
Neste texto, iremos abordar os conceitos básicos do DORA Metrics e como ele pode ajudar a determinar se uma equipe de engenharia é realmente eficiente e produtiva. Bora lá?
O que é e como surgiram as DORA Metrics?
As DORA Metrics são um conjunto de métricas que tem como objetivo medir o desempenho de equipes de engenharia de software em ambientes de desenvolvimento ágil e DevOps. Em resumo, essa abordagem é baseada em dados mais efetivos e consegue avaliar, de maneira objetiva e fundamentada, a alta performance das squads.
As métricas surgiram a partir do trabalho da DORA (DevOps Research and Assessment), uma organização que foi fundada em 2014 pelos pesquisadores acadêmicos Nicole Forsgren, Jez Humble e Gene Kim. Em 2018, chamou a atenção do Google, que adquiriu a organização e incorporou suas pesquisas e métricas em sua plataforma Cloud.
O objetivo da instituição é conduzir pesquisas e avaliações em empresas de desenvolvimento de software para identificar as práticas mais eficazes e as métricas-chave para avaliar o desempenho das equipes.
O estudo “State of DevOps Report”, resultado das pesquisas da DORA, é amplamente utilizado no mundo todo e se tornou uma referência no setor. Com mais de 30.000 participantes desde sua criação, oferece insights valiosos para aprimorar processos de desenvolvimento de software e operações.
A pesquisa DORA se baseia em quatro métricas principais, que estão divididas em velocidade e estabilidade, para avaliar o desempenho das equipes de engenharia no desenvolvimento de software.
Lembre-se que, embora essas métricas sejam úteis, elas não devem ser tratadas como o objetivo principal. O foco deve sempre estar sempre na construção do software de qualidade – de forma eficiente e útil para os usuários – além de gerar valor para o negócio, é claro. Dito isso, vamos aprofundar nas métricas que vão servir de suporte em toda a jornada de construção de produtos digitais.
Métricas de velocidade
Deploy Frequency (frequência de implantação): mede com que frequência uma equipe realiza implantações de código em produção. Uma alta frequência de implantação pode indicar que a equipe é capaz de entregar valor aos usuários de forma contínua e rápida, respondendo às demandas do mercado e ajustando o software de acordo com as necessidades dos usuários.
A pesquisa DORA classifica Deployment Frequency em três categorias: Baixa performance: equipes que realizam implantações entre 1x por semestre a 1x por mês. Essas podem enfrentar desafios no processo de entrega, como: integração inadequada, falta de automação ou ineficiências na comunicação entre desenvolvimento e operações.
Média performance: equipes que implantam código entre 1x por mês até 1x por semana, o que significa que estão em um estágio intermediário e podem melhorar ainda mais seus processos e práticas para aumentar a velocidade de entrega.
Alta performance: equipes que realizam implantações diárias ou até várias vezes por dia. Essas equipes, geralmente, possuem processos e práticas bem estabelecidos, como: automação de testes e implantação contínua, o que lhes permite entregar novas funcionalidades e correções de forma rápida e eficiente.
Lead Time for Changes (tempo de espera para mudanças), que mede o tempo que leva desde o momento em que uma mudança no código é feita até a sua implantação bem-sucedida em produção. Um menor lead time pode indicar que a equipe é capaz de entregar novas funcionalidades ou correções de forma ágil e eficiente, respondendo rapidamente às mudanças do mercado e às necessidades dos usuários.
A pesquisa DORA também classifica Lead Time for Changes em três categorias:
Baixa performance: equipes com um lead time entre um e seis meses. Essas equipes podem enfrentar problemas no processo de entrega, como: testes manuais demorados, falta de automação e comunicação inadequada entre os times de desenvolvimento e operações.
Média performance: equipes com lead time entre uma semana e um mês, o que significa que estão em um estágio intermediário e podem se beneficiar de melhorias nos processos e práticas para acelerar ainda mais a entrega de mudanças.
Alta performance: equipes com um lead time menor que um dia. Essas, geralmente, têm processos e práticas bem estabelecidos, como: integração contínua e entrega contínua, o que lhes permite fazer adaptações rápidas e eficazes às mudanças.
Métricas de estabilidade
Change Failure Rate (taxa de falha de mudanças): essa métrica mede a proporção de implantações que resultam em falhas, como incidentes em produção ou a necessidade de reversão de mudanças. Uma taxa de falha menor pode indicar que a equipe é capaz de gerenciar riscos e manter a qualidade do software durante a implantação de mudanças, o que é fundamental para um squad realmente eficiente.
A pesquisa DORA classifica Change Failure Rate em três categorias:
Baixa performance: equipes com uma taxa de falha de mudanças entre 46% e 60%. Essas equipes podem enfrentar problemas de qualidade e confiabilidade no processo de entrega, o que pode resultar em uma maior proporção de implantações com falhas.
Média performance: equipes com uma taxa de falha de mudanças entre 15% e 45%. Essas estão em um estágio intermediário e podem se beneficiar de melhorias nos processos e práticas para reduzir ainda mais a taxa de falhas de mudanças.
Alta performance: equipes com uma taxa de falha de mudanças entre 0% e 15%. Essas, geralmente, têm processos e práticas bem estabelecidos, como: testes automatizados e monitoramento contínuo, o que lhes permite gerenciar riscos e manter a qualidade e a confiabilidade do software.
Mean Time to Restore (tempo médio para restaurar): ajuda a avaliar a capacidade da equipe de lidar com incidentes e falhas. Essa métrica mede o tempo médio que leva para restaurar o serviço após uma falha, indicando a eficiência da equipe em identificar, diagnosticar e solucionar problemas.
A pesquisa DORA classifica Mean Time to Restore em três categorias:
Baixa performance: equipes com um MTTR entre uma semana e um mês. Essas equipes podem enfrentar desafios na resolução de problemas e incidentes, como: falta de ferramentas adequadas de monitoramento e diagnóstico, ou processos ineficientes para gerenciar incidentes.
Média performance: equipes com um MTTR entre um dia e uma semana. Essas equipes estão em um estágio intermediário e podem se beneficiar de melhorias nos processos e práticas para acelerar ainda mais a restauração do serviço após falhas.
Alta performance: equipes com um MTTR inferior a um dia. Elas, geralmente, têm processos e práticas bem estabelecidos, como monitoramento contínuo e colaboração efetiva entre desenvolvimento e operações, o que lhes permite identificar e resolver problemas rapidamente.
Em resumo, o diferencial das Métricas DORA é que elas não se limitam apenas à velocidade de entrega, mas também abrangem a estabilidade operacional do software ao longo do tempo. Isso garante que a qualidade do software não seja comprometida após a entrega inicial. Além disso, permite que o desempenho do software seja monitorado de perto em termos de estabilidade, confiabilidade e outras métricas de qualidade.