Kaizen é um termo oriental que descreve uma filosofia extremamente importante no âmbito da gestão moderna. Uma filosofia que alimenta uma cultura: a cultura da melhoria contínua. A idéia é incorporar ao nosso dia-a-dia, a prática de se pensar não só no que está sendo feito ou precisa ser feito, mas também no como algo está sendo feito ou como algo deveria estar sendo feito. Certamente é o tipo de cultura que todos almejamos. Entretanto, no momento de tentar aplicar, algumas perguntas aparecem de imediato: Melhorar o quê? Como? Qual o ponto de partida? Nesse texto, vamos descobrir como estabelecer esse ponto de partida adotando-se o paradigma do fluxo e melhoria contínua com Kanban.

O Kanban é um modelo de gestão que viabiliza um ponto de partida. Atualmente, sua aplicação e efetividade cresce progressivamente ano após ano na indústria de software e também em outras áreas do trabalho do conhecimento em geral. Também de origem oriental, a palavra “kanban” significa “cartão de sinalização”. Com o uso de kanbans, as fábricas conseguem regular seus estoques, identificar gargalos e organizar melhor as equipes de trabalho. Os “kanbans” permitem que uma dada operação (ou estágio) de uma linha de produção só receba novo trabalho quando a operação imediatamente à frente sinalize sua disponibilidade. Foi esse certamente um dos instrumentos chaves que ajudaram a Toyota a inovar a gestão na segunda metade do século passado com o modelo “Just in Time” de produção. Na área de software, o uso de “kanbans virtuais”, semelhante ao modelo da Toyota, foram primeiramente introduzidos por David Anderson, em 2007, quando ele começou a divulgar suas observações sobre o efeito dessa prática em suas experiências na gestão de projetos de software em empresas como Microsoft e Corbis.

Mas como funciona? Muitos dizem que não é possível descrever Kanban, é preciso vivenciá-lo, e há um pouco de verdade nisso. Tudo começa com a criação de visibilidade. Em sua versão mais simples, usa-se quadros brancos, ou a própria parede para se projetar um mapa de tudo que está acontecendo em termos de atividades e entregáveis do projeto. Post-its são utilizados para representar diferentes itens de trabalho que estão normalmente em fluxo por uma série de estágios na qual o processo é mapeado. Cores diferentes são utilizadas para representar tipos diferentes de trabalho, entregáveis ou mesmo tarefas a fazer. Avatares ou adesivos com fotos das pessoas do time, ou ainda personagens que os representem, são adicionados ao quadro e posicionados nas atividades em que cada um está envolvido. O quadro é enriquecido com outros detalhes como problemas, impedimentos, métricas e outras sinalizações que descrevem o estado atual das coisas. Forma-se a fotografia do trabalho.

Dado que há um mapa detalhado de todo o trabalho na parede, e as pessoas usam esse mapa para discutir sobre seu andamento em reuniões periódicas, uma primeira transformação ocorre. Agora temos uma grande visualização do todo e, com ela, uma visão das coisas que realmente importam. O que antes estava atribuído individualmente para cada pessoa, agora faz parte do contexto de uma mapa geral. O sistema de trabalho  pode ser discutido por todos e operado de forma coletiva. Nessas reuniões, o grupo discute qual a melhor estratégia para se envolver e resolver as questões mais importantes do momento. As pessoas param de receber o trabalho para se manterem ocupadas (modelo empurrado por delegação direta) e começam a selecionar o próximo trabalho para ajudar o grupo como um todo a alcançar seus objetivos (modelo puxado pela autonomia no envolvimento de cada um).

A construção do mapa e o poder da visualização são grandes conquistas, mas o potencial do Kanban não pára por aí. A segunda transformação impactante vem da adoção do que chamamos de “sistema puxado”. Depois que a equipe começou a visualizar o trabalho em andamento, ela começa agora a perceber que muitos itens se enfileram em estágios diferentes do processo. Por exemplo, há cinco features referentes à nova release do nosso produto que precisam ser testadas. Há três em desenvolvimento e nove outras já testadas que aguardam homologação do cliente. De repente se percebe que, na verdade, todo o trabalho está organizado em filas segmentadas pelas diversas transferências de trabalho requeridas pelo sistema. Tais filas são formadas ou por itens que estão sendo trabalhados, ou por itens que estão aguardando para serem trabalhados na primeira disponibilidade de um colaborador capacitado. Percebe-se ao longo do tempo, que essas filas podem crescer se não administradas, e que quanto maior é o tamanho dessas filas, maior será o tempo que cada um dos itens demorará para ser entregue.

O Kanban resolve o problema das filas por meio da criação de limites para a quantidade de itens que podem ser movimentados em cada estágio do processo.  Os limites também causam outro efeito importante. Eles impedem que ocorra super-produção nas etapas que estão atrás dos gargalos. Liberadas da super-produção, as pessoas investem esse tempo para ajudar no próprio gargalo ou na frente dele. Tempo esse que, sem os limites, seriam utilizados para produzir itens que o sistema não consegue absover de qualquer maneira, ou seja, super-produção. Veja o exemplo das Figuras 1a e 1b. Após terminar seu trabalho, o desenvolvedor move o cartão associado para um buffer de espera, a coluna “Feito” (1). Para decidir o que fazer a seguir, ele “dá dois passos pra trás” (2) a fim de visualizar o processo como um todo (visão sistêmica). Ao analisar o quadro, ele percebe que tem duas opções de movimentação: representadas na imagem pelas setas (3) e (4). Se optar por (3), ele começaria a próxima feature, mas ele percebe que não pode, pois isso quebraria o limite imposto ao estágio de desenvolvimento.  Assim, ao invés de começar um novo item, ele opta por ajudar a resolver o problema sinalizado nos testes de um outro item (4). O sistema o incentiva a atuar na frente do gargalo de forma a concluir o que está mais próximo do fim antes que algo novo seja iniciado.  Com isso equipes Kanban adquirem um novo e importante hábito: Elas param de começar e começam a terminar.

kanban-exemplo-1
Figura 1a: Desenvolvedor move cartão após finalizar um item de trabalho (1) e depois se põe a analisar o processo como um todo (2) para decidir qual o melhor próximo movimento.

kanban-exemplo-2
Figura 1b: Desenvolvedor decidindo entre duas opções de movimentação.

Na medida em que as atividades são concluídas, os post-its se movem da esquerda para a direita em um processo ritmado. Os limites impedem que algo entre no sistema sem que antes outra coisa tenha saído. Forma-se o que é conhecido como “Sistema Puxado” e o fluxo começa a se tornar ritmado e previsível. Um claro senso de gestão de capacidade é criado na equipe, o ritmo dá suporte à coleta de métricas e agora o time é capaz de coletar e reportar números sobre a eficiência do seu processo, tais como:

  • lead time (tempo médio de entrega de ponta-a-ponta);
  • cycle time (ritmo/frequência de saída do sistema);
  • throughput (rendimento em termos do volume de entregas por período de tempo);
  • due date performance (índice de previsibilidade)

Para se adaptar aos modelos de risco, variabilidade e incerteza dos projetos de software, Kanban acabou se consolidando como um modelo de gestão de mudanças orgânico e evolutivo. Ao adicionar visibilidade e transparência ao ambiente, ele introduz autonomia, colaboração e melhor gestão de riscos. Ao introduzir um sistema de fluxo puxado, ele permite uma melhor gestão de capacidade, reduz os ciclos de feedbacks nas tomadas de decisão e abre a oportunidade para a formação de um sistema com eficiência e ritmo mensurável. Adquirindo-se a capacidade de medir o sistema, cria-se as condições para se  projetar experimentos que visam melhoria. Após executar os experimentos, e comparar as métricas obtidas antes e depois, é possível saber com um bom nível de certeza se houve ou não melhoria efetiva no processo. E fazendo-se isso regularmente temos a adoção de uma cultura kaizen.