Neste post irei explicar um pouco sobre o processo The Bug Hunter que criei para ajudar na qualidade do produto entregue ao cliente. Vamos tratar sobre o modelo e algumas boas práticas, mas antes quero deixar claro os resultados obtidos em uma equipe!

Motivação e Resultados:

Em um cenário onde não se possui uma equipe de testes, na reta final da entrega de um projeto, rodamos o processo e tivemos como resultados alguns números interessantes.
  • Em uma semana de competição foram identificados 25 bugs;
  • Dos 25 listados foram corrigidos durante a competição 21 bugs;
  • Os bugs foram encontrados e corrigidos, também, por membros que não faziam parte do time de desenvolvimento do projeto e estavam alocados para outras entregas, que no seu tempo livre participavam da competição;
  • A diferença do primeiro para o segundo colocado foi de apenas 3 pontos, sendo que o segundo colocado fazia parte de outro projeto;
  • O time se integrou e os competidores passaram a olhar com mais detalhes o projeto. O time ficou motivado e não tratou do desafio como trabalho, mas como um jogo que era divertido jogar.
  • A integração do time só ocorreu de fato quando o gestor da área resolveu participar e começou a pontuar. Quando foi disparado o e-mail para o setor com a pontuação do gestor o time reagiu. Este foi um fator chave para o sucesso da competição e neste ponto podemos parar na seguinte reflexão:
Quando um líder quer que seus liderados façam algo. O líder vai lá e faz primeiro, desta forma seus liderados o seguirão, não por uma ordem, mas por um exemplo.

O que é o The Bug Hunter?

Como o nome em si sugere trata-se de um processo que deve ser encarado como uma competição, onde o vencedor é aquele que mais encontra e corrige bugs de um determinado projeto. A ideia é simples e os resultados também.

Em que tipo de equipe é viável rodar este processo?

Você pode ter sua equipe organizada em um "Testers Team", um time responsável por verificar todas as atividades previstas do desenvolvimento do seu projeto, ou simplesmente não possuir essa estrutura e rodar o modelo com seu time padrão multitarefa e multidisciplinar, isso não irá importar pois a questão além de tudo é motivacional e você poderá extrair resultados satisfatórios em ambos os casos.

Em que fase do meu projeto devo aplicar o The Bug Hunter?

Inicialmente você deve analisar como estão sendo feitas suas entregas junto ao cliente. Se você está trabalhando de forma incremental como entregas parciais cabe então para cada uma dessas fases a aplicação da competição. É interessante realizar a competição com o prazo de 1 semana para a entrega do produto completo ou modulo.

Quem deve participar do The Bug Hunter?

A beleza do jogo está em abrir a competição para todo o setor, independente de ser desenvolvedor da linguagem dominante do projeto ou de fazer parte do time de desenvolvimento, alias conseguir o envolvimento daqueles que não fazem parte do time que está codificando é o grande trunfo da integração entre todos para a competição.

Como faço para o time avaliar o projeto?

O ideal é que você disponibilize no seu servidor web o projeto apontando para o seu ambiente de teste. Dessa forma todos poderão participar, independente de terem participado ou não do desenvolvimento. Outra opção é liberar o fonte do projeto para todos, para que possam baixar e rodar localmente em suas máquinas, mas atenção, fique atento nos commits e controle "quem está fazendo, o que, e aonde" para evitar que ocorram conflitos no código bem as vésperas de disponibiliza-lo ao cliente.

Como faço o controle do The Bug Hunter?

Você pode realizar o controle através de uma simples planilha de excel. Lembre-se que quem quer fazer não precisa da ferramenta perfeita, precisa da ideia e da capacidade de gerir. É interessante que durante todos os dias de competição você encaminhe um e-mail para todo o setor atualizando os bugs encontrados e o ranking atual. Isso ajudará a estimular quem já participa e quem apenas está achando curiosa a competição.

Que premiação devo entregar?

Você mais do que ninguém conhece a realidade do seu setor e sabe muito bem as coisas que deixarão seu time animado. A única coisa que não recomendo é que se dê dinheiro como retorno para a competição, isso não criará uma cultura positiva e lembre-se que este modelo é apenas uma forma de motivar que seu time faça melhor ainda um trabalho que já é obrigação. Você pode adotar turnos ou dias de folga, pizzas, rodízio em algo. Pense sempre em uma forma de integrar todos e que seja positiva para todo o ambiente.

O que preciso ter para iniciar o The Bug Hunter?

Como premissa básica, possuir seu projeto no estágio mais próximo de ser disponibilizado ao cliente, isso é algo que você, que conhece bem o escopo, poderá determinar.

  • Você deverá determinar a duração da competição, quando vai iniciar e terminar.
  • Qual será a premiação para o vencedor.
  • Como será o regulamento, quais as regras da competição.

Sanadas estas questões inicias já podemos partir para uma visão mais prática do processo.

Definição de Intervalo, Pontuação, Premiação e Regulamento

Vou exemplificar para vocês como poderia ser um modelo da planilha para o controle:

Imagem

No exemplo acima montei uma tabela me baseando em 10 linhas, informando os pontos chaves para começar a disputa. Informei a duração e estabeleci das regras.

  • Vamos entender cada linha:

Linha 1: Defini para o processo The Bug Hunter o projeto que será avaliado para a competição;

Linha 2: Defino em uma coluna os Tipos de Bug que irão pontuar e na outra os detalhes do regulamento.

Linha 3: Defino na primeira coluna que todo Bug de Visão valerá 1 ponto e na coluna ao lado o intervalo que será feita a avaliação;

Linha 4: Defino na primeira coluna o segundo tipo de bug, sendo esse de Negócio com peso de 3 pontos e ao lado já informo a premiação, sendo que o campeão ganhará uma pizza;

Linha 5: Defino o ultimo tipo de bug na primeira coluna, sendo Bug de DAO para persistências de dados, valendo também 3 pontos. Ao lado continuo dando ênfase para a premiação;

Linha 6: Defino neste ponto de forma clara o intervalo, que dia exato inicia e que dia exato termina.

Linha 7: Estabeleço o primeiro ponto de como funciona. Neste momento defino como farei o controle e como o competidor deve proceder para pontuar, já valorizando os pontos para aquele que encontra e, principalmente, corrige o problema;

Linha 8: Estabeleço neste momento o segundo ponto de funcionamento, e neste instante dou a possibilidade de qualquer pontuar, bastando apenas listar os problemas encontrados;

Linha 9: Neste ponto elimino os “espertinhos” que queiram pontuar uma vez para cada bug encontrado e para cada um desses bugs ganhar novos pontos efetuando em um segundo momento as correções;

Linha 10: Na última linha deixo claro quem pode participar da competição.

Controle e Acompanhamento de Resultados

Agora vamos a um exemplo de como seria o acompanhamento e controle.

Imagem

A primeira linha da tabela é o cabeçalho com as informações que devem ser preenchidas.

Repare o Seguinte ponto!

Na linha 2 o Thor encontra o Bug e ele mesmo corrige, por ser um erro de Negocio valia 3 pontos, como foi ele mesmo que corrigiu ganhou os 3x2 ficando com 6 pontos. Se ele apenas tivesse encontrado o erro ficaria apenas nos 3 e o bug ficaria em aberto para que outro pudesse corrigir e pontuar.

Na ultima linha o Cap. America encontra um bug de Visão e ganha 1 ponto, mas ele não corrige e deixa em aberto. O Thor chega e corrige e ganha o ponto do “Cap.America x 2”, ou seja, 1x2 ficando com 2 pontos e passando a frente do Cap. America que por ter apenas encontrado ficou com 1. Dessa forma estimula-se e encoraja-se a correção.

É interessante categorizar os competidores por cores, isso facilita na contagem dos pontos.

Se você chegou até o final deste extenso post saiba que trata-se de uma ideia simples e não original que foi apenas tratada com seriedade e organizada através de uma visão de processo. Se gostou do modelo sinta-se a vontade para conversar e aplicar no seu setor e se puder me retorne com o resultado que conseguiu, seja ele positivo ou negativo.

Valeu pessoal até a próxima.

Abraço!