É quase impossível para as equipes de engenharia identificarem seus tempos de ciclo, gargalos e esforços de melhoria contínua sem medir e identificar seus sucessos e falhas. Você pode alcançar a melhoria contínua apenas habilitando uma cultura de aprendizado e removendo gargalos enquanto identifica áreas para melhoria.
As métricas atuam como orientação para os engenheiros, dando-lhes uma ideia do que precisam se esforçar e melhorar. É por isso que você precisa de um programa de métricas de engenharia. Eles fornecem uma medida quantificável dos principais indicadores de desempenho (KPIs) que você pode usar para medir o crescimento e o sucesso ao longo do tempo. Alguns exemplos importantes de métricas são tempo de espera, tempo para revisão do código, tempo para fusão e tempo de compromisso para implantação.
Recentemente, houve uma discução sobre programas de métricas e melhoria contínua com algumas das principais mentes da engenharia de software: Charity Majors , fundadora e CTO da Honeycomb.io; Dana Lawson , vice-presidente de engenharia do GitHub; e Kathryn Koehler , diretora de engenharia de produtividade da Netflix. (Você pode assistir a toda a discussão aqui (inglês) .)
Eles compartilharam conselhos sobre como criar melhoria contínua em organizações de engenharia e discutiram maneiras de criar e usar um programa de métricas de engenharia com métricas de experiências pessoais e estruturas de melhoria. Aqui estão as principais conclusões.
A metodologia SPACE: uma boa maneira de prever a produtividade do desenvolvedor
O SPACE Framework é um programa de métricas de engenharia que está atualmente causando impacto na indústria. Desenvolvido por Nicole Forsgren , Margaret-Anne Storey , Chandra Maddila , Thomas Zimmermann , Brian Houck e Jenna Butler , esta estrutura se concentra na ideia de que definir, medir e prever a atividade do desenvolvedor pode levar a uma entrega de software mais segura e rápida.
SPACE, que significa s atisfação e bem-estar, p erformance, um ctivity, c omunicação e colaboração e e fficiency e fluxo, permite-lhe compreender suas equipes e como eles estão fazendo. Embora essa metodologia ainda esteja em seus primeiros dias, Netflix, GitHub e outros já a estão implementando em suas equipes de desenvolvimento.
Koehler, da Netflix, explicou a chave para o sucesso ao adotar um sistema métrico: “Não existe métrica unicórnio para ninguém. Pessoas que estão no nível de graduação de produtividade medem a atividade e pensam, ‘Oh, linhas de código, extremidades nos assentos, implantação hoje.’ É isso que você pode imaginar e é isso que produtividade significa. Mas a metodologia SPACE realmente gira em torno de bem-estar e satisfação. ”
A chave para a metodologia SPACE é a compreensão de que produtividade e satisfação estão intrinsecamente conectadas, e você pode ver isso refletido em outras metodologias também.
O modelo de pesquisa e avaliação DevOps: o precursor do SPACE
O modelo DevOps Research and Assessment (DORA), que precedeu o SPACE Framework, permite medir o desempenho de entrega de software e compará-lo com o resto do setor. Ao desenvolver o modelo, a equipe da DORA identificou quatro métricas principais de desempenho : frequência de implantação, tempo médio de execução para alterações, taxa de falha de alteração e tempo de recuperação.
Com qualquer programa de métricas, a coisa mais importante a lembrar é que cada ponto de dados e métrica será exclusivo para sua organização.
“As métricas da DORA são uma boa base para começar a entender sua organização”, disse Lawson do GitHub. “Mas, como acontece com qualquer análise, é uma armadilha apenas olhar para a atividade. É uma armadilha ler isso no vácuo. Não vai lhe mostrar o quadro completo do que está acontecendo. Existem tantas variáveis diferentes, e as variáveis serão exclusivas da equipe que está realmente trabalhando. Porque você pode ter uma empresa com a escala do GitHub ou Netflix ou Honeycomb, e você tem todas essas pequenas unidades, e seus engenheiros de dados podem ter um tempo de ciclo diferente, e isso é totalmente bom. ”
Deve haver um quinto componente do DORA e, em caso afirmativo, qual seria? A resposta retumbante foi sim, e deve se concentrar em proteger os níveis de estresse de seus desenvolvedores e suas horas fora do escritório.
Use dados e métricas para ajudar a evitar o esgotamento
Os programas de métricas de engenharia, como SPACE e DORA, não apenas fornecem uma compreensão básica de como sua organização está realizando e onde você pode melhorar, mas – o mais importante – eles fornecem a suas equipes de desenvolvimento um ponto de partida para metas e objetivos. Cada métrica será exclusiva para o seu ciclo de vida de entrega de software.
Como a saúde mental não deve ser ignorada, você também pode usar métricas para garantir que seus desenvolvedores não estejam sobrecarregados. De acordo com Majors do Honeycomb.io, “As pessoas se sentem responsáveis pelas coisas que construíram porque, por padrão, nos preocupamos com o que construímos”. Mas com o tempo, puxar os desenvolvedores de volta ao trabalho durante as horas de folga pode se acumular e levar ao esgotamento, tornando as métricas e os dados essenciais para o tempo gasto em cada tarefa e priorizando o que é mais importante.
A implementação bem-sucedida de um programa de métricas também significa que você não classifica as pessoas com base nas métricas, mas apenas garante que elas estejam cientes delas.
Como disse Koehler, “Infelizmente, o que é avaliado é gamificado, por isso é importante reforçar com as pessoas que essa é uma ferramenta para você saber onde está investindo e como está melhorando. Não estou olhando para ajustar a sua compensação. ”
Os dados estão no centro de suas práticas de melhoria contínua?
Um programa de métricas de engenharia é importante não apenas para sua equipe de gerenciamento, mas também para suas equipes de desenvolvimento. Os dados ajudam o gerenciamento a rastrear o desempenho e o progresso na organização, ao mesmo tempo que permite que os engenheiros se concentrem nas tarefas importantes e os orienta para as métricas pelas quais devem se esforçar.
O bem-estar de seus engenheiros é de extrema importância. Um programa de métricas de engenharia bem-sucedido leva em consideração a carga de trabalho de seus engenheiros, o tempo médio entre as interrupções e muito mais. Portanto, esteja atento às obrigações de seus engenheiros e proteja o tempo deles no trabalho – e fora do trabalho.
Voce pode querer ver este artigo também:
Um comentário sobre “Métricas de melhoria contínua: 6 Lições para equipes de software”