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
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.