Se você já tem experiência em times e metodologias ágeis, esse post não é pra você.

Na introdução da serie Projeto Java, explicamos que usaríamos metodologia agile para nosso processo. Existem varias metodologias e todas válidas num determinado contexto, Scrum, Kanban, XP, entre outras. E nada deve ser restritivo ao ponto de deixar o time ao serviço do processo, mas sim ao contrário. O processo deve facilitar o dia a dia do time. Se algum ponto da metodologia que escolheu estiver atrapalhando, reflita bem sobre que aporta, pra que serve e porque está atrapalhando. E se precisar, adapte esse ponto, pois a ideia é ser flexível. E se decidir que tem que tirar, tira. Sem medo. Ser ágil não é uma metodologia, é um mindset.

Para o projeto que estamos apresentando, talvez a metodologia mais aplicável seja Kanban. Existe a ideia que o Kanban é a evolução do Scrum quando o time está maduro o suficiente. Sem deixar de ser certo, lê este livro para entender que também é aplicável em outros contextos.

Se você é tão preguiçoso que nem a gente, deve ter aberto o link, deixado na outra aba e continuado a leitura. Parabéns! Uma distinção importante deve ser considerada antes de continuar: Kanban, com K maiúscula se refere à metodologia; kanban, com k minúscula, se refere ao quadro de tarefas (por exemplo o quadro do jira). Minha vida mudou após entender isso!

Não vamos conseguir definir o agile melhor que um livro ou que alguém com mais experiência, assim que só pretendemos proporcionar algumas ferramentas. Um bom começo para organizar o seu trabalho é usar um quadro de kanban. Repare na minúscula.

Quem conhece o Trello? É de graça (por enquanto) e permite organizar seu trabalho, criando tantas colunas como precisar.

trello-12

O próprio GitHub agora tem um gerenciamento de tarefas estilo kanban. É mais simples que o Trello, mas talvez atenda o seu cenário. Para acessar a ele, basta entrar na aba Projects do seu repositório, criar um novo projeto e adicionar todas as colunas necessárias.

gira-by-jcouyang

É lógico que tem outras alternativas. A mais famosa é o Jira, que também permite integrar com outras ferramentas, como o confluence por exemplo, e conecta com o git para vincular as histórias, caso tenha usado a nomenclatura do JIRA no comentário do commit, oferecendo uma boa rastreabilidade. O problema do Jira é que é pago. E dependendo do contexto, é matar moscas com bazuca. Uma outra bem conhecida é o Redmine. É gratuito e bastante completo, e pode baixar a imagem do docker hub sem se preocupar muito com a instalação, porém se o seu contexto é pequeno, vai achá-lo muito amaçante.

Acredito que se você já está um tempo atuando em times ágeis, as ferramentas apresentadas aqui são todas bem conhecidas. Mas se você é novo nesse mundo, sugerimos que comece pelo mais simples. Crie uma coluna de TODO, outra de WIP e outra de DONE. Coloca suas tarefas no TODO. Assim que começar a executar uma tarefa,  pode colocá-la em WIP. Assim que terminada, jogue ela para DONE.

Limite o seu WIP. Não comece 25 tarefas ao mesmo tempo, isso não da certo. Um dos problemas que devemos combater para aumentar a produtividade é a troca de contexto, ocasionada por uma falsa sensação de multi-tarefa. Para isso, precisamos parar de começar e começar a terminar, que significa fazer uma tarefa do inicio ao fim antes de pegar a seguinte. Sim, isso também inclui testes unitário, de integração e até manuais. Dependendo do seu fluxo, até entrega em produção. E sim, talvez vai ter a sensação de ficar ocioso em algum momento. Mas vai conseguir entregar com maior qualidade e com menos erros, o que é um benefício imediato e a longo prazo.

Outro problema relacionado com a produtividade acontece quando as histórias são muito grandes ou não estão suficientemente definidas. Começa desenvolver ela e percebe que, como limitou o WIP, não pode entrar outra história que talvez seja mais urgente. Se isso acontece, é que você não tem uma história e sim um épico. Não é necessariamente ruim, mas pode precisar quebrar esse épico em histórias menores para melhorar o fluxo. Uma opção é criar uma coluna entre o TODO e o WIP de READY, e colocar as histórias já refinadas (e quebradas) nessa coluna.

Não pretendemos evangelizar ninguém, pra nós isso funciona. Talvez pra você não. O lance é tentar. Experimentar. Se não funcionar, analise porque, talvez falte ou sobre alguma coisa no seu processo. E outra, sabe aquela pilha de coisa pessoais, por exemplo, coisas que quer estudar?  Use um quadro kanban para organizá-las e evite começar 25 ao mesmo tempo, pois não vai conseguir terminar nenhuma.

PD: Se a palavra história não faz sentido pra você, tenta ler de novo o post trocando história por caso de uso. Por nada. Mas tente se acostumar, de verdade, não doe.

PPD: Ah, o problema é a palavra história? Talvez gosta mais de estória? Bom, tem vários links indicando que o uso da palavra estória não é exatamente correta. Claro que não somos filólogos, assim que use o que você quiser.

 

Comentários