A importância das métricas para times ágeis

A importância das métricas para times ágeis

17 de maio de 2020 1 Por Ramos de Souza Janones
Powered by Rock Convert

Este artigo apresenta A importância das métricas para times ágeis, para melhoramento contínuo de entregas de software com qualidade.

Pontos Principais

  • A filosofia de melhoria contínua é o ponto-chave da agilidade.
  • A melhoria contínua não deveria ser imposta no formato top-down; ao invés disso, deve ser conduzida pelas próprias equipes ágeis. Dessa forma, o autoaperfeiçoamento seria o mais apropriado.
  • Evidências mostram que equipes ágeis que praticam o autoaperfeiçoamento trabalham melhor do que equipes ágeis que simplesmente focam nas prioridades de entrega imediata.
  • O autoaperfeiçoamento efetivo e sustentável é difícil e requer patrocínio formal da liderança tecnológica na forma de reconhecimento e uma estrutura adequada para gerenciar o processo no longo prazo. Além disso, é crucial que um conjunto de métricas ágeis significativas e acordadas suportem o processo de autoaperfeiçoamento, além de acompanhar a melhoria do desempenho ao longo do tempo, além de prover um meio de expor essas métricas em tempo real (ou quase), com mínimo ou nenhum esforço necessário das próprias equipes.

A importância das métricas para os times ágeis

Temos a sorte de ter a oportunidade de trabalhar com uma grande variedade de times, de empresas iniciantes até empresas muito grandes e distribuídas.

Embora as definições de “excelência em engenharia” variem nesses diferentes contextos, todas as equipes almejam isso, além de compartilharem o amplo desafio de precisar equilibrar o “trabalho diário”, fornecendo resultados de alta qualidade e alto valor contra o desejo de melhorar continuamente.

De forma intrínseca, a melhoria contínua exige métricas para medir seu progresso, que precisa ser equilibrado e significativo, isto é, determinando melhores resultados. Isso cria dois problemas imediatos:

  • Primeiro, as métricas (e, claro, o conceito de medição) são controversos. Qual é o “valor de desempenho” ideal? Existe algo assim?
  • Segundo, a filosofia Ágil se baseia em times descentralizados, capacitados e autogerenciáveis, que são contrários ao conceito de medição top-down.

Em ambientes ágeis saudáveis e maduros, consideramos a melhoria contínua um processo essencial. Portanto, as métricas para sustentar esse processo também são vitais. No entanto, a melhoria contínua deve ser de propriedade dos times além de também ser dirigida por eles, para que se tornem autoaperfeiçoadas. Portanto, os programas de melhoria contínua tornam-se programas de autoaperfeiçoamento.

Este artigo se concentra em como as equipes podem implementar um programa de autoaperfeiçoamento comprovadamente eficaz, mesmo nos ambientes ágeis de movimentação mais rápida ou com recursos limitados, para que continuem autogerenciados, agreguem valor rapidamente e continuem melhorando ao mesmo tempo.

O tamanho do prêmio

O conceito de melhoria contínua existe há muito tempo. A forma mais famosa talvez tenha sido aplicada no contexto de negócios no Japão e se popularizou com o livro “Kaizen: a chave do sucesso competitivo do Japão”, de Masaaki Imai, de 1986.

O princípio de melhoria contínua é complementar aos princípios da metodologia ágil. De fato, o Manifesto Ágil afirma que:

Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz, depois refina e ajusta seu comportamento.

Existem dois temas principais aqui – primeiro, a melhoria contínua e, segundo, a melhoria contínua que conduzida pelas próprias equipes, ou seja, o autoaperfeiçoamento. Isso levanta a questão sobre qual o papel da liderança nesse processo.

Algumas evidências mostram que o tamanho do prêmio é muito significativo. Programas de autoaperfeiçoamento bem implementados podem oferecer melhorias significativas que são sustentadas por métricas que delineam seu “tempo de valorização” (TTV), por exemplo:

  • 10%+ melhoria na velocidade
  • 10%+ melhorias na eficiência do fluxo
  • Redução de 15% nas taxas de retorno e no tempo gasto em reformulação de ordens de serviço (retornado do controle de qualidade)
  • 30%+ melhoria na precisão de conclusão do sprint (Scrum Ágil)
  • Aumento da colaboração e o bem-estar da equipe

Entretanto, alcançar esses objetivos é difícil e requer esforço e apoio. A liderança tecnológica precisa fornecer às equipes as ferramentas e incentivos para possuir e dirigir o processo de autoaperfeiçoamento. Sem suporte constante, muitas equipes não terão tempo ou força para impulsionar o próprio aprimoramento enquanto se esforçam para atingir os objetivos de entrega a curto prazo.

LEIA TAMBÉM:  O Kanban é o novo Scrum?

Ferramentas necessárias para o aprimoramento da equipe Ágil

O princípio do autoaperfeiçoamento pela equipe é simples e poderoso, mas muito difícil de ser entregue com eficácia, por isso requer quatro coisas importantes:

  1. Compromisso de longo prazo e suporte da liderança e das próprias equipes. Isso requer esforço e recursos em longos períodos para realizar melhorias iterativas.
  2. Conjunto de métricas objetivas e acordadas para rastrear o progresso, garantindo que sejam realmente as corretas, ou seja, determinísticas do resultado desejado.
  3. Meios para as equipes rastrearem facilmente as métricas e definirem metas calibradas com base em benchmarks internos e externos.
  4. Um processo incorporado nas equipes para fazer as alterações necessárias. Celebrar o sucesso e seguir em frente.

As equipes ágeis normalmente estão ocupadas e com recursos limitados. Como resultado, a intenção de sempre melhorar, de maneira estruturada e visível, é geralmente prejudicado pela pressão do dia a dia, atendendo às crescentes demandas dos negócios.

Em nossa experiência, o sucesso do autoaperfeiçoamento exige coordenação e administração da equipe de liderança em tecnologia, enquanto capacita as equipes a possuir e dirigir as atividades que resultam em melhorias incrementais. Portanto, isso precisa estar na forma de um programa de aperfeiçoamento estruturado, de longo prazo e bem implementado.

Implementando um programa eficaz de autoaperfeiçoamento

O autoaperfeiçoamento precisa de um compromisso sério do time de liderança para fornecer aos times as ferramentas necessárias para o aprimoramento pessoal.

Isso não será possível se a organização não possuir as ferramentas de Business Intelligence para fornecer as métricas e relatórios necessários durante todo o ciclo de vida da entrega. Primeiro, os relatórios encontrados nas ferramentas comuns de gerenciamento de fluxo de trabalho, como o Jira, não são otimizados para fornecer o nível de relatório que muitas equipes exigem para um programa de autoaperfeiçoamento eficaz. Em segundo lugar, as equipes usam várias ferramentas ao longo do ciclo de entrega, o que geralmente resulta em dados existentes em silos e não integrados para refletir uma visão completa da entrega de ponta a ponta.

As equipes devem procurar ferramentas de Business Intelligence que abordem esses desafios. As ferramentas certas fornecerão às equipes de produtos e de engenharia, métricas e relatórios significativos em torno dos quais serão construídos programas robustos de autoaperfeiçoamento.

Métricas para o autoaperfeiçoamento

Conforme mencionado na introdução, selecionar e concordar com métricas geralmente é o problema mais controverso. Muitos programas falham simplesmente porque as equipes não concordam com conjuntos significativos de métricas ou objetivos.

Por sua natureza, o modelo ágil incentiva uma infinidade de diferentes metodologias e fluxos de trabalho que variam de acordo com a equipe e a empresa. No entanto, isso não significa que é impossível chegar a um consenso sobre as métricas que serão utilizadas.

Acreditamos que o truque é manter as métricas simples e determinísticas. Métricas complexas serão comumente motivos de desentendimento e podem ser difíceis de medir consistentemente, o que pode levar à desconfiança. E as métricas determinísticas são fundamentais, pois melhorá-las trará um resultado melhor.

Como exemplo, podemos medir os tempos de entrega como um proxy geral do tempo para obter valor, mas o tempo de entrega é uma medida de resultado. Também é importante medir o que impulsiona e determina os tempos de entrega, alavancas que as equipes podem gerenciar ativamente para promover melhorias na métrica abrangente (por exemplo, métricas determinantes como Flow Efficiency).

Como vender Software - Seja desktop, web ou MobilePowered by Rock Convert

As métricas determinísticas que defendemos são projetadas para sustentar o autoaperfeiçoamento da equipe, a fim de melhorar constantemente a eficácia da engenharia ágil.

LEIA TAMBÉM:  C# - O que é Hashcode e qual sua finalidade?

As métricas determinantes são agrupadas em seis áreas principais:

  1. O facilitador principal, com as melhores práticas e uso de ferramentas.

Usar ferramentas como o Jira pode ser um retrocesso, pois os dados podem ser inconsistentes, perdendo relevância para o contexto.

No entanto, existem algumas formas simples de organização do trabalho, que podem ser medidas e melhoram muito a qualidade dos dados.

Além de focar nas métricas de “higiene” das melhores práticas, as equipes podem desenvolver as iniciativas de autoaperfeiçoamento em torno de cinco conjuntos de métricas determinantes adicionais.

  1. Organização por Sprint e entrega consistente de objetivos de Sprint (Scrum Ágil);
  2. Proporção de tempo gasto/velocidade/eficiência ao escrever novas funcionalidades (codificação produtiva);
  3. Taxas de qualidade e falha, portanto também os itens seguintes;
  4. Proporção de tempo gasto/eficiência na correção e retrabalho de bugs; e,
  5. Trabalho em equipe, bem-estar da equipe e capacidade de colaborar efetivamente.

Acreditamos que essas áreas são algumas das métricas mais comuns e significativas em torno das quais uma equipe pode criar um programa eficaz de autoaperfeiçoamento:

Em nossa experiência, um programa Ágil de autoaperfeiçoamento altamente eficaz pode ser construído em torno desse conjunto de métricas. Descobrimos também que ter uma visão integrada do ciclo de entrega total através das ferramentas certas em uma única visualização, sustentada por essas métricas principais, revela as principais áreas que podem ser otimizadas, ou seja, os resultados mais baixos que podem melhorar substancialmente seu valor.

Métricas de autoaperfeiçoamento Métrica Comentários
Objetivos gerais das métricas de autoaperfeiçoamento Tempo de lead, Tempo de Ciclo (Lead time, Cycle time) Boas medidas de Tempo de Valor geral.
Métricas determinantes:
Melhores prática e ferramenta para utilizar Velocidade dos tickets (%) Tickets que foram movidos entre diversos status (no Jira por exemplo) após o evento (para que não haja visibilidade real dos estágios do fluxo de trabalho).
Precisão do sincronismo Porcentagem de conclusão da Sprint (%) Porcentagem de pontos de história completos para uma determinada Sprint(s). Este fator considera pontos de história adicionados depois que um Sprint é iniciado.
Produtividade Eficiência do fluxo (%) Porcentagem de tempo gasto (ativo vs inativo) em um fluxo de trabalho.
Taxa de retorno (%) Porcentagem de tickets retornados do QA (por qualquer motivo) durante o processo de desenvolvimento. Retrabalho.
% tempo para correção de bug Porcentagem de tempo que uma equipe gasta na correção de bugs vs contribuição para funcionalidades.
Bem-estar da equipe Felicidade, Espírito de equipe, Eficácia da Sprint, Avaliações Engenheiros individuais fizeram entrevistas a cada Sprint/ciclo na Plandek usando uma integração do Slack.

As métricas devem estar disponíveis quase em tempo real para as equipes, com o mínimo de esforço possível. Se as equipes precisarem coletar os dados manualmente, a iniciativa geral provavelmente falhará.

Um exemplo de dashboard de autoaperfeiçoamento

blank

Quando todos os membros da equipe têm uma visão das métricas às quais se inscreveram em tempo real, se tornam uma parte central dos levantamentos diários e revisam as avaliações.

O objetivo não é comparar essas métricas entre as equipes, mas sim acompanhar a melhoria ao longo do tempo dentro da própria equipe. As equipes de liderança precisam permanecer focadas nos resultados, enquanto habilitam e capacitam as equipes para identificar e fazer melhorias incrementais que irão melhorar estes resultados.

Executando o programa de autoaperfeiçoamento

É improvável que o programa de autoaperfeiçoamento ocorra de forma consistente e sustentável entre as equipes se não houver uma liderança comprometida. O programa precisa ser formalmente estabelecido em um ciclo mensal com definição de metas, implementação, revisão e celebração do sucesso.

Líderes de equipe e Scrum Masters precisam encontrar o equilíbrio certo entre patrocinar, enquadrar e orientar o programa, dando às equipes o tempo e o espaço de que precisam para realizar as melhorias.

LEIA TAMBÉM:  Sucesso Apps – Parte 3 - Além dos Apps

O autoaperfeiçoamento é projetado para ser um processo positivo e motivador, além disso, é vital que seja percebido como tal. Um elemento-chave para isso é lembrar de celebrar o sucesso. É fácil “gamificar” o autoaperfeiçoamento e encontrar oportunidades para reconhecer e premiar as equipes mais aprimoradas, os líderes de competência, os centros de excelência e assim por diante.

Configuração do objetivo

Normalmente, surgem perguntas em torno da definição de metas e da concordância com o sucesso. Algumas organizações optam apenas por acompanhar a melhoria de equipes individuais ao longo do tempo e deliberadamente não fazem comparações entre equipes. Outros ainda acham os benchmarks úteis e os dividem em três categorias:

  1. Benchmarks internos; por exemplo, medidas tomadas nas equipes ágeis e centros de excelência mais maduros da organização.
  2. Benchmarks de concorrentes/comparadores externos; algumas ferramentas fornecem referências anonimizadas para todas as métricas vindas de organizações semelhantes.
  3. Benchmarks de melhores práticas ágeis; são muitas vezes difíceis de alcançar, mas são alvos óbvios à medida que o programa de autoaperfeiçoamento se desenvolve.

O líder/patrocinador do programa pode ver o progresso em relação a esses benchmarks e analisar a duração do programa para visualizar a taxa de melhoria correspondente.

Em resumo:

  • A filosofia da melhoria contínua é o ponto chave do método ágil. O Manifesto Ágil afirma que:

A intervalos regulares, a equipe reflete sobre como se tornar mais eficaz, depois refina e ajusta o comportamento.

  • A melhoria contínua não deve ser imposta e conduzida no formato top-down, mas sim liderada por equipes ágeis, de modo que o autoaperfeiçoamento é a terminologia mais adequada.
  • Evidências mostram que equipes ágeis de engenharia que praticam o autoaperfeiçoamento trabalham melhor do que as equipes ágeis que simplesmente focam nas prioridades de entrega imediata.
  • Entretanto, o autoaperfeiçoamento efetivo e sustentável é difícil, requerendo:
  1. Patrocínio formal da liderança tecnológica na forma de reconhecimento de uma estrutura adequada para gerenciar o processo de longo prazo;
  2. Um conjunto de métricas ágeis significativas e acordadas que sustentam o processo de autoaperfeiçoamento e acompanham a melhoria do desempenho ao longo do tempo;
  3. Um meio de expor essas métricas em tempo real, com o mínimo ou nenhum esforço envolvido para as próprias equipes.
Powered by Rock Convert
Siga os bons!
Últimos posts por Ramos de Souza Janones (exibir todos)
vote
Article Rating