Você está familiarizado com o Scrum, certo? Eu acho que sim, considerando que a The Scrum Alliance tem mais de 400.000 membros, e a maioria deles está usando com sucesso em suas organizações.
Mas, não é a única maneira de construir software de forma ágil - a sério! Você já ouviu falar do Kanban?
Para obter um pouco de informação de base, ela foi originalmente aplicada à manufatura enxuta como uma maneira de visualizar a entrada e a saída do trabalho enquanto ela fluía por uma fábrica. Essa visualização foi apresentada em uma placa conhecida como - espere por ela - Kanban. Mais recentemente e mais pertinente para você, ele foi adotado como um método para gerenciar o desenvolvimento de software.
Descrito pela primeira vez pelo neurologista David J. Anderson, é uma maneira de organizar o desenvolvimento e o planejamento de software que permite que você descubra problemas de processo e forneça consistentemente melhorias valiosas em seu produto - o que eu sei, soa ideal. Simplificando, a qualquer momento, você pode ver onde o trabalho (representado por cartões) está em processo de desenvolvimento.
Como funciona
O quadro Kanban básico usa seis colunas que mostram onde cada parte do trabalho está no ciclo de desenvolvimento do produto. Uma amostra aproximada do que parece está abaixo.
Veja este exemplo do quadro Kanban no Trello.
Coluna 1: lista de pendências
A coluna Backlog deve conter uma lista priorizada de ideias, bugs ou necessidades de negócios. O cartão não precisa ter muitos detalhes ainda, mas deve ter informações suficientes para que os membros da sua equipe entendam por que isso é importante.
Coluna 2: planejamento
Nesta coluna, um gerente de produto preencherá uma especificação para o recurso, reunindo-se com partes interessadas, engenheiros e designers da empresa. Quando estiver pronto, ele ou ela irá movê-lo para a coluna "Pronto para Engenharia".
Coluna 3: Pronto para Engenharia
Nesta fase, todos os cartões devem ter especificações detalhadas. Embora você ainda possa ter dúvidas sobre detalhes técnicos, os requisitos de negócios devem ser claros.
Coluna 4: em andamento
Você pode mover um cartão para "Em andamento" a qualquer momento. Este sistema “puxado” auto-dirigido constrói uma cultura de responsabilidade pessoal e curiosidade.
Coluna 5: Teste
Quando você tiver concluído o trabalho no cartão, mova-o para "Teste", onde outro engenheiro (ou alguém da equipe de controle de qualidade) irá buscá-lo.
Coluna 6: Implantada
Outra característica definidora é que o trabalho deve ser entregue continuamente a um ambiente de preparação ou de produção. Esta coluna permite que qualquer pessoa da equipe veja qual trabalho foi lançado recentemente.
As vantagens e desvantagens
Quando você está decidindo entre Kanban e uma metodologia mais comum como Scrum ou Waterfall, tenha em mente os seguintes benefícios e desafios:
Benefício: melhora a colaboração
Em algumas equipes de desenvolvimento com quem trabalhei, engenheiros eram especialistas. Cada equipe teria alguns engenheiros frontend e engenheiros backend. Isso significava que o trabalho muitas vezes era bloqueado porque um engenheiro estava ocupado com outra coisa.
O Kanban, por outro lado, limita o trabalho em andamento e desestimula os bloqueios. Cada membro da equipe só pode trabalhar em um item de cada vez, e qualquer pessoa que não esteja ocupada pode puxar o trabalho do topo da coluna "Pronto para Engenharia". Isso incentiva especialistas em engenharia e colaboração entre os membros da equipe.
Aumente o benefício: não deixe as coisas passarem antes que estejam prontas
O Kanban só funciona quando você espera mover as cartas para a próxima coluna até que estejam completamente concluídas. (Bônus: Isso minimiza muito os defeitos.)
Desafio: Desencoraja o Tempo para Refletir
Por padrão, não há sprints de caixa de tempo com metas claras, destinos de data e ciclos de lançamento. Em vez disso, pense em cada cartão como um trabalho independente que pode ser concluído e liberado a qualquer momento.
Com este fluxo contínuo de trabalho, não há a opção "esperar até o próximo sprint". Você precisa verificar continuamente a placa, puxar o próximo item e mover os itens concluídos para baixo. A menos que você construa a tempo para retrospectivas e exibições, pode ser difícil para os membros da equipe acompanharem o que estão fazendo.
Contornar: Emprestar o que funciona do Scrum
Eu usei standups e retrospectivas diárias com o Kanban e descobri que eles agregam valor. Se houver reuniões regulares ou padrões que funcionem para sua equipe, não os altere para aderir dogmaticamente ao Kanban. Orce o tempo para falar sobre as prioridades e como elas mudaram para que todos saibam o que está acontecendo no ciclo de desenvolvimento do produto.
Benefício: Aumenta a Transparência
Cada desenvolvedor deve tomar a iniciativa de mover um cartão para a coluna "Em andamento". Ou seja, a qualquer momento, o gerente da equipe pode dar uma olhada em quem está ocupado, quem não está ocupado e por quanto tempo o trabalho está em andamento.
Quando a produção desacelera ou pára, o Kanban permite que você veja exatamente o motivo. Seja porque a equipe de negócios não priorizou itens no backlog, a equipe de produto não concluiu as especificações, a equipe de desenvolvimento está se movendo mais lentamente do que o esperado ou a equipe de controle de qualidade não conseguiu testar algo; os gargalos são óbvios.
Aumente o benefício: permita que o progresso seja público
Uma das vantagens é que o Kanban é muito visual. Até mesmo membros da equipe não técnicos podem ver um quadro Kanban e dizer onde estão os trabalhos no processo. Use isso a seu favor e permita que as realizações da equipe brilhem colocando sua prancha em um local público.
Desafio: não permite planejamento a longo prazo
Preocupar-se com prazos e estimativas não é o uso mais produtivo do seu tempo, então você pode perceber que o Kanban é mais sobre a produção do dia-a-dia. Dito isto, só ele não fornece um sistema para a construção de um plano de longo prazo. Isso pode fazer com que você trabalhe em projetos esporadicamente, em vez de se concentrar em uma coisa por um longo tempo. É difícil passar um dia no Projeto A e depois um dia no Projeto B e voltar ao Projeto A.
Contornar: Use quando suas prioridades provavelmente mudarão
Cada coluna do seu quadro é independente das outras, de modo que os membros da equipe podem mudar as coisas a qualquer momento. Isso pode incomodar os desenvolvedores em um ambiente Scrum (onde as estimativas para o sprint são feitas antecipadamente), mas o Kanban prospera nesse tipo de ambiente que muda rapidamente.
Todo mundo quer ser mais produtivo, mas pode ser difícil tentar algo novo se você nem sabe por onde começar. Eu encontrei Kanban para ser útil e espero que você também ache útil para seu fluxo de trabalho pessoal (ou mesmo para toda a sua equipe!).
Tweet-me se você decidir dar uma chance!