As quatro métricas de engenharia que irão agilizar a entrega de seu software

Equipes produtivas obtêm correções e recursos de produtos rapidamente. Aqui estão as métricas para verificar o desempenho de sua equipe.

Medir o desempenho das equipes de engenharia de software sempre foi vista como uma tarefa complicada e assustadora. Isso é particularmente verdadeiro à medida que o software se torna mais complexo e mais descentralizado. 

 

Para entregar um software melhor, as equipes de engenharia precisam de visibilidade, dados e decisões para melhorar continuamente. Os aplicativos que as equipes de engenharia de software usam para gerenciar seus processos e lançar seu software têm acesso a mais dados do que nunca. As equipes podem usar esses dados para medir seu desempenho - se souberem quais dados refletem com mais precisão o desempenho da equipe.

 

A equipe de DevOps Research and Assessment (DORA) do Google desenvolveu um programa de seis anos para entender o que diferencia as equipes de engenharia de software de alto desempenho das equipes de engenharia de software de baixo desempenho. Eles pesquisaram milhares de equipes em vários setores para medir e compreender as práticas e recursos de DevOps. É a investigação academicamente rigorosa de mais longa duração de seu tipo, fornecendo visibilidade sobre o que impulsiona o alto desempenho na entrega de tecnologia e, em última análise, os resultados organizacionais.

 

A equipe DORA tinha duas hipóteses que eles queriam validar:

 

O desempenho da equipe de engenharia de software pode ser medido de maneira significativa. 

As equipes de engenharia de software de alto desempenho (com base nas medidas que encontraram) podem prever um desempenho organizacional mais amplo. Em termos simples, equipes de alto desempenho agregam alto valor às organizações. 

A DORA descobriu que as organizações de alto desempenho se concentravam em resultados de engenharia em vez de produtos e equipes em vez de indivíduos. A partir da pesquisa, eles identificaram quatro métricas principais que indicam o desempenho de uma equipe de engenharia de software:

 

Frequência de implantação

Tempo médio de mudança

Tempo médio para restaurar

Taxa de falha de mudança

 

Essas métricas fornecem uma abordagem baseada em dados para analisar e melhorar o desempenho com base em pesquisas reais. A DORA usou essas métricas para identificar equipes de elite, alto, médio e baixo desempenho . A pesquisa descobriu que as equipes de elite têm duas vezes mais probabilidade do que as equipes de baixo desempenho de atingir ou superar suas metas de desempenho organizacional.

 

Vamos mergulhar um pouco mais fundo nessas quatro métricas para entender como focar nelas pode ajudar as equipes a entregar software com mais rapidez e eficácia.

 

As métricas de engenharia DORA

 

Em um alto nível, as métricas de engenharia da DORA medem a velocidade de uma equipe de engenharia de software e a estabilidade do software que eles constroem e lançam. Se uma equipe pode melhorar constantemente essas métricas, eles podem lançar software de alta qualidade para os clientes mais rapidamente. 

 

Para cada uma das quatro métricas de engenharia DORA abaixo, vamos cobrir o que é a métrica, como é calculada, por que é importante, como melhorá-la e o valor-alvo para uma equipe de elite.

 

Frequência de implantação

 

A frequência de implantação é a frequência com que uma equipe de engenharia de software implanta o código na produção. Essa importante métrica pode servir como um proxy de quantas vezes uma equipe fornece um novo valor para os clientes. 

 

A entrega contínua e o código de envio, assim como implantações rápidas, pequenas e frequentes, são os principais componentes do DevOps. A frequência de implantação revela a eficiência dos processos de trabalho e liberação de uma equipe. Por exemplo, se a frequência de implantação diminuir, isso pode indicar um problema com um novo fluxo de trabalho. Medir a frequência de implantação pode revelar os impactos mais amplos da mudança na estrutura da equipe, pessoal ou processo. Medir a frequência de implantação junto com outras métricas garante que as mudanças que estão sendo implantadas agreguem valor real para os clientes. 

 

A frequência de implantação geralmente é relatada em implantações por dia. Você pode automatizar essa medição extraindo dados das ferramentas de integração / entrega contínua de sua equipe.

 

Existem algumas práticas que uma equipe de engenharia de software pode adotar para melhorar sua frequência de implantação: 

 

Reduza o tamanho de cada lote de trabalho para que uma equipe possa enviar peças menores de trabalho com mais frequência. Outra vantagem: implantações menos arriscadas que podem ser facilmente rastreadas ou revertidas, caso haja um problema. 

Faça a integração com ferramentas de integração / entrega contínua para melhorar a eficiência de seu processo de liberação. 

Use testes automatizados para aumentar a confiança na qualidade do código e reduzir a necessidade de testes manuais lentos antes de implantar novas mudanças na produção.  

Uma equipe de elite implanta mudanças na produção várias vezes por dia para agregar valor continuamente aos clientes.

 

Tempo médio de mudança

 

O tempo de processamento da mudança (também conhecido como tempo de ciclo) é o tempo que leva desde a confirmação do código até a execução bem-sucedida do código. Ele permite que você acompanhe o ritmo de uma equipe de engenharia de software. Equipes mais rápidas têm processos otimizados e podem colocar novos recursos no mercado com mais rapidez. Essa maior eficiência abre oportunidades para aumentar a receita da organização, melhorar as taxas de renovação de clientes e criar uma equipe feliz e eficiente. Por outro lado, a entrega mais lenta significa desperdício ou ineficiência no processo, causando atrasos para os clientes.

 

Medir o lead time de mudança também ajuda as equipes a identificar gargalos em seu fluxo de trabalho, para que possam otimizar e melhorar.

 

O lead time médio de mudança é calculado rastreando o tempo entre cada confirmação de código para o código sendo entregue na produção e calculando uma média.

 

Quais etapas as equipes de engenharia de software podem realizar para melhorar seu tempo médio de mudança?

 

Integre o teste ao processo de desenvolvimento.

Automatize os testes em vez de manualmente.

Integrar com integração contínua / ferramentas de entrega contínua 

Simplifique o processo de revisão de código para reduzir atrasos.

Uma equipe de elite tem um lead time médio de mudança de apenas uma hora. 

 

Tempo médio para recuperação

 

O tempo médio de recuperação mede a rapidez com que uma equipe de engenharia de software se recupera de uma falha. Uma falha é qualquer coisa que interrompe a qualidade esperada do serviço de produção, desde um novo bug introduzido na implantação até uma infraestrutura de hospedagem que está caindo. O tempo médio de recuperação indica a rapidez com que uma equipe de engenharia de software pode entender e resolver problemas que ocorrem na produção. O tempo de inatividade nunca é bom para os clientes. Um baixo tempo médio de recuperação dá às equipes a confiança de que, se a produção for afetada, ela poderá ser rapidamente restaurada a um estado funcional. 

 

O tempo médio de recuperação é calculado rastreando o tempo médio entre o relato de um bug ou falha de produção e a correção do problema. 

 

Aqui estão algumas maneiras pelas quais uma equipe de engenharia de software pode melhorar seu tempo médio de recuperação:

 

Introduzir ferramentas de monitoramento que relatam rapidamente falhas na produção. 

Implemente um sistema robusto de plantão e documentação de suporte . 

Melhore o tempo de implantação para que os problemas corrigidos possam ser rapidamente liberados para a produção. 

Use sinalizadores de recursos que permitem ligar / desligar recursos em produção com o clique de um botão. Isso pode reduzir o tempo médio de recuperação para segundos.  

Uma equipe de elite tem como objetivo ter um tempo médio de recuperação de menos de uma hora. 

 

Taxa de falha de mudança

 

A taxa de falha de alteração mede a frequência com que uma equipe de engenharia de software libera uma alteração na produção que causa uma falha. Essas são alterações que levam a um bug ou precisam ser revertidas porque não atenderam às expectativas dos clientes. Essa métrica indica a qualidade do software que uma equipe constrói. Corrigir bugs e reverter o código é um exercício caro, pois tira o tempo que poderia ser gasto na construção de novos recursos que agregam valor para os clientes, portanto, uma alta taxa de falha de alteração sugere software de qualidade inferior que frustra os clientes. 

 

A taxa de falha de alteração é calculada como uma porcentagem. É a proporção do número de falhas por número de implantações para produção. 

 

As equipes de engenharia de software podem implementar essas práticas para melhorar sua taxa de falha de mudança:

 

Introduzir ferramentas automatizadas de revisão de código para detectar problemas que as revisões manuais de código não percebem. 

Adicione testes automatizados para todos os novos códigos. 

Execute todos os testes automatizados como parte do processo de lançamento usando ferramentas de integração / entrega contínua.

Apresente retrospectivas de incidentes para que a equipe possa entender o que causou um incidente e trabalhar para garantir que ele não aconteça novamente. 

Uma equipe de elite tem como objetivo ter uma taxa de falha de alteração entre zero e 15%. 

 

Claro, essas não são as únicas métricas que você pode considerar ao avaliar o desempenho de uma equipe de engenharia de software. Muitas outras métricas que você pode rastrear podem fornecer uma visão sobre o desempenho de sua equipe. No entanto, a DORA descobriu que essas quatro métricas eram as mais correlacionadas com o sucesso organizacional mais amplo.

 

Uma palavra de cautela

 

As quatro métricas DORA parecem simples, mas quando usadas incorretamente, podem criar problemas.

 

Cada equipe que usa as métricas de engenharia da DORA existe em seu próprio contexto e seu produto / serviço será diferente de outras equipes. As métricas devem ser usadas para ajudar equipes individuais a melhorar continuamente sua entrega. Um antipadrão está usando as métricas para avaliar suas equipes umas contra as outras. Isso é injusto, porque o contexto e o ponto de partida de cada equipe são diferentes. 

 

Considere todas as quatro métricas juntas, em vez de se concentrar em um subconjunto. As métricas têm como objetivo equilibrar velocidade e qualidade, portanto, concentrar-se em um subconjunto pode levar a um desempenho pior. Por exemplo, uma alta frequência de implantação pode impactar negativamente a qualidade se muitas das mudanças que você está lançando tiverem bugs. 

 

Essas métricas não devem consumir suas equipes, tornando-se as únicas coisas em que elas se concentram. Melhorar as métricas nunca deve ser seu objetivo principal. A lei de Goodhart diz: “Qualquer medida que se torna uma meta deixa de ser uma boa medida.” O objetivo deve ser entregar valor ao cliente de forma constante e eficaz, usando as métricas para refletir o progresso de sua equipe em direção a esse objetivo

 

Por fim, certifique-se de que as métricas de engenharia DORA não se tornem métricas de vaidade que exibem números, mas não fornecem nenhuma pista óbvia sobre a ação a ser executada. Se uma equipe está implantando 100 vezes, o que isso significa? Foram 100 vezes em um dia, uma semana, um ano? Esse número melhorou desde a última medida? Como pode ser melhorado? As outras métricas estão sofrendo? As métricas DORA ajudam as equipes a avaliar e melhorar seu desempenho, mas para que as equipes tomem medidas significativas, elas precisam entender o que as métricas indicam (ou não) no contexto.

 

Pensamentos finais

 

As equipes de engenharia de software estão constantemente procurando maneiras de melhorar seus processos e entrega. Por muitos anos, as equipes careceram de uma maneira objetiva e significativa de medir seu desempenho. A equipe da DORA quer mudar isso focando nas métricas que não apenas indicam o desempenho da equipe, mas também revelam pistas importantes sobre a saúde geral da organização.

 

Como sua equipe se sairia em relação às quatro métricas DORA? O que isso diz sobre a sua organização?


Strong

5178 Blog Mesajları

Yorumlar