Navegando pela excelência na entrega de software com métricas SPACE

Prefere ouvir a ler? Aperte o play e divirta-se

Navegando pela excelência na entrega de software com métricas SPACE
6:14

Equipes produtivas e felizes são boas para os negócios. As equipes de desenvolvimento são um dos investimentos mais caros para a maioria das empresas, e faz sentido garantir que esse investimento seja eficaz. No entanto, a produtividade dos desenvolvedores é difícil de entender, muito menos de gerenciar. As métricas tradicionais para medir a produtividade dos desenvolvedores ignoram a natureza complexa e sutil desse tópico, resultando em simplificações grosseiras e inúteis. Nem é preciso dizer que medidas como linhas de código e pontos de história estão repletas de problemas.

O trabalho realizado pela organização DevOps Research and Assessment (DORA) tem estado na vanguarda de criar uma compreensão mais detalhada, e o trabalho mais recente sobre SPACE avançou ainda mais nesse sentido.

Muito se tem falado sobre as 4 métricas principais da DORA, popularizadas pelo excelente livro "Accelerate" e discutidas em vários artigos por líderes de pensamento da Codurance. Focaremos no SPACE para este artigo.

SPACE: Um Framework para Compreender a Produtividade dos Desenvolvedores

SPACE é um framework proposto em um artigo de Nicole Forsgren da GitHub, Margaret-Anne Storey da Universidade de Victoria, além de Chandra Maddila, Thomas Zimmermann, Brian Houck e Jenna Butler da Microsoft Research. Você pode ler o artigo completo (aqui).

SPACE é um acrônimo que significa Satisfação e bem-estar, Performance, Atividade, Comunicação e colaboração, e Eficiência e fluxo. Cada componente do SPACE é crucial para uma visão abrangente da produtividade, e é importante analisá-los como um todo.

Satisfação e Bem-estar (S)

Este aspecto foca na felicidade, satisfação no trabalho e bem-estar geral dos desenvolvedores. Baseia-se no entendimento de que um desenvolvedor satisfeito e mentalmente saudável é mais produtivo. Pesquisas e feedback são comumente usados para avaliar essa métrica. Métricas comuns de Satisfação e Bem-estar incluem:

  • Pesquisas de satisfação dos funcionários
  • Avaliações de bem-estar (por exemplo, níveis de estresse, equilíbrio entre vida pessoal e profissional)
  • Taxas de retenção e rotatividade
  • Frequência de sintomas de burnout relatados
  • Employee Net Promoter Score (eNPS)
  • Índice de segurança psicológica
  • Pontuações de engajamento de ferramentas internas

Desempenho (P)

Desempenho diz respeito à eficácia e aos resultados do trabalho de desenvolvimento. Isso inclui a qualidade do código, a funcionalidade do software e o quão bem ele atende às necessidades dos usuários. A taxa de falha de mudanças, o tempo para restaurar o serviço e aspectos da frequência de implantação (ou seja, implantações resultando em novos recursos) da DORA se enquadram nesta categoria. Uma lista mais abrangente inclui:

  • Número de funcionalidades implantadas
  • Métricas de qualidade do código (por exemplo, complexidade do código, cobertura de testes automatizados, dívida técnica)
  • Taxas de bugs e tempos de resolução
  • Tempo de atividade e confiabilidade do sistema
  • Tempo de lançamento de novos recursos no mercado
  • Pontuações de satisfação do cliente
  • Desempenho em relação aos indicadores-chave de desempenho (KPIs)

Atividade (A)

Esta métrica analisa o volume e o tipo de atividade realizada pelos desenvolvedores. Métricas de atividade ajudam a entender os padrões de trabalho e a identificar gargalos. A frequência de implantação da DORA, quando rastreia puramente implantações, se enquadra nesta categoria. Outras métricas incluem:

  • Número de commits e pull requests
  • Alteração de código (com que frequência o código é alterado)
  • Volume de atividade de revisão de código
  • Número de tarefas ou histórias concluídas
  • Rastreamento de tempo para diferentes atividades de desenvolvimento
  • Frequência de implantação

Comunicação e Colaboração (C)

Esta parte avalia quão bem os membros da equipe se comunicam e trabalham juntos. Inclui métricas relacionadas a ferramentas de colaboração, frequência e qualidade da comunicação e a eficácia das reuniões da equipe. Boa comunicação e colaboração são vitais para um ambiente de equipe produtivo. Os seguintes itens podem ser usados para avaliar esta área:

  • Número e qualidade das revisões de código.
  • Frequência e eficácia das reuniões da equipe (por exemplo, stand-ups, retrospectivas).
  • Métricas de uso de ferramentas de colaboração (por exemplo, Slack, Teams).
  • Colaborações e dependências entre equipes.
  • Eficiência na gestão de incidentes e problemas.
  • Pontuações de pesquisas internas sobre colaboração da equipe.
  • Tempo para mesclar pull requests.

Eficiência e Fluxo (E)

Eficiência se refere a como os recursos são usados de forma eficaz para atingir os objetivos, enquanto fluxo se refere ao estado de estar profundamente engajado e totalmente focado no trabalho, sem interrupções. Esta parte do SPACE mede aspectos como o tempo gasto em diferentes tarefas, a facilidade de entrar em um estado de fluxo e como o ambiente de trabalho apoia um trabalho eficiente e sem interrupções.

  • Lead time (tempo desde a ideia até a implantação)
  • Cycle time (tempo para completar um item de trabalho)
  • Eficiência do fluxo (tempo de trabalho ativo vs. tempo total)
  • Adesão aos limites de trabalho em progresso
  • Frequência de mudança de contexto
  • Proporção de trabalho planejado vs. não planejado
  • Tempo de inatividade ou tempo perdido devido a problemas no sistema

1000017968

Coletar e analisar essas métricas pode oferecer insights inestimáveis sobre a produtividade e a saúde de uma equipe de desenvolvimento. É importante notar que a relevância e a aplicabilidade dessas métricas podem variar dependendo do tamanho, da estrutura e da natureza do trabalho da organização. Além disso, é necessário uma abordagem equilibrada para garantir que as métricas sejam usadas para apoiar e melhorar a experiência dos desenvolvedores, e não apenas para monitorar o desempenho.

Agende nossa Avaliação da Qualidade de Software para medir o desempenho da sua própria organização usando dados empíricos.