Kanban tem atraído bastante interesse como uma abordagem válida para implementar agile em um ambiente de desenvolvimento. Como consequência, muitas pessoas vem perguntando "como Kanban se compara ao Scrum?". Henrik Kniberg tentou responder a pergunta.
Henrik Kniberg recentemente publicou um rascunho de um "guia prático" comparando Kanban e Scrum. Com seu artigo conciso, Kniberg apresenta uma visão geral de quando Kanban e Scrum são similares, e quais são as diferenças.
Ele começa o artigo com sua visão rápida de cada metodologia:
Resumo do Scrum
Divida sua organização em times pequenos, multi-funcionais e auto-organizados.
Divida seu trabalho em uma lista de entregáveis pequenos e concretos. Aponte alguém para ser responsável pela lista e ordene-a por prioridade. O time de implementação estima o tamanho relativo de cada item.
Divida o tempo em iterações curtas (geralmente 1 – 4 semanas), com código potencialmente lançável depois de cada iteração.
Otimize o plano de lançamentos e atualize prioridades em colaboração com o cliente, baseado em ideias adquiridas ao inspecionar o lançamento após cada iteração.
Otimize o processo tendo uma retrospectiva depois de cada iteração.
Para mais detalhes veja “Scrum e XP direto das trincheiras”. O livro é grátis e você pode ler online. Eu conheço o autor, ele é um cara legal :o) http://www.crisp.se/ScrumAndXpFromTheTrenches.html e http://www.infoq.com/br/minibooks/scrum-xp-from-the-trenches (em Português)
Resumo do Kanban
Visualize o fluxo de trabalhoLimite o WIP (work in progress - trabalho em progresso) – defina limites explícitos de quantos itens podem estar em progresso em cada estado do fluxo de trabalho.
- Divida o trabalho em partes, escreva cada item num cartão e coloque na parede
- Use colunas com nomes para ilustrar onde cada item está no fluxo de trabalho
Meça o lead time (tempo médio para completar um item, às vezes chamado de “cycle time”), otimize o processo para tornar o lead time tão pequeno e previsível quanto possível.
Para mais detalhes veja a introdução de Karl Scotland: http://availagility.wordpress.com/2008/10/28/kanban-flow-and-cadence/
Pelas 20 e poucas páginas seguintes Kniberg entra em detalhes na sua comparação, e então apresenta o resumo de suas conclusões no fim do artigo:
SimilaridadesDiferenças
- Ambas são Lean e Agile
- Ambas usam pull scheduling
- Ambas limitam WIP
- Ambas usam transparência para melhorar o processo
- Ambas focam em entregar software lançável cedo e frequentemente
- Ambas são baseadas em times auto-organizados
- Ambas precisam que o trabalho seja dividido em partes
- Em ambos os casos o plano de lançamento é continuamente otimizado baseado em dados empíricos (velocidade / lead time)
Scrum Kanban Iterações com Timebox prescritas. Iterações com Timebox opcionais. Pode haver cadências diferentes para planejamento, lançamento, e melhoria do processo. Pode ser orientado a eventos em vez de limite de tempo. O Time se compromete com uma quantidade de trabalho específica para esta iteração. Comprometimento opcional. Usa Velocidade como métrica default para planejamento e melhoria do processo. Usa Lead time como métrica default para planejamento e melhoria do processo. Times multi-funcionais prescritos. Times multi-funcionais opcionais. Times especialistas permitidos. Itens podem ser quebrados para que eles possam estar completos dentro de 1 sprint. Nenhum tamanho de item em particular é prescrito. Gráfico Burndown prescrito Nenhum tipo de diagrama em particular é prescrito WIP limitado indiretamente (por sprint) WIP limitado diretamente (por estado do fluxo de trabalho) Estimativa prescrita Estimativa opcional Não pode adicionar itens em uma iteração em andamento Pode adicionar novos itens quando houver capacidade Um sprint backlog pertence a um time específico Um kanban board pode ser compartilhado por múltiplos times ou pessoas Prescreve 3 papéis (PO/SM/Time) Não prescreve papéis Um Scrum board reinicia entre cada sprint Um kanban board é persistente Prescreve um product backlog priorizado Priorização é opcional
Se você já se perguntou isso, ou teve que responder a outra pessoa, você deve ler o artigo de Kniberg Kanban vs Scrum.