kanban
Como a metodologia Kanban é aplicada ao desenvolvimento de software
Comece de graça com o template de Kanban do Jira
Maximize a eficiência observando e fazendo avançar o trabalho que mais importa.
O que é Kanban?
O método Kanban é uma estrutura popular usada para implementar o desenvolvimento de software ágil e de DevOps. Ele precisa de comunicação de capacidade em tempo real e transparência total de trabalho. Os itens de trabalho ganham representação visual em um quadro Kanban, permitindo que os membros da equipe vejam o estado de cada parte do trabalho a qualquer momento.
Artigos do kanban
Aprenda a usar o Kanban com o Jira Software
Instruções passo a passo sobre como conduzir um projeto kanban, priorizar seu trabalho, visualizar seu fluxo de trabalho e minimizar o trabalho em andamento com o Jira Software
Experimente este tutorialDe "por fazer" a "concluído" com painéis Kanban do Jira
O painel Kanban do Jira Software é projetado para ajudar as equipes a melhorar o tempo de ciclo e aumentar a eficiência.
Obtenha grátisO Kanban é muito proeminente entre as equipes de software ágil e de DevOps de hoje, mas essa metodologia de trabalho remonta a mais de 50 anos. No fim dos anos 1940, a Toyota começou a otimizar seus processos de engenharia com base no mesmo modelo que os supermercados usavam para abastecer suas prateleiras. Os supermercados abastecem apenas a quantidade de produtos suficiente para atender à demanda dos consumidores, uma prática que otimiza o fluxo entre o supermercado e o consumidor. Como os níveis de estoque correspondem a padrões de consumo, o supermercado ganha uma eficiência significativa na gestão de estoques, reduzindo a quantidade excessiva de produtos a ser mantida a qualquer momento. Mesmo assim, o supermercado ainda consegue garantir que determinado produto do qual um consumidor precisa esteja sempre no estoque.
Quando a Toyota aplicou esse mesmo sistema em seu chão de fábrica, o objetivo era alinhar melhor seus níveis enormes de estoque com o consumo real de materiais. Para comunicar níveis de capacidade em tempo real no chão de fábrica (e aos fornecedores), os trabalhadores passavam um cartão, ou "kanban", entre as equipes. Quando um contêiner de materiais usados na linha de produção era esvaziado, um kanban era passado para o depósito, descrevendo o material que era necessário, a quantidade exata desse material e assim por diante. O depósito contava com um novo contêiner desse material em espera, o qual era enviado para o chão de fábrica, que, por sua vez, enviava seu próprio kanban para o fornecedor. O fornecedor também tinha um contêiner desse material particular em espera, que deveria ser enviado para o depósito. Embora a tecnologia de sinalização desse processo tenha evoluído desde a década de 1940, esse mesmo processo de fabricação "just in time" (ou JIT) continua no centro do processo.
Metodologia Kanban para equipes de software
Hoje, as equipes ágeis de desenvolvimento de software são capazes de aproveitar esses mesmos princípios do JIT, combinando a quantia do trabalho em andamento (WIP) com a capacidade da equipe. Isso proporciona às equipes opções de planejamento mais flexíveis, saída mais rápida, foco mais claro e transparência ao longo do ciclo de desenvolvimento.

Embora os princípios centrais da estrutura sejam atemporais e válidos a quase todas as indústrias, as equipes de desenvolvimento de software encontraram um sucesso especial com a prática ágil. Isso ocorre, em parte, porque as equipes de software podem começar a praticar com pouca ou nenhuma sobrecarga, uma vez que entendem os princípios básicos. Ao contrário da implementação do método Kanban no chão de fábrica, que envolveria mudanças nos processos físicos e a adição de materiais substanciais, as únicas coisas físicas que as equipes de software precisam são um quadro e cartões, que podem até mesmo ser virtuais.
Quadros do Kanban
O trabalho de todas as equipes Kanban gira em torno de um quadro do Kanban, uma ferramenta usada para visualizar o trabalho e otimizar o fluxo do trabalho entre a equipe. Embora os quadros físicos sejam populares entre algumas equipes, os quadros virtuais são um recurso crucial em qualquer ferramenta de desenvolvimento ágil de software para sua rastreabilidade, colaboração mais fácil e acessibilidade de vários locais.
Independentemente de o quadro de uma equipe ser físico ou digital, sua função é assegurar que o trabalho da equipe seja visualizado, que seu fluxo de trabalho seja padronizado e que todos os bloqueadores e dependências sejam imediatamente identificados e resolvidos. Um quadro básico do Kanban tem um fluxo de trabalho de três etapas: "To Do", "In Progress" e "Done" (a fazer, em andamento e feito). No entanto, dependendo do tamanho, da estrutura e dos objetivos da equipe, o fluxo de trabalho pode ser mapeado para atender ao processo exclusivo de qualquer equipe específica.
A metodologia Kanban depende da transparência total do trabalho e da comunicação de capacidades em tempo real. Portanto, o painel Kanban deve ser visto como a única fonte de verdade para o trabalho da equipe.

Cartões Kanban
Em japonês, kanban é traduzido literalmente como "sinal visual." Para as equipes Kanban, cada item de trabalho é representado como um cartão separado no quadro.
A principal finalidade de representar o trabalho como um cartão no quadro do Kanban é permitir que os membros da equipe acompanhem seu andamento por meio do fluxo de trabalho e de uma maneira altamente visual. Os cartões Kanban apresentam informações cruciais sobre determinado item de trabalho, dando visibilidade total à equipe sobre quem é o responsável por ele, uma breve descrição da tarefa sendo feita, qual a estimativa de tempo para essa parte do trabalho e assim por diante. Muitas vezes, os cartões nos quadros virtuais do Kanban também apresentarão capturas de tela e outros detalhes técnicos valiosos para o destinatário. Ao permitir que os membros da equipe visualizem não só a situação de cada item de trabalho a qualquer momento, mas também todos os detalhes associados, garante-se maior foco, total rastreabilidade e identificação rápida de bloqueadores e dependências.
Os benefícios do Kanban
O que é Kanban? O Kanban é uma das metodologias de desenvolvimento de software mais populares adotadas por equipes ágeis atualmente. Ele oferece várias vantagens adicionais para o planejamento e a transferência de tarefas para equipes de todos os tamanhos.
Flexibilidade de planejamento
Uma equipe Kanban concentra-se apenas no trabalho ativo em andamento. Depois que a equipe conclui um item de trabalho, ela remove o próximo item de trabalho do topo do backlog. O proprietário do produto é livre para priorizar o trabalho na lista de pendências sem interromper a equipe, porque qualquer alteração fora dos itens de trabalho atuais não impactam a equipe. Contanto que o proprietário do produto mantenha os itens de trabalho mais importantes no topo da lista de pendências, a equipe de desenvolvimento tem certeza de que está retornando o valor máximo para a empresa. Portanto, não há necessidade das iterações de extensão fixa que você encontra no scrum.
Proprietários de produtos experientes sempre se envolvem com a equipe de desenvolvimento ao levarem em consideração as mudanças na lista de pendências. Por exemplo, se as histórias dos usuários 1 a 6 estão na lista de pendências, a estimativa da história do usuário 6 pode ser baseada na conclusão das histórias dos usuários 1 a 5. É sempre uma boa prática confirmar as mudanças com a equipe de engenharia para garantir que não haja surpresas.
Tempos de ciclos reduzidos
O tempo de ciclo é uma métrica-chave para as equipes Kanban. O tempo de ciclo é a quantidade de tempo que uma unidade de trabalho leva para passar pelo fluxo de trabalho da equipe desde o momento que o trabalho é iniciado até o seu envio. Ao otimizar o tempo de ciclo, a equipe pode prever com confiança a entrega do trabalho futuro.
A sobreposição de conjuntos de habilidades leva a tempos de ciclo menores. Quando apenas uma pessoa detém um conjunto de habilidades, ela se torna um gargalo no fluxo de trabalho. Dessa forma, as equipes empregam as melhores práticas básicas, como revisão de código e ajuda em mentoria, para disseminar o conhecimento. Habilidades compartilhadas significam que os membros da equipe podem assumir um trabalho heterogêneo, o que otimiza ainda mais o tempo de ciclo. Assim, se houver um gargalo no trabalho, toda a equipe pode se mobilizar para que o processo flua com perfeição outra vez. Por exemplo, o teste não é feito apenas por engenheiros de controle de qualidade. Os desenvolvedores também o fazem.
Em uma estrutura Kanban, é responsabilidade de toda a equipe assegurar que o trabalho esteja avançando perfeitamente pelo processo.
Menos gargalos
Ser multitarefas mata a eficiência. Quanto mais itens de trabalho em curso em um determinado momento, mais troca de contexto, o que dificulta o caminho para a conclusão. É por isso que um dos princípios básicos do Kanban é limitar a quantidade de tarefas em andamento (WIP, Work in Progress). Esse recurso limita gargalos e backups em destaques no processo da equipe devido à falta de foco, pessoas ou conjunto de habilidades.
Por exemplo, uma equipe de software típica pode ter quatro estados de fluxo de trabalho: "A fazer", "Em andamento", "Análise de código" e "Concluído". Eles poderiam optar por definir um limite WIP de 2 para o estado de análise de código. Pode parecer um limite baixo, mas tem um bom motivo: muitas vezes os desenvolvedores preferem escrever um código novo em vez de gastar o tempo revendo o trabalho de outra pessoa. Um limite baixo encoraja a equipe a prestar atenção especial aos problemas no estado de análise e a analisar o trabalho de outros antes de criar suas próprias análises de código. Assim, o tempo total de ciclo é reduzido.
Métricas visuais
Um dos valores centrais é um foco robusto na melhoria continua da eficiência e eficácia da equipe com cada iteração do trabalho. Os gráficos fornecem um mecanismo visual para as equipes garantirem a continuidade da melhoria. Quando a equipe pode ver os dados, é mais fácil detectar os gargalos no processo e removê-los. Dois relatórios comuns usados pelas equipes Kanban são os de gráficos de controle e os de diagramas de fluxo cumulativos.
Um gráfico de controle mostra o tempo de ciclo para cada problema, bem como uma média contínua para a equipe.
O objetivo da equipe é reduzir o período de tempo que um item leva para passar por todo o processo. Ver a queda do tempo médio do ciclo no gráfico de controle é um indicador de sucesso.
Um diagrama de fluxo cumulativo mostra o número de itens em cada estado. A equipe pode detectar bloqueios com facilidade vendo o número de aumento de itens em qualquer estado determinado. Os itens em estados intermediários, como "Em andamento" ou "Em revisão", ainda não foram enviados para clientes e um bloqueio nesses estados pode aumentar a probabilidade de conflitos de integração em massa quando o trabalho for incorporado a montante.
Serviço constante
A entrega contínua (CD) é a prática de lançar trabalhos com frequência para clientes. A integração contínua (CI) é a prática de fazer a compilação e o teste automáticos do código com incrementação ao longo do dia. Juntas, elas formam um pipeline de CI/CD que é essencial para que as equipes de desenvolvimento (em especial as equipes de DevOps) lancem mais rápido o software, garantindo alta qualidade.
O Kanban e a CD se complementam com perfeição, porque ambas as técnicas se concentram na entrega just-in-time (e one-at-a-time) de valor. Quanto mais rápido uma equipe puder oferecer inovação para o mercado, mais competitivo o produto vai estar no mercado. E o foco das equipes Kanban é bem este: otimizar o fluxo de trabalho para clientes.
Scrum vs. Kanban
Kanban e scrum compartilham alguns dos mesmos conceitos, mas têm diferentes abordagens. Eles não devem ser confundidos um com o outro.
Scrum | kanban | |
Ritmo | Sprints regulares com extensão fixa (2 semanas) | Fluxo contínuo |
Metodologia de versões | No final de cada sprint, se aprovado pelo proprietário do produto | Entrega contínua ou a critério da equipe |
Funções | Proprietário do produto, mestre scrum, equipe de desenvolvimento | Sem funções existentes. Algumas equipes recorrerem à ajuda de um agile coach. |
Principais métricas | Velocidade | Tempo de ciclo |
Filosofia de mudança | As equipes devem se esforçar para não fazer alterações na previsão de sprint durante o sprint. Ao fazer isso, o aprendizado em torno da estimativa fica comprometido. | Mudanças podem ocorrer a qualquer momento |
Algumas equipes misturaram os ideais do Kanban e Scrum para formar o "Scrumban." Eles tomam os sprints de extensão fixa e as funções a partir do Scrum e focam nos limites de trabalho em andamento e no tempo de ciclo a partir do Kanban. Porém, para as equipes que acabaram de começar com o Agile, é muito recomendável escolher uma metodologia ou outra e usar por um tempo. Você sempre pode iniciar aquela que for ideal mais tarde.
Comece de graça com o template Kanban do Jira
Maximize a eficiência observando e fazendo avançar o trabalho que mais importa.
Pronto para começar?
Instruções passo a passo sobre como conduzir um projeto do Kanban, priorizar seu trabalho, visualizar o fluxo de trabalho e minimizar o trabalho em andamento com o Jira Software.
Leia este tutorialDesign do Agile: processo e diretrizes para um design colaborativo
O design colaborativo itera sobre um design de produto buscando as perspectivas de seus clientes e desenvolvedores no início de um projeto. Leia mais.
Leia este artigo