Pontos Principais
- Apressar-se em uma implementação complexa do Kanban pode resultar em problemas a longo prazo.
- É necessário mapear um fluxo de trabalho detalhado para otimizar os processos depois de de aderir ao Kanban.
- Os processos mais importantes devem ser incluídos em colunas no Kanban board.
- Atividades similares podem ser agrupadas com a ajuda de raias (swimlanes), direcionando o fluxo de trabalho de acordo com as prioridades.
- Ao desenhar um fluxo de trabalho flexível com colunas diferentes para cada swimlane, será possível otimizar o fluxo de trabalho e utilizar todo o seu potencial.
A popularidade do Kanban está crescendo a cada dia; por ser aplicável a todos os tipos de indústria, da construção civil ao marketing, milhares de pessoas estão entregando melhores resultados graças a este método.
Embora a implementação do Kanban pareça bem simples, obter o melhor do método só é possível para aqueles dispostos a experimentá-lo em seu fluxo de trabalho e ir além, refletindo sobre os resultados do teste em etapas reais.
Nos parágrafos seguintes, veremos as etapas mais comuns na implementação do Kanban e aprenderemos como melhorar a visualização e controle do fluxo de trabalho conforme sua proficiência com o método aumente.
Mantenha-se firme até o fim para ver o que pode ser otimizado em cada etapa de cada processo distinto de cada time em um board de times, sem deixar confuso.
Comece por onde você está
Se a equipe acabou de começar com Kanban, não devemos nos precipitar desenhando um board complexo e configurando um WIP (work in progress) limite que não pode ser cumprido. Utilize o tempo necessário para levar a equipe ao board e dê espaço para que pratiquem com o básico do método.
A variação mais simples de um board Kanban consiste em três colunas:
(Clique na imagem para ampliar)
- Requisitado
- Em desenvolvimento
- Feito
Um board de layout básico é fantástico para equipes sem experiência com Kanban porque é mais fácil engajar as pessoas com a visualização do fluxo de trabalho. É um bom ponto de partida para construir o hábito de mover os cards de acordo com o estado das atribuições escritas neles. Entretanto, também é ótimo para estabelecer a gestão do fluxo orientando a equipe a selecionar seu trabalho por conta própria.
O layout deste board não requer muito esforço para se manter atualizado e tem fundamento sólido para iniciar com limites de WIP (um dos fundamentos do Kanban), especialmente para equipes que utilizam quadro branco físico para o Kanban.
Limitações do board básico do Kanban
Normalmente, uma implementação básica do Kanban é suficiente para entregar melhorias visíveis na forma em que as equipes trabalham, mas logo atingirão a estagnação em sua produtividade.
Passado o período de familiarização, começamos a notar algumas limitações no Kanban board de 3 colunas, especialmente se o Kanban estiver sendo praticado em um ambiente de trabalho focado no conhecimento.
Para iniciantes, existirá um limite para a quantidade total de trabalho em progresso (WIP), e verá todas as tarefas iniciadas pela equipe. Contudo, não terá ideia sobre o estado de cada tarefa.
A tarefa que uma pessoa estará trabalhando será evidente, porém, a menos que alguém pergunte pelo relatório de status, não haverá informações se esta pessoa está realmente trabalhando na tarefa ou esperando por algo.
Entretanto, é justo dizer que exceto por possibilitar a limitação da quantidade de trabalho que está em andamento, a implementação mais básica do Kanban fornece uma visibilidade limitada tanto do fluxo de trabalho quanto para orientação à melhoria.
Como iniciar um mapeamento preciso do fluxo de trabalho
Quando a equipe estiver confortável com o Kanban, algumas colunas e raias devem ser adicionadas no Kanban board para obter uma visão mais precisa do fluxo de trabalho.
Fazendo isso, será possível enxergar as possibilidades de melhorias potenciais no modo em que a equipe trabalha e experimentar etapas diferentes em seu processo.
Colunas possíveis
Usando como exemplo o cenário de desenvolvimento de software, é possível dividir a coluna "Em Progresso" em múltiplas colunas representando as etapas mais importantes do seu processo como:
(Clique na imagem para ampliar)
- Projeto da solução (Tech Design)
- Codificação
- Pronto para revisão de código
- Em revisão
- Pronto para o Deploy
Ao dividir a coluna "Em Progresso" em cinco etapas diferentes, será possível verificar o progresso de cada tarefa sem deixar o board muito complexo para a equipe entender. Além disso, será possível visualizar as etapas onde o trabalho mais se acumula durante o processo de desenvolvimento - o estágio de revisão.
Raias possíveis
Depois de evoluir o layout do board com colunas adicionais, seria apropriado adicionar algumas raias e deixar a visualização do fluxo de trabalho mais objetivo.
Uma raia típica pode ser separada tanto por prioridade quanto por atividades. É comum observar equipes de TI Ops dividirem seus boards em raias utilizando prioridades. Em um cenário assim, um layout vertical padrão poderia ser:
(Clique na imagem para ampliar)
- Acelerar
- SLA de 24 horas
- SLA de 48 horas
A lógica é simples: a equipe inicia um novo trabalho de acordo com a prioridade. Por exemplo, se houver um card 'acelerar' nos requisitos, todas as outras tarefas que estão sendo feitas serão interrompidas (a menos que seja outro card 'acelerar') e os trabalhos desta tarefa iniciam imediatamente. Seguindo a linha de pensamento, cards SLA de 48 horas ficam por último.
Dividindo o Kanban board em tipos de trabalho é uma prática comum para equipes de desenvolvimento de software. Por exemplo, algumas raias da equipe de desenvolvimento aqui no Kanbanize funcionam assim:
(Clique na imagem para ampliar)
- Problemas no cliente
- Bugs
- Débito técnico
- Features de cliente ou negócio
- Features técnicas
Parecido com as prioridades das raias no layout do board, aqui as tarefas são puxadas do board por nossos desenvolvedores a partir da raia com posição mais alta. A lógica é bem parecida: as raias do topo contém os tipos de cards mais importantes em que nossos desenvolvedores trabalham.
Neste ponto surge uma questão importante: se os cards são retirados de acordo com sua prioridade em ambos os casos, qual o sentido de agrupar os cards pelo tipo de trabalho?
A resposta se esconde na palavra planejamento. Embora o Kanban não seja um mecanismo específico para planejamento, no desenvolvimento de software é algo necessário até certo ponto.
Por exemplo, é importante ter poucos bugs no produto e pouco ou nenhum débito técnico. Entretanto, não se pode parar completamente o desenvolvimento de novas funcionalidades se quiser sobreviver em um mercado dinâmico.
Para simplificar, agrupando os cards em raias de acordo com o tipo de responsabilidade permite que a capacidade da equipe seja otimizada e que se mantenha o fluxo de trabalho em um caminho benéfico para o cliente e para seu empregador.
Libertando o poder do fluxo de trabalho no Kanban
Ao implementar o conhecimento obtido ao alcançar este ponto do artigo, seria possível construir um fluxo de trabalho sólido no Kanban, o que poderia ser considerado avançado de muitas formas. Entretanto, ainda estamos longe do potencial que a ferramenta pode nos oferecer.
Experimento com mapeamento horizontal
Visualizar as etapas mais importantes do processo é suficiente para otimizar o fluxo de trabalho mas não para deixá-lo perfeito. Assim que você e sua equipe alcançarem um ponto onde se sintam confortáveis com o Kanban, deveria ser feito o mapeamento horizontal detalhado de todas as etapas importantes do seu fluxo de trabalho.
Somente trabalhando dessa forma será possível enxergar com precisão os gargalos, organizando o rendimento de etapas específicas utilizando limites para os estágios/colunas WIP para garantir que o gargalo não "fique entupido" (caso seja impossível removê-lo ou não valer a pena o esforço).
Novamente, o foco deveria ser na seção 'Em Progresso' do board.
Por exemplo, poderia ser sensato dividir as etapas maiores em diversas etapas pequenas.
O projeto da solução (Tech Design) pode ser dividido em 4 colunas distintas.
(Clique na imagem para ampliar)
- Projeto da solução (Tech Design)
- Pronto para revisão de projeto
- Em revisão do projeto
- Pronto para codificar
A próxima etapa pode ser divida em outras 4 colunas:
(Clique na imagem para ampliar)
- Codificação
- Teste
- Pronto para revisão de código
- Em revisão de código
Ainda podemos dividir a última etapa do desenvolvimento de software, deployment, em múltiplas etapas como:
- Para ser testado em produção
- Em teste em produção
Podemos ver claramente como o layout do board pode fornecer mais informações sobre o estado das responsabilidades de sua equipe em uma simples observação. Tendo em mente que se busca um fluxo de trabalho estável e o aumento de tarefas que a equipe finaliza, pode-se testar tanto quanto necessário as colunas em seu board.
Otimize suas raias
A função primária das raias do Kanban é agrupar os cards mais parecidos. Entretanto, só será possível obter o melhor do seu Kanban board se o personalizar até um ponto que permita que o trabalho seja seguido da forma mais estável e rápida em direção à entrega final.
Nessa etapa, não devemos ter medo de quebrar as limitações típicas do board e fazer adaptações avançadas no fluxo de trabalho, colocando colunas específicas em cada raia do board.
Vamos colocar isso em prática. Se voltarmos ao board de desenvolvimento de software, será fácil verificar que as colunas apresentam alguns parágrafos acima delas, perfeitos para mapear uma nova raia para o desenvolvimento de uma nova feature.
Contudo, neste board existem atividades como lidar com problemas de clientes e correção de bugs. Como requerem mais agilidade, passar por cada uma das 10 etapas, na maioria dos casos, seria desnecessário.
Quando existe um problema relacionado a uma funcionalidade já implantada, normalmente iniciamos o card a partir da codificação. Após resolvida a questão, uma revisão rápida deveria ser suficiente para determinar se o conteúdo de um card é uma solução funcional e ir diretamente para a implantação.
(Clique na imagem para ampliar)
Neste caso é possível fundir o projeto da solução, codificação e os testes. Como resultado, essas raias dedicadas a correção de bugs serão muito mais velozes.
Podemos ainda considerar fundir as colunas verticalmente através das raias. Essa é uma opção perfeita para equipes que dependem das mesmas pessoas para a revisão dos cards em todas as raias. Se fundirmos verticalmente a revisão dos códigos através das raias, todos os cards submetidos para revisão serão colocados no topo do board.
(Clique na imagem para ampliar)
Isso nos possibilita manter todos os cards, que estão aguardando a revisão, no mesmo lugar. Facilitando para que os stakeholders responsáveis possam processá-los no melhor momento. Também poderemos colocar um limite de WIP individual na coluna Pronto para Revisão e abordar as revisões em lote assim que o limite for atingido.
Mesclar colunas é o melhor caminho para fazer um board com uma estrutura flexível sem deixá-lo complicado, mesmo para praticantes de Kanban avançado. Deveríamos ter isso em mente quando consideramos as etapas do fluxo de trabalho para cada raia.
E sim, podemos mapear todo os fluxos de trabalho das equipes em um único e gigantesco Kanban board com etapas completamente diferentes nas raias. Entretanto, estaremos mais próximos de criar uma confusão do que gerar benefícios para todos.
Para concluir, é razoável dizer que o Kanban é simples somente à primeira vista. Dominar o método e utilizar tudo que o Kanban pode oferecer exige muita prática e experimentação. O caminho do board de 3 colunas para o desenho de um fluxo de trabalho flexível pode requerer meses ou até anos. Não se sinta desencorajado por isso, adote o melhoramento contínuo e aperfeiçoe seu fluxo de trabalho no Kanban um passo de cada vez.
Sobre o autor
Alex Novkov é líder de conteúdo da Kanbanize, uma empresa que desenvolve softwares Kanban. Praticante experiente do Kanban, dedica seu tempo a ensinar ao mundo como ser mais eficiente.