O Kanban (“cartão visual”) é o método de operação do Sistema Toyota de Produção. Ele começou a ser utilizado em 1953 e seu inventor Taiichi Ohno, o descreve como: um nervo autonômico na linha de produção. Com ele os operários passam a trabalhar por eles mesmos e tomar suas próprias decisões. O Kanban normalmente é representado por um pedaço de papel dentro de um envelope de plástico retangular. A informação contida dentro dele pode ser dividida em três categorias: de coleta, de transferência e de produção. As funções do Kanban são basicamente:
1) Fornecer informação sobre apanhar e transportar
2) Fornecer informação sobre a produção
3) Impedir a superprodução bem como o transporte excessivo
4) Servir como uma ordem de fabricação que deve estar junto às mercadorias
5) Impedir produtos com defeito
6) Revelar problemas e controlar o estoque
A figura 1 mostra um exemplo de um Kanban utilizado pela Toyota.
Figura 1. Exemplo de Kanban utilizado pela Toyota.
Fonte: Ohno, T. (1997), O Sistema Toyota de Produção (p. 46). Porto Alegre: Bookman.
A figura 2 ilustra um exemplo bem simples e esclarecedor de seu funcionamento na produção de veículos. Quando o automóvel número 20 entra na linha de montagem, um operário prende nele uma ordem de produção (Kanban) indicando qual tipo de veículo ele é. A medida que o automóvel percorre a linha, outros Kanbans são gerados e enviados antecipadamente para os sub processos E,D,C,B e A. Os componentes resultantes dos sub processos são montados em sequência, de forma que se encaixem respectivamente no veículo que solicitou sua produção no momento certo (nem antes para não gerar estoque, nem depois para não interromper o fluxo da produção). Conclui-se que o Kanban tem por finalidade suportar o Just-in-time (fazer apenas o necessário quando necessário).
Figura 2. Exemplo simplificado da utilização do método Kanban.
Fonte: Ohno, T. (1997), O Sistema Toyota de Produção (p. 67). Porto Alegre: Bookman.
Segundo Taiichi Ohno, mais de 200.000 veículos saem mensalmente da linha de produção da Toyota. Se considerarmos o tipo de carroceria, pintura, câmbio, motor, etc, conclui-se que raramente veremos carros idênticos. O interessante é que ela não recebe uma solicitação de produção de cada vez, mas sim, muitos pedidos chegando diariamente ao mesmo tempo. É necessário planejar antes de produzir e para isso a Toyota utiliza o Heijunka, termo em japonês que significa programação nivelada. Um exemplo retirado do livro de Ohno – “O Sistema Toyota de Produção” apresenta uma explicação básica para o termo: imaginemos a produção de 10.000 carros trabalhando 20 dias por mês. Suponha que isso seja escalonado em 5000 sedans, 2500 hardtops e 2500 camionetes– isso significa que 250 sedans, 125 hardtops e 125 camionetes são feitos diariamente. Na linha de produção eles entram da seguinte forma: um sedan, um hardtop, depois um sedan, uma camionete e assim por diante. Entende-se que dessa maneira o tamanho do lote e a flutuação podem ser minimizados de forma a ter a melhor sequência na produção Just-in-time. Quando Taiichi Ohno descreve o Kanban como um nervo autonômico, ele quer enfatizar a importância desse método para que a empresa responda rapidamente as expectativas do mercado sem ter de “pensar”. Conclui-se que quanto maior uma empresa, melhores “reflexos” ela precisa ter para garantir sua sobrevivência.
Mas como adaptar o uso do Kanban à Lean TI? Como você já deve saber, o método Kanban em TI foi adotado primeiramente por David J. Andersone tem de ser adaptado a realidade de cada empresa. Por exemplo, as colunas que surgiram inicialmente “to do”, “doing” e “done” podem ser modificadas para “in progress”, “tested”, “accepted”, “blocking” e assim por diante de acordo com a necessidade dos usuários da organização. Existem bons artigos de Kenji Hiranabe sobre o assunto (“Kanban Applied to Software Development from Agile to Lean” e “Visualizing Agile Projetcs using Kanban Boards”), além de exemplos no capítulo 5 do livro de Steven Bell (TI Lean- Capacitando e Sustentando sua Transformação Lean). Gostaria de destacar nesse artigo, não um método para sua utilização, mas, um exemplo com algumas adaptações em TI, sem que perca seus princípios, desde a fase Heijunka até a distribuição das atividades aos desenvolvedores. Dividiremos os cartões Kanban em dois tipos: o de produção e o de desenvolvimento. Cada Kanban deve ter instruções sintetizadas do que precisa ser feito, de quem está vindo e para quem deve ser enviado, além de outras características que podem ser adicionadas conforme sua necessidade. A figura 3 ilustra algumas possíveis características que podem ser usadas no cartão Kanban de produção e de desenvolvimento.
Figura 3. Características que podem ser usadas em um Kanban de produção e um Kanban de desenvolvimento.
Quando uma exigência do mercado é identificada pela organização o primeiro passo é nivelar esse requisito mediante o Backlog que uma empresa ou equipe possui. O Heijunka deve ser feito levando em consideração o Hoshin da companhia somado à expectativa do cliente. Dessa maneira os colaboradores estarão desenvolvendo a tarefa correta perante as “regras” definidas pela alta administração e os Product Owners (P.O. - responsáveis pelos projetos – voz do cliente dentro da empresa). A figura 4 apresenta um exemplo da melhor sequência das atividades, após o nivelamento, originadas do Backlog (de acordo com o cliente e o Hoshin da empresa).
Figura 4. Melhor sequência das atividades representadas por cartões Kanban de produção.
É necessário entender inicialmente que de acordo com o requisito descrito em um cartão (Kanban de produção) poderão ser originadas várias atividades sendo representadas por outros cartões (Kanban de desenvolvimento) e distribuídas para um ou mais colaboradores. Suponhamos que chegou a vez de desenvolver um template de e-mail marketing identificado por um cartão Kanban. Descrevendo de forma simples serão envolvidos na tarefa: o P.O. responsável pela aprovação e entrega, um Web Designer para criar as imagens e a disposição dos elementos no e-mail, um redator para escrever o texto e um programador para desenvolver o HTML e efetuar o disparo. A segunda metade da figura 4 apresenta os Kanbans de desenvolvimento e como você pode ter notado eles não estão nivelados. Quando falamos em nivelamento significa ter cada colaborador desenvolvendo a tarefa no momento certo, por exemplo, o programador só criará o HTML depois que todas as imagens e a disposição dos elementos estiverem concluídos pelo Web Designer, antes disso ele estará realizando outra atividade. Ao finalizar uma tarefa o responsável deve seguir as ordens do Kanban e enviar o resultado para o próximo colaborador descrito no cartão. Não explicarei como organizar os Kanbans de desenvolvimento, pois isso levaria a escrever um método o qual deveria levar em consideração a quantidade de recursos, suas características e o tempo disponível dos colaboradores da empresa. Conforme descrito anteriormente, há vários bons artigos relacionados a esse tema os quais devem ser adaptados à realidade de cada organização.
As aplicações do Kanban em TI surgem em função do desejo das empresas em melhorarem seus processos de desenvolvimento. Durante as aplicações deve-se tomar cuidado para que não se perca nenhum dos princípios desse método tão poderoso. Se utilizado de forma incorreta o Kanban pode deixar o desenvolvimento sem agilidade, pois o time gastará tempos consideráveis procurando e tentando entender o que fazer com cada um dos cartões, gerando desperdícios. Além disso, a organização deve utilizá-lo somente depois de fazer o Heijunka, caso contrário, não haverá certeza de que estará desenvolvendo a funcionalidade correta, no instante correto, em relação às demais tarefas. O método de operação Kanban é bastante eficaz, pois com ele a Toyota controla a montagem de automóveis formados em média por 9000 itens cada. Nossa função é, antes de utilizá-lo, saber exatamente o que fazer com ele.
Bibliografia