Você interessou-se pela metodologia ágil, pelo Scrum, estudou bastante, tirou certificações, argumentou diversas vezes com os gestores da empresa dizendo que seria uma boa ideia. Chama o time, explica o conceito, consegue vencer algumas resistências. Ok, vamos para o primeiro Sprint de desenvolvimento. E aí a coisa desanda, no meio do Sprint começam a surgir bugs em Produção que precisam ser consertados. O Scrum Master começa a parar o time de desenvolvimento para resolver os problemas. As estórias do Sprint começam a ficar atrasadas, burndows gritando que tem algo errado. O resultado é que time não consegue entregar as estórias do Sprint e, fatalmente, na Retrospectiva vários citam um problema em particular: “Fomos muito interrompidos…”.
Sentimento geral: poxa foi ruim mesmo, mas foi uma situação pontual, próximo Sprint vai dar certo. E aí todos percebem que, salvas raríssimas exceções (se é que elas existem), bugs vão sempre existir – principalmente em produtos que ainda não atingiram maturidade muito alta e que continua recebendo frenéticas atualizações. Sprints não entregues começam a se acumular e todos esperam que algum evento cósmico resolva a situação automaticamente. Dá uma sensação de desânimo porque os benefícios esperados simplesmente não aparecem.
Antes de prosseguir, cabe uma observação importante: em equipes de desenvolvimento muito grandes é viável termos um ou mais time focados no que pode ser chamado de sustentação, ou seja, apoio e ajustes nas versões dos produtos que estão em produção. Enquanto isso, outros times de desenvolvimento conseguem focar no desenvolvimento de novas funcionalidades. Este, sem dúvida alguma é o cenário ideal. Mas, e quando ter um time focado na sustentação não é possível?
Foi depois de nos deparar com vários Sprints não entregues na sequência, paramos para pensar e criarmos o mítico “Bugman”. A cada Sprint designamos um integrante do time de desenvolvimento para ficar responsável pela atuação na solução de bugs em produção. Ele participa de todas as cerimônias do Sprint, o que é importante para não perder o alinhamento com o que está sendo feito. Mas só atua nas estórias caso não haja nenhum bug para ser analisado e solucionado (o que diga-se de passagem, é um pouco difícil de acontecer). Procuramos fazer uma alternância do integrante que fará o papel do Bugman a cada Sprint para evitar qualquer sensação de desmotivação ou coisa do tipo. O Bugman trabalha, em conjunto com o Product Owner e o Scrum Master, em um esquema de Kanban simplificado. A lista dos bugs a serem resolvidos é analisada e priorizada, podendo sofrer mudanças a qualquer momento. A cada solução de um bug o Product Owner decide se a correção será entregue em Produção como um patch da versão corrente ou se a correção aguardará a versão seguinte.
Importante: a figura do Bugman (também chamado de Firefighter em algumas empresas) não existe oficialmente no framework Scrum. Entretanto, pelo menos no nosso caso, foi o que tornou possível mantermos o restante da equipe EFETIVAMENTE fazendo Scrum.
Já estamos trabalhando desta forma há bastante tempo e tem funcionado muito bem. Em situações bem críticas, já chegamos a ter dois “Bugmen” no mesmo Sprint, mas evitamos isso ao máximo para não diminuir a capacidade de entrega do time. Dentro da empresa, incluindo outros departamentos, essa forma de trabalhar já foi bem aceita e todos entendem claramente como funciona, ou seja, já faz parte da cultura. Procuramos evitar também que, em função da existência de alguém focado na solução de bugs, seja gerada uma certa sensação de conformismo com má qualidade de entrega.
A melhoria contínua tem que continuar sendo foco, os testes têm que continuar sendo foco, a busca por identificar bugs internamente antes de entregar em Produção tem que continuar sendo foco.
Quanto menor o trabalho direcionado ao Bugman em um Sprint melhor será, pois ele poderá ajudar o time das entregas. E, quem sabe após sucessivas melhorias, possamos entender que nosso grande herói, o Bugman, já poderá se aposentar.
Artigo escrito em parceria por Vinícius Manzan de Mello e Tarcísio Manzan de Mello