O Kanban foi inventado na indústria automotiva japonesa na primeira metade do século XX. Inspirado em como os supermercados armazenam suas prateleiras com base na demanda, o objetivo da Toyota era reduzir o estoque e melhorar o fluxo em todo o sistema de produção.

Em seu livro Kanban: mudança evolutiva bem-sucedida para seus negócios de tecnologia, David Anderson descreveu como aplicar os princípios Kanban ao desenvolvimento de software. Esses princípios são:

  • Comece com o que você faz agora
  • Concorda em buscar mudanças incrementais e evolutivas
  • Respeite o processo, funções, responsabilidades e títulos atuais

O que isso significa para o desenvolvimento ágil de software?

Nos meus cursos de treinamento, pergunto aos participantes o que eles já sabem sobre desenvolvimento ágil de software. As respostas comuns são: “Trabalhar em sprints”, “Existe um proprietário do produto”, “Gerenciar histórias de usuários em um backlog”. As pessoas são influenciadas pela estrutura ágil mais popular hoje em dia, o Scrum.

O Scrum vem com seus próprios papéis, eventos e artefatos predefinidos. O Scrum exige que você siga as regras definidas no Guia Scrum, se você quiser chamar o que está fazendo no Scrum. Kanban é diferente.

O Kanban começa com o processo que você segue na sua empresa agora. Visualize as etapas em um quadro Kanban. Eles podem incluir tudo o que você faz, da ideia à entrega.

Cada etapa se torna o título de uma coluna no quadro.

grafik 7

Para acompanhar o seu dia-a-dia, é melhor dividi-lo em pequenos itens. Talvez histórias de usuário que possam ser implementadas em no máximo 2 dias. Escreva cada item em uma nota adesiva e pendure no quadro. Você pode usar a ordem vertical no quadro para priorizar.

Os cartões se movem da esquerda para a direita. As pessoas que executam o trabalho puxam itens que foram concluídos pela etapa anterior do processo. Quando eles têm capacidade para fazê-lo. Portanto, os desenvolvedores no exemplo puxam o Enviar Imagem cartão em Dev quando eles têm a capacidade de implementá-lo.

Perseguindo mudanças incrementais e evolutivas

Então você criou um quadro Kanban que mostra seu processo? Você está tornando seu trabalho visível, o que é um ótimo começo!

Para obter os benefícios do Kanban, você precisa fazer mais algumas coisas. Você precisa:

  • Limitar o trabalho em processo e filas
  • Observe e melhore o fluxo
  • Colabore efetivamente

Limitar o trabalho em processo e filas

Limitar o material em processo significa: você define um máximo para o número de itens em que trabalha. Isso é chamado de limite de trabalho em processo ou, em resumo, limite de WiP. Aqui está o quadro Kanban com um limite de WiP para algumas etapas do processo.

grafik 9

Os desenvolvedores podem trabalhar em 5 itens por vez. No máximo. Se sua coluna contiver 5 itens, eles não poderão mais puxar itens. Isso tem duas consequências.

Primeiro de tudo: incentiva as pessoas a terminar seu trabalho, em vez de começar mais trabalho. O trabalho iniciado que não está concluído assume riscos. Quão felizes serão seus clientes quando você não puder lançar seu software conforme o planejado? Porque você começou a trabalhar em todas essas grandes idéias, mas não as seguiu?

A segunda consequência de limitar o trabalho em andamento: gargalos se tornam visíveis. Quando uma etapa do processo começa a funcionar que não pode ser concluída, as pessoas a sentem imediatamente. Porque a próxima etapa do processo não poderá extrair itens.

Além de limitar o trabalho em andamento, você também deve limitar o tamanho da fila. No quadro acima, eles são mostrados como as linhas pontilhadas entre as colunas. Funciona da mesma maneira que limita o trabalho em andamento.

Em suma: Pare de começar, comece a terminar é o lema. Do conceito à entrega, no menor tempo possível.

Observe e melhore o fluxo

Observar um gargalo pode ser doloroso no começo. Mas pelo menos você sabe onde estão os principais problemas em seu processo. E o Kanban incentiva você a melhorar o fluxo removendo o gargalo. Um fluxo consistente permite que você entregue com mais confiabilidade, o que é bom para todas as partes interessadas, incluindo desenvolvedores.

Para observar o fluxo, registre o horário em que um cartão entra em uma etapa do processo. E a hora em que você conclui a etapa do processo. Então, você sabe quanto tempo o cartão gasta em cada etapa e em cada fila entre as etapas.

Com base nos dados, você pode configurar métricas que ajudam a melhorar o fluxo. Métricas comuns incluem:

  • Tempo de ciclo: o tempo que um cartão demora a partir do momento em que uma equipe começa a trabalhar nele (ou seja, Dev) até a entrega (ou seja, Lançamento) Melhorar essa métrica pode ajudar a melhorar seu tempo de colocação no mercado.
  • Taxa de transferência: o número de cartões que se movem pelo sistema em um determinado momento. Melhorar essa métrica pode ajudar a melhorar o desempenho da sua organização de entrega.

Uma maneira comum de obter uma visão geral de quantas placas estão em que etapa do processo ao longo do tempo é um fluxograma cumulativo. Idealmente, o número de cartões em cada etapa, mas o último permanece aproximadamente o mesmo ao longo do tempo. O número de cartões liberados deve aumentar. Quando o gráfico se desvia disso, você pode ter um gargalo.

Cumulative Flow Chart

Colabore efetivamente

As métricas do Kanban são uma ferramenta poderosa para analisar e melhorar o que você está fazendo. Mas eles são inúteis sem que as pessoas façam o trabalho. Todos os envolvidos nas etapas do processo devem estar abertos à transparência que o Kanban cria.

As pessoas devem trabalhar juntas de forma construtiva para remover gargalos, em vez de culpar os indivíduos. Veja o estado atual regularmente. Existem gargalos? Existe muito ou pouco trabalho disponível para uma determinada etapa do processo? A taxa de transferência é suficiente? Existem outras fontes de descontentamento? O quê precisa ser melhorado?

Concorde com experimentos que experimentam pequenas alterações no sistema. Perceba as mudanças. Mais tarde, verifique se os experimentos funcionaram conforme o esperado. Para poder implementar as alterações, o suporte ao gerenciamento geralmente é crucial.

Quando usar o Kanban

Kanban é muito flexível. Pode ser usado em combinação com o Scrum, que é chamado Scrumban. Pode ser usado fora do desenvolvimento do produto. Você pode até usá-lo para planejar uma viagem ou organizar o que você faz no seu tempo livre.

Achei especialmente útil quando trabalhar no Scrum Sprints não é possível ou é difícil. Exemplo: duas empresas em que uma é cliente e a outra é fornecedor, e uma transferência é inevitável. Outro exemplo é quando você está trabalhando em um produto que envolve software e hardware, e várias disciplinas de engenharia estão envolvidas.

O Kanban também pode ser usado dentro da sua empresa quando o desenvolvimento funciona de maneira ágil, mas nem todo o restante da empresa. Pode ser usado para facilitar a cooperação entre planejamento estratégico e desenvolvimento de software.

Não pense que, apenas porque você tem problemas para implementar o Scrum, não há como se tornar mais ágil. Kanban começa com o que você faz agora. E se você levar a sério, isso ajudará você a melhorar. Um pequeno passo de cada vez.

Para saiba mais sobre desenvolvimento ágil de software, visite meu curso online. Para acompanhar o que estou fazendo ou me enviar uma nota, siga-me no dev.to, LinkedIn ou Twitter. Ou visite meu Projeto GitHub.





Fonte