Agile - Kanban

Kanban Metodologia Ágil
Kanban

Os artigos Agile - Scrum e Agile - XP (eXtreme Programming) nos apresentaram uma breve introdução das metodologias Scrum e XP e demonstraram que podemos utilizá-las em conjuntos para alcançamos o objetivo. Agora, iremos falar do Kanban, uma metodologia bastante conhecida.

Tendo sua origem no Sistema Toyota de Produção, também conhecido como Lean Manufacturing, o termo Kanban significa "cartão visual/sinalizado" e identifica um sistema de informação que controla a fabricação de produtos conforme a quantidade e tempo necessários em cada uma das etapas de produção, internamente a uma empresa ou mesmo em processos relacionados a fornecedores e clientes. Ele está bastante relacionado com o conceito de Pull Systems (sistemas de produção puxados), eliminando o desperdício através de uma produção contínua e entregas em tempo real.

Sistema de produção puxada exige que cada operação do processo seja alimentada pela demanda da etapa anterior, estabelecendo uma ligação direta entre o consumo real do cliente e a quantidade produzida.

Ao contrário da maioria dos métodos ágeis, Kanban não possui iterações. Ao invés disso, desacopla o planejamento, priorização, desenvolvimento e entrega, de forma que cada uma dessas atividades possa ter sua própria cadência (repetição que se sucede em intervalos regulares) para melhor se ajustar à realidade e necessidade que o processo demanda.

No geral, os métodos ágeis controlam suas cadências através de iterações. Porém, com o Kanban o processo é um fluxo contínuo e não é preciso que todo o trabalho planejado esteja concluído para que uma entrega seja realizada.

Kanban é dos métodos de desenvolvimento de software menos prescritivos, que possui apenas três prescrições:
  1. Visualizar o fluxo de trabalho (workflow);
  2. Limitar o trabalho em progresso;
  3. Gerenciar e medir o fluxo.
Kanban incentiva a adaptação baseada em contexto. Ele parte da premissa que não existe uma única solução que resolva todos os problemas de todos os diferentes contextos, e por isso há a necessidade de adaptação, em que cada processo deve se adequar às necessidades do contexto a que pertence. Além disso, é recomendado que se meça o lead time, tempo médio para se completar um item, de forma que o processo deve ser continuamente otimizado para tornar esse tempo cada vez menor e mais previsível.

Qual é o melhor método?

Após a apresentação do Scrum, XP e Kanban, o leitor deve está se perguntando "afinal de contas, qual o melhor método?".

Kniberg (2010) define ferramenta como qualquer coisa que possa ser usada para atingir uma tarefa ou objetivo, e processo como a forma que se trabalha. Para ele, métodos como Scrum, XP e Kanban são ferramentas para processos, e questionar qual é o melhor deles é o mesmo que comparar se um martelo é melhor do que uma chave de fenda, ou seja, isso depende do contexto e do objetivo em questão.

Não há método completo ou perfeito, por isso, somos livres para combinar as ferramentas e aproveitar o que funcionar melhor no contexto, ou seja, considerando a cultura da organização, as restrições de projeto e as habilidades da equipe. Pois, todo projeto de desenvolvimento de software é diferente, possui pessoas com habilidades diferentes, níveis de experiência diferentes, orçamento, escopo, riscos e prazo diferentes. Portanto, devemos procurar compreendê-las de forma a explorá-las da melhor maneira possível visando atingir bons resultados.

Assim como as práticas, os papéis em uma equipe ágil, podem variar de acordo com o método utilizado e contexto da equipe. Fique atento para utilizar apenas papéis que de fato agreguem valor, e para não incluir papéis conflitantes.

Cada novo método que você estuda e conhece é mais uma ferramenta para sua caixa de ferramentas, a pergunta certa não é “qual é o melhor método”, mas “qual o método mais adequado para esse contexto”, e então, munido de sua caixa de ferramentas, você terá condições de escolher a melhor abordagem para cada desafio.

O que você aprendeu

Vimos uma breve introdução do método Kanban, pois temos uma série de artigos dedicado especialmente a ele. Vale ressalta que nenhum método é melhor que o outro, pois não existe um método completo e perfeito, por isso, você é livre para combinar as ferramentas e aproveitar o que funciona melhor para o seu contexto. Especificamente, você aprendeu:
  • Como funciona e o que é Kanban
  • A diferença entre Kanban e os demais métodos ágeis.
  • Não há o melhor método, mas sim o método mais adequado para o contexto.

Continua em

Continuação de
Agile - XP (eXtreme Programming)

Referência Bibliográfica
GOMES, A. F. Agile - Desenvolvimento de Software com entregas frequentes e foco no valor de negócio. 01. ed. São Paulo: Casa do Código. 208 p.

KNIBERG, H. Kanban and Scrum - making the most of both. 01. ed. Toronto: InfoQ, 2010. 102 p.


Para citar esse artigo:

Comentários