Quatro indicadores para medir a performance de uma organização desenvolvendo software

O problema de estabelecer indicadores ruins é que eles, invariavelmente, vão conduzir as ações do time, causando efeitos colaterais indesejados. Sabendo disso, como identificar se a performance de um time desenvolvendo software está boa ou não?

A recomendação vigente, em conformidade com as práticas de mercado, é que a análise da performance seja feita considerando quatro indicadores:

  1. Delivery lead time
  2. frequência de deploy;
  3. tempo médio de recuperação em falhas (MTTR);
  4. Change fail percentage;

Empresas bem sucedidas desenvolvendo software tem ótimos desempenhos em todos estes indicadores. Um estudo aprofundado sobre isso é apresentado em um excelente livro que recomendamos outro dia.

#1 – Delivery lead time

Lead time é o tempo consumido desde o momento em que um cliente solicita uma mudança no software até o instante em que essa solicitação é plenamente atendida. Trata-se de uma métrica importante para demonstrar a performance organizacional e a excelência global dos processos, entretanto, frequentemente é impactada por setores externos às de engenharia.

Para analisar a performance dos times de engenharia, especificamente, é recomendável decompor o lead time em duas métricas relacionadas:

  1. Design and validation lead time, que começa no momento em que a demanda do cliente é identificada e encerra quando há consenso sobre o design da solução;
  2. Delivery lead time, que inicia quando há uma consenso sobre o que deve ser implementado até que a solução esteja disponível para o cliente.

O delivery lead time é mais fácil de medir e apresenta menor variabilidade.

Quando menor for o delivery lead time maiores serão as interações com os clientes e, consequentemente, mais qualificados serão os feedbacks.

#2 – Frequência de Deploy

Considerando deploy toda modificação de uma aplicação em ambiente produtivo, organizações mais performáticas são aquelas que o efetuam mais frequentemente.

Deploys mais frequentes implicam em menos modificações por ocorrência. Por isso, são mais favoráveis para detecção de causas de falhas e têm impacto menor para o negócio quando um rollback ou hotfix for necessário.

Deploys mais frequentes implicam em menores volumes de modificações (batch size) e, por isso, são mais fáceis de gerenciar em caso de falhas e tem menos impacto para o negócio caso um rollback seja necessário. Além disso, quando implicam em modificações, como em esquemas de bancos de dados, geralmente são mais simples de operacionalizar.

Importante destacar que nem todo deploy implica, necessariamente, em mudanças percebidas pelos usuários. Assim, delivery lead time e a frequência de deploy, embora correlatas, não tem relação causal.

#3 – Tempo médio para recuperação de falhas

A abordagem conservadora de medir o tempo entre incidentes (erros) em produção acaba gerando pressão contrária ao baixos delivery lead times e altas frequências de deploy. Afinal, quanto maiores as modificações em ambientes produtivos, maiores as chances de gerar alguma instabilidade.

Modernamente, mais relevante do que impedir falhas em ambiente produtivos é reduzir seus impactos, geralmente, minimizando o tempo necessário para a recuperação.

Tanto DevOps quanto SRE dão ênfase a reversibilidade dos deploys através da automação. Aliás, essa é a estratégia comum para combater a complexidade (a terceira fonte comum de complexidade é a irreversibilidade).

#4 – Change fail percentage

Uma modificação é considerada falha quando implicar em uma intervenção ativa para ser remediada em ambiente produtivo. Essa intervenção poderá ser, por exemplo, um hotfix ou rollback.

Percentuais elevados de falhas em mudanças geralmente apontam para problemas no processo de desenvolvimento, como cobertura inadequada de testes; diferenças acentuadas entre ambientes produtivos, homologação e desenvolvimento ou; problemas de gestão do ambiente produtivo.

Fortes quando isolados, imbatíveis quando combinados

Os quatro indicadores apresentados aqui, isoladamente, conduzem a melhorias dos processos de desenvolvimento de software e melhoram a performance. Entretanto, combinados, se reforçam mutuamente e compensam eventuais exageros.

Empresas com culturas generativas, utilizam esses quatro indicadores de maneira combinada para terem segurança de acelerarem entregas e maximizar a geração de valor. Assumindo que a mudança da cultura começa pela mudança de comportamento, adotar esses quatro indicadores ajuda as organizações a desenvolverem cultura apropriada.

Lideranças técnicas mais competentes, primeiro observam esses indicadores e, depois, estabelecem metas consistentes para eles impulsionando o aperfeiçoamento de resultados – direcionando de forma positiva a atuação da gestão.

Em Resumo
  • O problema

    Como medir a performance de um time que desenvolve software, sabendo que estabelecer indicadores ruins, invariavelmente, conduz ações do time que causam efeitos colaterais indesejados?
  • O insight

    Modernamente, medições de performance acontecem pelo composto 1) delivery lead time; 2) frequência de deploy; 3) tempo médio para recuperação de falhas e; 4) change percentage fail. Isoladamente, esses indicadores conduzem a melhorias dos processos de desenvolvimento de software e melhoram a performance. Entretanto, combinados, se reforçam mutuamente e compensam eventuais exageros.
  • Os benefícios

    Se bem observados, os indicadores que recomendamos aqui conduzem para ações que melhoram a performance de times que desenvolvem software. Assumindo que a mudança da cultura começa pela mudança de comportamento, adotar esses quatro indicadores ajuda as organizações a desenvolverem cultura apropriada.

Elemar Júnior

Microsoft Regional Director e Microsoft MVP. Atua, há mais de duas décadas, desenvolvendo software e negócios digitais de classe mundial. Teve o privilégio de ajudar a mudar a forma como o Brasil vende, projeta e produz móveis através de software. Hoje, seus interesses técnicos são arquiteturas escaláveis. bancos de dados e ferramentas de integração. Além disso, é fascinado por estratégia e organizações exponenciais.

Talvez você goste também

Carregando posts…

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *