Índice:

Kanban aplicado no Desenvolvimento de Software

Índice:

Hoje em dia é comum empresas de desenvolvimento de software utilizarem um quadro kanban, para gerenciar as atividades do seu time. Porém, na maioria das vezes, as equipes acreditam que basta distribuir os cartões nas colunas do board seja na parede ou virtual e seguir pelo fluxo, e acabam se esquecendo dos princípios da metodologia Kanban. 

Neste artigo vou citar alguns dos princípios deste método simples e prático, que pode contribuir e muito com o gerenciamento do seu projeto.

Origem do sistema Kanban

O nascimento do Kanban encontra-se nas operações industriais da Toyota durante a década de 1940, onde Taiichi Ohno desenvolveu este sistema para melhor gerenciar o fluxo de produção e reduzir o desperdício. A transição do Kanban para o domínio do desenvolvimento de software ocorreu décadas depois, quando os princípios lean começaram a influenciar as metodologias de desenvolvimento ágil.

Fundamentos do método Kanban

O Kanban no desenvolvimento de software é mais que uma mera metodologia; é uma ferramenta poderosa que, quando bem empregada, pode transformar a operação de um time de desenvolvimento. Trata-se de um sistema visual que ajuda a gerenciar e otimizar o fluxo de trabalho entre diferentes fases de um projeto. O Kanban pode proporcionar uma melhoria substancial na eficiência do time, reduzindo o desperdício e maximizando a entrega de valor. Dentre as vantagens primordiais do uso do Kanban no desenvolvimento de software, destacam-se a transparência, a flexibilidade e a capacidade de identificar gargalos no processo de desenvolvimento.

Implantação do Kanban no desenvolvimento de software

A implantação bem-sucedida do Kanban no desenvolvimento de software é um processo que necessita de uma atenção detalhada desde o início. Vamos explorar cada etapa do Kanban com mais profundidade:

  1. Definição das Políticas de Fluxo de Trabalho: A primeira etapa é estabelecer políticas claras de fluxo de trabalho. Essas políticas devem ser desenhadas para refletir as operações atuais e aspirações futuras da equipe. Devem incluir regras de movimentação de tarefas entre diferentes estágios, critérios de aceitação, e procedimentos para lidar com bloqueios e dependências. É crucial que estas políticas sejam comunicadas e compreendidas por todos os membros da equipe para garantir um entendimento uniforme do processo.

  2. Mapeamento do Processo Atual: Antes de mudar para o Kanban, é vital ter uma compreensão clara do processo atual. O mapeamento do processo fornece uma visão detalhada de como as tarefas se movem através do sistema de desenvolvimento existente. Esta análise permite identificar áreas de melhoria e estabelecer um baseline para comparar o desempenho futuro.

  3. Montagem do Quadro Kanban:

    • Definição das Colunas: Cada coluna no quadro Kanban representa uma fase distinta no fluxo de trabalho. As colunas devem ser definidas de forma a refletir as etapas reais que uma tarefa passa desde a concepção até a conclusão.
    • Identificação das Tarefas e dos Cartões Kanban: Cada tarefa é representada por um cartão Kanban. É essencial que cada cartão contenha todas as informações necessárias para que a tarefa seja compreendida e executada corretamente.
    • Estabelecimento de Limites de Trabalho em Progresso (WIP): Limites de WIP são colocados para restringir a quantidade de trabalho que pode ser empreendida em cada fase. Estes limites ajudam a manter o foco e evitar a sobrecarga de trabalho.
  4. Iniciando o Fluxo de Trabalho em Kanban: Com o quadro Kanban montado e as políticas de fluxo de trabalho definidas, é hora de iniciar o fluxo de trabalho em Kanban. Esta fase envolve a movimentação contínua de cartões Kanban através das colunas, representando o progresso das tarefas.

  5. Monitoramento Constante: O monitoramento constante do fluxo de trabalho é fundamental para identificar gargalos e oportunidades de melhoria. O objetivo é garantir que o fluxo de trabalho permaneça eficiente e que quaisquer impedimentos sejam rapidamente identificados e resolvidos.

  6. Promoção de Melhorias Contínuas: O Kanban é uma metodologia ágil que valoriza a melhoria contínua. Com base nos insights obtidos através do monitoramento do fluxo de trabalho, a equipe deve se esforçar para implementar melhorias que aumentem a eficiência e a eficácia do processo de desenvolvimento.

Como utilizar o Quadro de Kanban

É importante definir bem o que representa cada coluna do quadro de Kanban

É importante que cada coluna do board tenha uma definição clara do que representa dentro do seu workflow. E isso precisa ficar explícito para toda a equipe. A coluna “Ready to Dev” por exemplo, é nomeada desta forma pois significa que os cards que estão colocados ali são de atividades que estão realmente “prontas para serem desenvolvidas”, de acordo com aquilo que o time definiu. E o mesmo deve ser considerado para todo o restante do quadro kanban.

Olhar mais o board da direita para a esquerda

É comum que equipes de desenvolvimento sempre olhem para a coluna de “To do”, “Ready to Dev” ou qualquer outro nome que leve a coluna de itens “a fazer” e preocupem-se apenas em puxar novos itens desta coluna para o fluxo do board.

No entanto, uma das principais recomendações do Kanban é olhar o quadro mais da direita (final do fluxo) para a esquerda (início do fluxo). Ou seja, focar em terminar mais ao invés de começar coisas novas. Isso ajuda a manter o fluxo do board e gerar uma entrega de valor maior para o cliente. Além de dar para a equipe a visão de que estão finalizando as atividades.

Fluxo puxado

Ao contrário de outras metodologias ágeis como o Scrum por exemplo, que utiliza o fluxo empurrado. O Kanban é baseado no “sistema de produção puxado” ou fluxo puxado, isso significa que cada etapa do processo “puxa” uma demanda da etapa anterior. O próprio board “pede” mais demanda, conforme a equipe realiza as entregas.

Limitar o trabalhar em progresso – WIP (WORK IN PROGRESS)

Outra recomendação importante ao se utilizar o método Kanban no desenvolvimento de software, é limitar seus itens de trabalho em progresso. Essa limitação pode ser aplicada nas colunas do board, como por exemplo: a coluna “Ready to QA” tem um WIP de 3 itens, ou seja, a capacidade máxima dessa coluna é de 3 cards, então a equipe deve sempre ficar atenta a ela e não deixar que atinja seu limite. Isso normalmente é feito quando uma etapa do fluxo, neste caso a de tarefas a serem testadas, está gerando gargalo, aumentando o WIP do quadro e consequentemente o tempo das entregas. 

E como o time pode agir neste caso? Realizando sempre os testes dos itens que estão prontos para serem testados, antes de começar a desenvolver algo novo, por exemplo. Isso vai de encontro com o princípio citado anteriormente, de olhar mais o board da direita para a esquerda. Vale ressaltar que para David J. Anderson, pioneiro do método, todas as etapas do Kanban devem possuir o WIP limitado de forma explícita.  

Afinal, limitar a quantidade de itens de trabalho, ajuda a equipe a ter um foco maior na entrega. Pode minimizar ou evitar GAPs existentes no fluxo, contribuir com uma maior cadência nas entregas e gerar mais qualidade.

Uma última observação neste item, é que mesmo sendo um princípio do Kanban, defendido pelo próprio David Anderson, devemos ficar atentos ao limitar o WIP em times com maturidade baixa. O indicado é começar limitando as etapas que estão gerando gargalo e aumentar esse limite quando as entregas estiverem sendo feitas com qualidade. Devemos sempre considerar que o Kanban também preza por aplicar conceitos que contribuam para a melhora do processo.

Importância da Coleta de Métricas Kanban

A coleta de métricas do kanban não é apenas uma tarefa rotineira, mas uma necessidade vital para entender a performance do processo de desenvolvimento. As métricas fornecem uma base quantitativa para análise, permitindo uma visão clara do desempenho atual e áreas que necessitam de melhoria. Esses dados numéricos são cruciais para tomar decisões informadas e promover uma melhoria contínua.

Métricas Comuns

    • Tempo Médio de Ciclo: Esta métrica mede o tempo necessário para uma tarefa mover-se do início ao fim do processo. Um tempo de ciclo mais curto pode indicar uma entrega mais rápida, enquanto um tempo de ciclo mais longo pode sinalizar atrasos ou gargalos no processo.
    • Velocidade de Entrega: A velocidade de entrega refere-se ao número de tarefas completadas em um determinado período de tempo. Esta métrica é útil para avaliar a capacidade da equipe e a eficiência do processo.
    • Taxa de Dependência: A taxa de dependência mede a relação entre tarefas dependentes e independentes. Uma alta taxa de dependência pode indicar complexidade no processo e a necessidade de melhor coordenação.

Utilização das Métricas para Identificação de Oportunidades

As métricas coletadas fornecem uma fundação sólida para identificar oportunidades de melhoria. Por exemplo, um tempo de ciclo longo pode indicar gargalos que necessitam de atenção. Da mesma forma, uma baixa velocidade de entrega pode sinalizar a necessidade de recursos adicionais ou melhorias no processo.

Otimização do Fluxo de Trabalho

Com base nas análises das métricas Kanban, a otimização do fluxo de trabalho pode ser empreendida. Por exemplo, a reorganização das colunas do quadro Kanban ou a redefinição dos limites de trabalho em progresso podem ser necessárias para melhorar a eficiência. Ajustes finos no processo, com base em métricas confiáveis, podem levar a melhorias significativas na entrega e na satisfação da equipe.

Conclusão

Esses são alguns dos princípios do método Kanban, que é uma ferramenta incrível. Utilizá-la pode contribuir muito com o gerenciamento de projetos, não só de software, mas de qualquer outra área.  Entender os princípios do Kanban é o primeiro passo para começar a utilizá-lo. Por isso, é sempre importante lembrar que o Kanban é um processo evolucionário!

Então devemos começar com um quadro básico, praticando os princípios recomendados. E depois evoluir isso aos poucos de acordo com as necessidades do projeto e maturidade do time.

Quer aplicar o Kanban com o seu time? Então leia nosso artigo sobre STATIK, clicando aqui!

Publicado por:
Compartilhe:

Posts relacionados

entrega de software

No atual cenário de desenvolvimento de software, a pressão por eficiência e velocidade de entrega nunca foi tão intensa. Empresas de todos os tamanhos estão buscando maneiras de acelerar o

Estimativas de projetos de software

Quando falamos em gestão de um time de engenharia de software, os principais desafios que vem à cabeça são como estimar as atividades, e como lidar com as expectativas dos

Introdução ao Shape-up

Se você trabalha na área de engenharia de software, e se interessa por gestão de projetos, com certeza já deve ter ouvido falar na metodologia Shape-up ou no produto desenvolvido