Como ser ágil antes mesmo de adotar o Scrum

No workshop de introdução ao Desenvolvimento Ágil de Software que ministrei em um cliente para o qual a Crafters presta consultoria e sobre o qual já escrevemos nesse blog, observei uma situação recorrente em todas as edições do treinamento: quando os participantes estavam envolvidos nas dinâmicas de prática do Scrum, sempre queriam entregar para o cliente o produto desenvolvido antes do término da Sprint!

Essas pessoas não tinham vivência prévia com Scrum mas seu processo corrente de trabalho já lhes permitia receber demandas e fazer entregas sem terem estabelecido previamente um ciclo do tipo “faço entregas e aceito novas demandas a cada duas semanas”. E embora estivessem carentes de agilidade, não acreditavam naquele momento que a solução do problema passasse necessariamente pelo estabelecimento deste ciclo.

O time tinha uma visão, não muito madura, de que o Scrum lhes traria mais controle sobre seu processo. Os workshops e as sessões de coaching os ajudaram a descobrir que não precisavam de mais controle, precisavam sim de maior visibilidade. Muitas vezes, quando não sabemos o que está acontecendo no nosso ambiente, sentimos necessidade de mais controle, e ao aplicá-lo aplicamos continuamos sem saber o que está acontecendo. Não é incomum que os novos controles nos levem para ainda mais longe da solução dos problemas, mas sem visibilidade não conseguimos sequer perceber que isso aconteceu.

A energia que pretendiam aplicar adaptando-se ao Scrum foi então direcionada para o aumento da visibilidade do processo corrente, com o objetivo de poder inspecioná-lo a procura de melhorias e daí adaptá-lo. O time sentia que podia entregar mais software e com maior valor agregado e estava procurando uma maneira de fazer isso, mas não viviam todas as mazelas de um modelo waterfall e virar o processo do avesso para aplicar Scrum estritamente não se justificava.

Aumentando a visibilidade – processo velho, perspectiva nova

O time geralmente conhece o seu processo, ou pelo menos algumas pessoas do time conhecem. Mas esse processo quase sempre está invisível. Mesmo nos casos em que o fluxo de trabalho está documentado, é comum este documento estar esquecido e desatualizado. Aumentar a visibilidade do processo não é atualizar este documento e compartilhar por e-mail. Para torná-lo realmente visível, transcrevemos o fluxo sob uma perspectiva Ágil, no formato de um quadro Kanban. É impressionante a quantidade de aprendizado alcançada já neste exercício de construir uma nova visão do processo, e quanto valor pode ser agregado a ele mesmo antes de ser expressamente modificado. O fluxo do processo de trabalho, uma vez em um quadro Kanban, deixa de ser um documento e passa a ser uma ferramenta que, dentre outros valores agregados, fornece ótima visibilidade do que está acontecendo, denunciando gargalos, demonstrando onde a capacidade produtiva não está sendo bem aproveitada, expondo desperdícios, evidenciando oportunidades de melhorias.

O fluxo de trabalho é coordenado por algumas regras. As regras sempre existem mas, assim como o próprio fluxo, elas também costumam estar invisíveis. Se as regras não estão explícitas, como vamos discutí-las de maneira objetiva? Como vamos propor melhorias para o que não podemos ver e conhecer? Então, escrevemos muito sucintamente essas políticas, tais como a definição de conclusão de cada etapa do fluxo. Estas políticas precisam estar tão visíveis quanto o próprio quadro Kanban.

Essa tarefa inicial já trouxe consigo progresso, ao adiantarmos a prática de uma melhoria nesse esforço para o aumento de visibilidade: o modelo usado para gerar demandas ao time foi alterado para um mais próximo dos princípios do Ágil, no estilo História do Usuário, menos burocrático mas com muito mais significado para o time e para o próprio cliente. Durante um exercício de converter antigas demandas para o novo formato, a fim de testá-lo, o time já conseguiu identificar alguns problemas do modelo anterior como, por exemplo, várias demandas muito distintas sendo tratadas como uma solicitação única, diminuindo a percepção da quantidade de valor entregue ao cliente e dificultando entregas iterativas.

Caminhando em direção à agilidade

Outros recursos de visibilidade foram utilizados, mais ainda quando surgir a demanda para eles, outros tantos serão substituídos ou retirados. A adoção de algumas cerimônias do Scrum como rápidas reuniões diárias e retrospectivas periódicas vai garantir oportunidades para identificação de obstáculos e para inspeção e adaptação do processo.

O time não adotou Scrum, pelo menos não ainda. Em vez disso partimos do processo existente, que de saída não era ágil mas que rapidamente evoluiu muito e continuará evoluindo através de um mecanismo Ágil de gerenciamento de mudanças.

Quando adotar Scrum e quando não adotar

Existem muitas empresas ou times desenvolvendo software sem processo nenhum. Alguns já perceberam que a falta de um processo definido está afetando negativamente sua competitividade e capacidade de inovação. Quando um time não sabe nem por onde começar a resolver seus problemas, a adoção inicial de um processo Ágil seguindo com exatidão a receita pode ajudar muito.

Alguns times porém, mesmo enfrentando problemas graves, já possuem um processo em alguma medida funcionando, ou estão envolvidos em um contexto complexo e não conseguem vislumbrar se os possíveis ganhos valem o risco de uma uma mudança drástica. Nestes casos, partir de onde se está e promover mudanças graduais pode ser a saída.

De qualquer modo, essa análise é tão profunda quanto pode ser um post em um blog, e compartilhei a experiência de um time apenas. Cada time que decidiu tornar-se Ágil precisa fazer um estudo responsável e considerar muitos outros fatores antes de tomar uma decisão. Mesclar ferramentas e montar o próprio toolkit é uma opção. Orientar-se pelo que é melhor para o time e para a empresa em vez de focar nas limitações do contexto é mais produtivo. Contar com a experiência de pessoas que já fizeram ou tentaram fazer a transição para um modelo Ágil também tem muito valor. E talvez o mais importante seja ter em mente que Metodologias Ágeis são fundamentadas em uma cultura que precisa ser previamente conhecida e muito exercitada ao longo da jornada.