Este artigo sobre métricas de delivery é uma tradução adaptada de “Beginner’s Guide to Software Delivery Metrics”, escrito por Julian Colina. Por ser um conteúdo de alto valor, acreditamos que pode ser útil também para a comunidade brasileira de Produto. Boa leitura!
O que são métricas de delivery?
Métricas de delivery são indicadores que nos fornecem caminhos quantitativos para medir o progresso e o desempenho de uma equipe.
Elas nos ajudam a entender como é o fluxo de entrega da equipe e o que está atrapalhando. Ou seja, nos fornecem uma ferramenta para iterar/melhorar nossa entrega enquanto nos ajudam a comunicar o progresso a outros stakeholders.
Neste artigo, forneceremos uma estrutura fácil para pensar sobre as métricas de delivery de software e como elas podem ajudar a sua equipe.
Por que as métricas de delivery são úteis?
Quando você pesquisa por “métricas de delivery de Engenharia”, os resultados são preenchidos com a mesma lista incompleta com um “top 10” de métricas confusas.
Felizmente, a Dra. Nicole Forsgren e sua equipe fizeram todo o trabalho pesado e resumiram suas descobertas em um livro chamado Accelerate. É de longe a visão mais abrangente de equipes de Engenharia de alto desempenho, com pesquisas em milhares de empresas.
No Accelerate, a Dra. Forsgren e sua equipe identificaram 4 métricas-chave que são indicadores comprovados de desempenho de entrega de software. Sua pesquisa em milhares de organizações mostrou que, se as equipes de software puderem se destacar na entrega , suas empresas também terão um desempenho melhor .
As empresas com desempenho de elite – nas 4 principais métricas de delivery – não apenas entregaram implantações até 100 vezes mais rápidas e mais frequentes, mas suas empresas apresentaram taxas mais altas de lucratividade, participação de mercado e satisfação do cliente.
Escolhendo as métricas de delivery certas
Há muitas coisas que podemos medir, mas muito poucas coisas que devemos.
Escolher as métricas certas sempre começa com o ‘porquê’. A razão mais importante para usar métricas é estimular a melhoria contínua.
Quer enviar mais rápido? Melhorar a qualidade? Remover ineficiência? As métricas nos dão uma ferramenta para fazer isso.
Em vez de dar tiros no escuro, as métricas nos fornecem uma maneira estratégica de abordar a melhoria. Permitindo-nos experimentar, medir os resultados e melhorar em um ritmo muito mais rápido.
Se quiser um exemplo prático, confira aqui (em inglês) uma ótima história sobre métricas de delivery, contada pelo Vice-presidente de Engenharia da Splice.
No restante do artigo, discutiremos os tipos de métricas de delivery e ajudaremos você a decidir quais métricas são importantes para sua equipe.
Tipos de métricas de delivery: Leading Indicator e Lagging Indicator
Um Leading Indicator é uma medida preditiva. Por exemplo, a porcentagem de erros em um teste é um Leading Indicator de qualidade do produto que está em teste. Esses indicadores são uma boa métrica para prever o resultado, influenciar o comportamento da equipe e, consequentemente, melhorar métricas que conhecemos como Lagging Indicator.
Um Lagging Indicator é uma medida de resultado. Por exemplo, o número de defeitos (bugs) pode ser um lagging indicator, já que os bugs aparecem apenas quando um produto já está em produção. E a % desses bugs acaba resultando na queda da qualidade da entrega de um time. Ou seja, os lagging indicator são usados para avaliar a integridade da equipe e identificar problemas de grande escala.
Lagging indicators: North Star Metrics
Métricas lagging podem ser bons North Star Metric para alinhar suas equipes.
Os Lagging Indicators devem sempre encontrar um equilíbrio. Você nunca quer sacrificar um pelo outro, por isso é importante que esses Lagging Indicators (ou North Star Metrics) nos permitam definir um equilíbrio do que queremos alcançar.
Exemplos de Lagging Indicators
Os 4 exemplos abaixo fornecem uma visão abrangente de velocidade, throughput (rendimento), qualidade e estabilidade.
- Velocidade: Cycle Time é o tempo desde a primeira solicitação até a conclusão de uma tarefa. Isso nos ajuda a entender a rapidez com que as mudanças estão sendo concluídas;
- Throughput (rendimento): uma métrica comumente usada é Deployment Frequency , ou seja, a frequência de implantações em produção;
- Qualidade: outra métrica comum é Change Failure Rate (ou taxa de erro em deploy) que é a porcentagem de implantações que exigem correções subsequentes (hotfixes, bugs, etc.). Isso nos ajuda a entender a qualidade das implantações feitas;
- Estabilidade: Mean Time to Recover é o tempo médio que leva para restaurar o serviço. Isso nos ajuda a entender a estabilidade do nosso sistema e a rapidez com que nos recuperamos do tempo de inatividade.
Leading Indicators: métricas de influência
Leading Indicators nos ajudam a influenciar os resultados (ou Lagging Indicators).
Você pode pensar nisso como um hábito necessário. Assim como comer vegetais (Leading Indicator) nos ajuda a obter uma saúde melhor (Lagging Indicator), os indicadores principais nos ajudam a influenciar nossas metas de alto nível.
Nunca use indicadores principais sozinhos, pois isso pode levar a um comportamento incorreto.
Exemplo: usar apenas a % de testes por tarefa incentiva a equipe a criar muitos testes, mas não garante necessariamente a qualidade. O objetivo não é apenas ter 100% de segurança no funcionamento do código, mas também melhorar os indicadores de atraso (por exemplo, bugs) e permitir que as equipes implantem rapidamente, com confiança (frequência de implantação).
Exemplos de Leading Indicators
Embora esta não seja uma lista exaustiva, essas são as Leading Indicators mais eficazes que identificamos depois de trabalhar com mais de 200 líderes de Engenharia.
Review Time: o tempo de revisão é o tempo que leva, em média, para revisar uma solicitação. A redução do tempo de revisão permite que as equipes aumentem a velocidade de iteração, o feedback sobre os recursos e – já que as solicitações inevitavelmente se tornam menores – versões de maior qualidade;
Rework Time: o tempo de retrabalho é o tempo gasto reescrevendo o código durante a revisão. A redução do tempo de retrabalho permite que as equipes aumentem a velocidade e reduzam o desperdício – já que as equipes colocam mais foco no design e na qualidade durante o processo de desenvolvimento;
Work in Progress: essa métrica representa a quantidade de projetos simultâneos ativos por desenvolvedor. A redução do trabalho em andamento permite que as equipes aumentem a velocidade e reduzam o custo da troca de contexto – resultando em implantações mais rápidas e de maior qualidade;
Batch Size (tamanho da tarefa): representa o “tamanho médio” do trabalho concluído. A redução dessa proporção permite que as equipes aumentem a velocidade, reduzam o custo de erros e implementem com mais frequência.
Como usar as métricas de delivery
Métricas de delivery ajudam a criar uma cultura de melhoria. Elas nos fornecem uma ferramenta para testar, experimentar e progredir em direção a uma entrega melhor e mais rápida.
1. Defina a North Star Metrics
Decida quais métricas são importantes para você. Lembre-se de selecionar apenas as métricas que sua equipe pode controlar (ou seja, métricas de delivery) e limite-se a algumas métricas-chave para guiar o trabalho e manter o foco.
2. Estabeleça uma base
Comece a medir e acompanhar cada métrica principal. Estabeleça o desempenho de sua equipe nessas métricas para fornecer um ponto de referência sobre melhorias.
3. Identifique oportunidades de melhoria
Sua North Star Metric deve te ajudar a identificar os pontos nos quais sua equipe pode melhorar. Seja velocidade, qualidade, rendimento ou estabilidade – use suas métricas para determinar onde há maior oportunidade de melhoria.
4. Faça melhorias
Invista nas oportunidades que você acabou de identificar, partindo para a execução. Tome medidas concretas e acionáveis para melhorar seus baselines de comparação
5. Avalie os resultados
Observe novamente as suas métricas para ver se suas alterações tiveram um impacto significativo. Se não, reavalie sua abordagem e encontre outras maneiras de melhorar.
6. Repita o processo
Você nunca deve parar de melhorar. Continue este processo para garantir que sua equipe esteja acompanhando seu desempenho. Empresas como Netflix, Google e Amazon implementam melhorias mais de mil vezes por dia e ainda continuam melhorando.
Assim como iteramos nosso produto, devemos iterar o como entregamos. As melhores equipes nunca param de melhorar e as métricas de delivery nos dão uma abordagem científica para melhorar a forma como entregamos.
Evitando armadilhas comuns
Outra questão importante é discutir sobre como evitar os erros do passado.
Apoiado por anos de pesquisa em milhares de equipes, compilamos uma lista de maneiras de evitar o uso indevido de métricas:
Acompanhe equipes, não indivíduos
Construir software é um trabalho em equipe. Suas métricas devem refletir isso. Devemos procurar melhorar o desempenho da equipe em vez de avaliar engenheiros individualmente. Aderir a essa regra ajudará você a obter a adesão da equipe, assim como a evitar o uso indevido de métricas.
Acompanhe as tendências, não os absolutos
Cada equipe é diferente. Devemos medir a taxa de melhoria no lugar de valores absolutos. Isso nos ajuda a evitar comparações irreais e a otimização excessiva de qualquer métrica específica.
Busque melhorar, mas sem culpar
Foco na melhoria da equipe. De forma alguma as métricas devem ser usadas para apontar culpas ou críticas, mas sim identificar oportunidades de melhoria em toda a equipe. Nunca aponte a culpa para um indivíduo usando métricas.
Equilibre as métricas
Busque sempre um equilíbrio. Você nunca deve se concentrar em uma métrica específica em detrimento de outras. Certifique-se de que existe um balanceamento entre velocidade e qualidade para aproveitar ao máximo suas métricas.
Traga perguntas, não conclusões
Seja curioso. Trabalhe com sua equipe para identificar oportunidades e cocriar soluções. Apresentar soluções sem incluir sua equipe impede que eles assumam o controle de sua melhoria, o que pode levar a um retrabalho.
Conclusão
As métricas de delivery são tão importantes quanto as métricas de produto, negócio, marketing e ux. Mesmo que sejam focadas na entrega e no desempenho do time, elas influenciam diretamente na construção de uma cultura de produto que visa entregar valor ao usuário com eficiência e agilidade. Sendo assim, elas também devem fazer parte da rotina de acompanhamento dos times e lideranças de Produto.
Domine Product Analytics
Quer ir além das métricas com o seu produto? A PM3, escola referência em Produto no Brasil, te convida a conhecer o Curso de Product Analytics. Essa é sua chance de aprender a lidar com todos os tipos de dados de Produto, por meio de aulas aprofundadas com profissionais qualificados e cases reais de empresas brasileiras.
Você vai saber como acompanhar dados de forma eficiente para embasar as suas decisões e gerenciar stakeholders, conquistando mais confiança para sua carreira. E claro, você terá mais segurança para conversar com especialistas, orientando análises cada vez mais direcionadas.
Acesse a ementa completa e confira os tópicos de cada módulo!
Leia também: