Close

kanban

Como a metodologia Kanban é aplicada ao desenvolvimento de software

Buscar tópicos
Painel do Jira

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.

Usar template

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

[CONTINUAÇÃO]

Otimização do desenvolvimento de software com o fluxo Kanban

O fluxo Kanban, pilar das metodologias ágeis e DevOps, impulsiona a eficiência ao organizar a progressão perfeita das tarefas por meio de fluxos de trabalho visualizados. O fluxo Kanban é semelhante ao gerenciamento simplificado de estoque dos supermercados, garantindo que as tarefas avancem pelos processos de desenvolvimento no momento ideal.

As tarefas representadas como cartões na visualização dos quadros Kanban permitem o acompanhamento transparente do progresso e a identificação rápida de gargalos. Ao limitar o trabalho em andamento (WIP), as equipes otimizam a alocação de recursos e mantêm a estabilidade do fluxo de trabalho. O foco do Kanban na melhoria contínua é viabilizado por métricas como gráficos de controle e diagramas de fluxo cumulativos. Assim, as equipes conseguem refinar fluxos de trabalho em iterações.

No desenvolvimento de software, o fluxo Kanban promove o gerenciamento dinâmico de tarefas, acelera os ciclos de entrega e melhora a satisfação dos clientes com trabalho focado e ininterrupto. Em essência, o fluxo Kanban é um símbolo de eficiência, uma combinação harmoniosa de transparência, adaptabilidade e melhoria contínua, aproveitando todo o potencial das metodologias ágeis.

Estruturação do fluxo Kanban

O estabelecimento do fluxo Kanban estruturado na equipe de desenvolvimento de software é essencial para a implementação eficaz do Kanban. Esse passo garante o bom andamento das tarefas e a otimização do gerenciamento do fluxo de trabalho. Veja como estruturar o fluxo Kanban:

Visualize o fluxo de trabalho: comece com a visualização do fluxo de trabalho da equipe no quadro Kanban. Seja físico ou virtual, o quadro deve descrever cada estágio do processo de desenvolvimento, do início à conclusão das tarefas.

Padronize o fluxo de trabalho: defina e padronize as etapas do fluxo de trabalho de acordo com os processos e requisitos da equipe. As etapas comuns incluem "Pendente", "Em andamento" e "Concluído, mas é possível personalizar de acordo com o fluxo de trabalho que você usa.

Identifique bloqueadores e dependências: garanta que o quadro Kanban possibilite a identificação imediata de bloqueadores e dependências. Essa transparência permite resoluções rápidas e evita interrupções no fluxo de trabalho.

Defina limites de trabalho em andamento (WIP): implemente limites de WIP para todas as etapas do fluxo de trabalho, para evitar sobrecarga e manter a estabilidade do fluxo de trabalho. Os limites de WIP ajudam a otimizar a alocação de recursos e a reduzir a multitarefa, o que promove maior produtividade.

Incentive a colaboração: promova a cultura de colaboração na equipe, assim os membros lidam em grupo com os gargalos e trabalham juntos para garantir o bom andamento do fluxo de trabalho. Essa abordagem colaborativa promove eficiência e antecipa a conclusão das tarefas.

Use cartões Kanban: represente cada tarefa no quadro em cartões Kanban, incluindo informações essenciais, como a descrição da tarefa, o responsável e o tempo estimado para a conclusão. Os cartões Kanban possibilitam o rastreamento visual do progresso das tarefas e promovem transparência entre os membros da equipe.

Ao estruturar o fluxo Kanban assim, você otimiza os processos de desenvolvimento de software, aprimora a colaboração em equipe e a eficiência do gerenciamento de tarefas.

Conheça as origens do Kanban

O Kanban se destaca em equipes de software ágeis e de DevOps de hoje, mas essa metodologia tem mais de 50 anos. No fim dos anos 1940, a Toyota começou a otimizar os processos de engenharia com base no mesmo modelo que os supermercados usavam para abastecer as prateleiras.

Os supermercados guardam em estoque apenas o 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 eficiência significativa na gestão de estoques, reduzindo o estoque excessivo a ser mantido a qualquer momento. Ao mesmo tempo, o supermercado ainda garante que os produtos essenciais estejam sempre em estoque.

Quando a Toyota aplicou esse mesmo sistema no chão de fábrica, a meta era alinhar melhor os 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 o cartão, ou "Kanban", por entre as equipes.

Quando algum contêiner de materiais usados na linha de produção era esvaziado, o cartão Kanban era passado para o depósito, descrevendo o material do qual se precisava, a quantidade exata e assim por diante. O depósito contava com o novo contêiner desse material em espera, que era enviado para o chão de fábrica que, por sua vez, enviava o próprio Kanban para o fornecedor. Embora tenha evoluído desde a década de 1940, esse mesmo processo de fabricação "just-in-time" (ou JIT) permanece no centro da metodologia Kanban.

Metodologia Kanban para equipes de software

Hoje, as equipes ágeis de desenvolvimento de software conseguem aproveitar os mesmos princípios do JIT, combinando a quantidade do trabalho em andamento (WIP) com a capacidade da equipe. Essa capacidade proporciona às equipes opções de planejamento mais flexíveis, saída mais rápida, foco mais claro na melhoria contínua e transparência ao longo do ciclo de desenvolvimento.

Quadro Kanban | Coach Agile da Atlassian

Embora os princípios centrais da estrutura Kanban sejam atemporais e válidos a quase todos os setores, equipes de desenvolvimento de software alcançaram grande sucesso com a prática ágil. Ao contrário da implementação do método Kanban no chão de fábrica, que envolveria alterações nos processos físicos e a adição de materiais substanciais, as únicas coisas físicas que as equipes de software precisam são o quadro e os cartões de tarefas, que podem até mesmo ser virtuais.

Quadros do Kanban

O trabalho de todas as equipes Kanban gira em torno do quadro Kanban, ferramenta usada para visualizar e otimizar o fluxo de trabalho entre as equipes. Embora os quadros físicos sejam populares entre algumas equipes, os quadros virtuais são cruciais em qualquer ferramenta de desenvolvimento ágil de software para a rastreabilidade, colaboração e acessibilidade de vários locais.

Não importa se o quadro Kanban é digital ou físico, ele garante que a equipe visualize o trabalho, padronize o fluxo de trabalho e identifique e resolva no ato todos os bloqueadores e dependências. O quadro Kanban básico tem um fluxo de trabalho de três etapas: "Pendente", "Em andamento" e "Concluído". No entanto, dependendo do tamanho, da estrutura e dos objetivos da equipe, elas podem mapear o fluxo de trabalho para atender processos exclusivos.

A metodologia Kanban depende da transparência total do trabalho e da comunicação em tempo real. Portanto, o quadro Kanban atua como única fonte de verdade para o trabalho da equipe.

Quadro Kanban Agile | Coach Agile da Atlassian

Cartões Kanban

Em japonês, a tradução literal de Kanban é "placa de sinalização". As equipes Kanban representam cada item de trabalho como um cartão separado no quadro. A principal finalidade de representar o trabalho como um cartão no quadro Kanban é permitir que os membros da equipe acompanhem o progresso ao longo do fluxo de trabalho de maneira bastante visual.

Os cartões Kanban mostram informações essenciais sobre as tarefas do projeto, dando às equipes visibilidade sobre quem é responsável por elas, além de uma breve descrição do trabalho e da duração estimada. Muitas vezes, os cartões nos quadros Kanban virtuais também têm capturas de tela e outros dados técnicos valiosos para o responsável.

Permitir que membros da equipe visualizem o status das tarefas a qualquer momento, junto com dados relevantes, aumenta o foco, dá mais abrangência à rastreabilidade e acelera a identificação de bloqueadores e dependências.

Vantagens da estrutura Kanban

O Kanban é uma das metodologias de desenvolvimento de software mais populares entre equipes ágeis hoje em dia. Ele traz outras vantagens para o planejamento de tarefas e para a produtividade de equipes de todos os tamanhos.

Flexibilidade de planejamento

A equipe Kanban foca apenas no trabalho ativo em andamento. Depois que a equipe conclui alguma tarefa, ela seleciona a próxima tarefa do backlog. O proprietário do produto tem liberdade para priorizar o trabalho no backlog sem interromper a equipe, porque alterações fora dos itens de trabalho atuais não afetam a equipe.

Desde que o proprietário do produto mantenha os itens de trabalho mais importantes no topo do backlog, a equipe de desenvolvimento tem certeza de que está agregando o maior valor possível para a empresa.

Dica profissional:

Proprietários de produtos experientes sempre se envolvem com a equipe de desenvolvimento ao levarem em consideração as alterações no backlog. Por exemplo, se as histórias de usuário 1 a 6 estiverem no backlog, a estimativa da 6 pode ser baseada na conclusão das histórias 1 a 5. É sempre boa prática confirmar as alterações com a equipe de engenharia para garantir que não haja surpresas.

Tempos de ciclos reduzidos

O tempo de ciclo é uma métrica essencial para as equipes Kanban. O tempo de ciclo é a quantidade de tempo que a unidade de trabalho leva para passar pelo fluxo de trabalho da equipe desde o momento que o trabalho é iniciado até o 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 mais curtos. 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 práticas recomendadas, como análise de código e mentoria, para disseminar o conhecimento. Habilidades compartilhadas significam que os membros da equipe podem assumir trabalhos heterogêneos, o que otimiza ainda mais o tempo de ciclo.

Sem contar que essa abordagem capacita toda a equipe a lidar com gargalos de trabalho em grupo, viabilizando a resolução rápida e garantindo fluxos de trabalho tranquilos. Por exemplo, as responsabilidades de teste vão além dos engenheiros de controle de qualidade, incluindo desenvolvedores, o que promove o esforço colaborativo para manter a eficiência. No sistema Kanban, toda a equipe garante que o trabalho prossiga sem problemas durante o processo.

Menos gargalos

Ser multitarefas mata a eficiência. O aumento da carga de trabalho ao mesmo tempo leva a mudanças de contexto mais frequentes, o que impede o progresso das tarefas até a conclusão. É por essa razão que um princípio vital do processo Kanban é limitar o trabalho em andamento (WIP). O trabalho em andamento limita gargalos em destaques no processo da equipe devido à falta de foco, pessoas ou conjunto de habilidades.

Por exemplo, a equipe de software típica pode ter quatro estados de fluxo de trabalho: "Pendente", "Em andamento", "Revisão de código" e "Concluído". Eles poderiam optar por definir o limite de WIP do estado de análise de código como 2. Esse limite pode parecer baixo, mas há uma boa razão para isso.

Em geral, desenvolvedores preferem escrever código novo em vez de perder tempo revisando o trabalho de outra pessoa. O limite baixo encoraja a equipe a prestar bastante atenção aos itens no estado de análise e a revisar o trabalho de outras pessoas antes de criar revisões de código, reduzindo, assim, o tempo total do ciclo.

Métricas visuais

Um dos valores centrais é um foco robusto na melhoria contínua da eficiência e eficácia da equipe com cada iteração do trabalho. Os gráficos são um mecanismo visual para equipes garantirem a continuidade da melhoria.

Quando a equipe consegue ver os dados, é mais fácil detectar e remover os gargalos no processo. Dois relatórios comuns usados pelas equipes Kanban são os de gráficos de controle e os de diagramas de fluxo cumulativos. O gráfico de controle mostra o tempo de ciclo para cada item e a média contínua para a equipe.

Dica profissional:

A meta da equipe é reduzir o tempo que qualquer item leva para passar por todo o processo. Ver a média do tempo de ciclo cair no gráfico de controle é um indicador de sucesso.

Gráfico de controle Agile | Coach Agile da Atlassian

Um diagrama de fluxo cumulativo mostra o número de itens em cada estado. A equipe pode detectar bloqueadores com facilidade, visualizando o número de aumento de itens em um determinado estado. Itens em estados intermediários como "Em andamento" ou "Em análise" ainda não foram lançados para os clientes, e um bloqueador nesses estados pode aumentar a probabilidade de grandes conflitos de integração quando o trabalho for mesclado em etapas posteriores.

Diagrama de fluxo cumulativo

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 equipes de DevOps lancem software com mais rapidez e para garantir 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 a equipe puder oferecer inovação para o mercado, mais competitivo o produto vai ser. E o foco das equipes Kanban é bem este: otimizar o fluxo de trabalho para os 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

Metodologia de versões

Scrum

Sprints frequentes, de duração fixa (ex.: duas semanas)

kanban

Fluxo contínuo

Funções

Scrum

Proprietário do produto, mestre scrum, equipe de desenvolvimento

kanban

Entrega contínua ou a critério da equipe

Principais métricas

Scrum

Velocidade

kanban

Tempo de ciclo

Filosofia de mudança

Scrum

As equipes devem tentar ao máximo não fazer alterações na previsão de sprint durante o sprint. O aprendizado a respeito das estimativas fica comprometido quando há alterações.

kanban

Mudanças podem ocorrer a qualquer momento

Algumas equipes misturam os ideais do Kanban e do Scrum, criando o "Scrumban." Elas usam sprints de duração fixa e funções do Scrum, dando ênfase aos limites do trabalho em andamento e ao tempo de ciclo do Kanban.

Porém, para equipes que recém começaram a usar o método ágil, é muito recomendável escolher uma das opções e usar a metodologia por algum tempo. Se a equipe estiver pronta para aplicar a metodologia Kanban, use o template de quadro Kanban grátis hoje mesmo!

Painel do Jira

Comece de graça com o template Kanban do Jira

Maximize a eficiência observando e fazendo avançar o trabalho que mais importa.

Dan Radigan
Dan Radigan

O método ágil mudou a minha vida profissional e pessoal porque aprendi que as melhores experiências são ágeis, sejam em código ou na vida. Meus interesses se dividem entre tecnologia, fotografia e motociclismo. 

a seguir
Painéis