É possível gerar previsibilidade nas entregas de um time. Não que isso seja fácil, definitivamente não é, mas é algo possível de atingir quando se está em um time que foca na melhoria contínua incremental. Isso é muito comum em times de desenvolvimento de software ágil e, por estar imerso nesse cenário, muitas vezes esqueço que não é uma realidade em outros contextos. Recentemente ao me deparar com um time que não estava performando bem, parei para refletir sobre quais pontos do pensamento ágil são responsáveis por fazer que um time consiga gerar previsibilidade em um ambiente tão instável e imprevisível quanto o desenvolvimento de software.Acabei chegando em alguns pontos que pretendo compartilhar por aqui.

Um dos pontos mais importantes é a existência de uma rotina. Como já diria Verne Harnish no livro Scaling Up: "A rotina o liberta". Acredito que ao termos a rotina certa, que garante que aconteça o planejamento, execução, análise dos resultados e correções do nosso trabalho, conseguimos ficar livres para que no resto do tempo possamos focar na execução sem outras preocupações, pois sabemos que temos o momento certo para discutir e analisar para onde queremos ir e se nossa execução está nos levando até lá.

Dentro do modelo ágil de trabalho, existem estruturas que garantem que estamos tendo as discussões corretas. Tudo começa com a sprint, que é um ciclo de trabalho que visa garantir que algum valor substancial seja entregue ao final dele. Na nav9 gostamos de realizar sprints com duração de 2 semanas. Para cada sprint definimos um objetivo que deve ser alcançado ao final, no contexto do desenvolvimento de software isso gira normalmente em criar alguma nova funcionalidade que adiciona valor ao produto. Porém, dentro de outros contextos a entrega de valor pode estar relacionada a ajustar um processo ou resolver alguma anomalia que vem se repetindo dentro de uma área. O mais importante é que exista um objetivo claro e que ao final do período da sprint algum valor seja gerado. Dentro da sprint, existem quatro cerimônias que garantem que isso aconteça: planning, daily, review e retro.

Toda sprint começa com uma planning, que é uma reunião de planejamento onde discutimos qual objetivo pretendemos alcançar dentro das próximas duas semanas de trabalho e o que precisa ser feito, coletivamente e individualmente, para garantir que isso aconteça. Nessa reunião discutimos quais tarefas precisam ser feitas, quem fica responsável por cada uma e qual a estimativa de tempo para realizar as tarefas a ela designadas.

Após a planning, a execução começa efetivamente. Porém, é comum que nem sempre o plano saia como o esperado. Para conseguirmos identificar problemas e corrigir a rota, possuímos uma reunião diária de 15 minutos: a daily. Nessa reunião, que é breve e direto ao ponto, cada um diz o que fez ontem, o que fará hoje e quais impeditivos possui para concluir suas tarefas.

A partir disso é possível entender problemas e gargalos e agir com antecedência para não deixar que eles impactem o resultado da sprint. Dessa forma vamos iterando diariamente o nosso plano. Imprevistos acontecem e precisamos saber nos adaptar, por isso vamos negociando ao longo das duas semanas o que e como exatamente será entregue. O que não é negociável é o objetivo da sprint, todos sabem que ao final das duas semanas precisamos ter o resultado alcançado e o valor que foi traçado lá na reunião de planejamento precisa ser entregue.

No último dia da sprint, após termos concluído o nosso entregável, realizamos uma reunião de review. O objetivo dessa cerimônia é que todo o time apresente o trabalho realizado dentro da semana análise se conseguiu ou não atingir o objetivo traçado. Isso faz com que cada membro do time se responsabilize pelo trabalho e pela qualidade do que realizou dentro do período. A partir da análise dos entregáveis, é possível também definir quais objetivos teremos para as próximas sprints.

E por fim, temos uma reunião de retrospectiva, a retro. É um dos momentos mais importantes do ciclo de trabalho, pois tem como objetivo criar conexões profundas entre os membros do time, enquanto discutimos formas de melhorar a efetividade e a qualidade do nosso trabalho. Para isso, um dos formatos mais utilizados é ter momentos para celebrar as vitórias da última sprint, seguido de um momento para discutir de forma coletiva o que precisa melhorar para a próxima. Com base nessas discussões, são definidas ações que serão implementadas no dia a dia do time para o próximo ciclo, para garantir que a melhoria contínua aconteça e assim  consigamos chegar a um bom nível de previsibilidade do nosso trabalho.

O mais importante desse modelo de trabalho é que ele possui um caráter cíclico. Após terminarmos as cerimônias da sexta já começamos a pensar na próxima sprint que iniciará na segunda. Dessa forma conseguimos manter o time sempre engajado e produtivo, sabendo qual é seu próximo objetivo e quais tarefas ele é responsável para garantir que o objetivo seja atingido.

Caso aconteça de em algum ciclo não conseguirmos atingir o objetivo, temos a oportunidade de passar pela cerimônia de revisão do trabalho e de retrospectiva, entender onde erramos e traçar as melhorias necessárias para que na próxima sprint consigamos atingir o objetivo desejado. Através dessas rotinas, o time consegue ter a liberdade para executar, mas também os espaços para ter discussões profundas. E, pela minha experiência, nada consegue parar um time que é motivado a resolver seus desafios e que também é conduzido da forma certa pelo seu líder.

a rotina o liberta