Quando iterações atrapalham (aka scrum x Kanban)
Duas alternativas interessantes em projetos (ou momentos) nos quais as mudanças são tão frequentes que o clássico planejamento de uma iteração timebox mais atrapalha do que ajuda são:
- Entender o porque e evitar esta instabilidade. Daria para perguntar coisas como:
- Putz, não dá para esperar um sprintzinho, não?
- Tem que fazer isso agora mesmo e arriscar o planejamento/meta do sprint (iteração) atual?
- A principal causa destas mudanças é X, portanto temos que fazer Y de forma a trazer um mínimo de estabilidade para o sprint corrente. Por exemplo: acúmulo de dívidas técnicas => reverter o quadro, ou priorização equivocada => trabalhar melhor o backlog antes do sprint
- Chutar o balde e, ao invés de lutar contra estas mudanças, abraça-las de modo a trabalhar com elas da melhor maneira possível. Neste caso, aceita-se a impossibilidade (ou pouca praticidade) de se planejar um sprint com as tarefas x, y e z, sem surpresas significativas. E daí não dá para planejar o timebox bonitinho. Dá para, talvez, estabelecer um plano de entrega, baseado em metas.
Nos casos em que a segunda opção é a melhor escolha, a técnica de Kanban pode ajudar. Sem querer me alongar, segue um vídeo bacana, em que o Rodrigo Yoshima fala um pouco sobre o assunto:
Um ponto importante é o termo “melhor maneira possível“. No caso do kanban, o ponto é favorecer o fluxo contínuo de valor e tentando expor os gargalos deste fluxo e reduzindo (explicitando e gerenciando) o trabalho em progresso (aquela coisa que você começa e nunca termina porque tem outra-coisa-mega-urgente-para-fazer, e depois outra, e outra…).
E tem também seus slides:
Quer saber mais? Veja este um post sobre kanban & cia no blog da Aspercon. E este na Scrum/Kanban na QCon.