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.