O Sistema Toyota de Produção e a programação

O sistema Toyota de produção foi criado na metade do século passado e se trata de uma filosofia para ser aplicada nos processos de manufaturas. Esta filosofia chama a atenção às perdas de tempo e dinheiro causadas pelas peças defeituosas. "É melhor fazer direito uma vez, do que fazer mal feito para depois refazer". Ou seja, economizar no processo é uma economia ilusória, porque isso NECESSARIAMENTE leva à perdas posteriores maiores do que um processo mais caprichado feito da primeira vez.

O processo de programação é um tanto "anárquico", porque não é algo que não costuma ser visto por outras pessoas. Não é algo do qual se dê para ter controle por outra pessoa. As coisas andam, mas muitas vezes não conseguimos ver como tão mal as coisas andam. E tanto os administradores quando os programadores têm culpa nisso. Um administrador pode fazer pressão por tempo, e dependendo de como e quando essa pressão é aplicada, isso necessariamente implica na diminuição da qualidade do produto desenvolvido. Por outro lado, um programador que não consegue (ou não pode) negociar prazo pode aceitar essa pressão e de fato, consegue entregar um software antes do que faria. Mas o que adianta entregar um software em puco tempo se depois haverá perdas de tempo (que não precisariam existir) para consertar uma quantidade muito grande de bugs que não existiriam se o processo fosse feito com mais cuidado? Pior, dependendo de como foi feita a organização dos códigos, o conserto dos bugs começa a ficar cada vez mais difícil. Manter o projeto começa a ficar cada vez mais moroso, apesar do grande esforço empreendido. Bugs podem demorar muito para terem uma solução encontrada. O programador pode ter criado caminhos dos quais ele mesmo não consegue sair. Esse é o efeito do processo Go Horse, nem mesmo o dono do código consegue resolver os problemas de programação.

Não sei se recomenda que outros programdores leiam o sistema Toyota de produção. Eu li. Mas isso me fez querer caprichar no código. Qual o problema? Comecei a demorar mais do que o normal para criar uma aplicação. A despeito de minhas aplicações terem menos bugs do que outras, me vi em uma equipe que priorizava tempo e que aprendeu a fazer código ruim para depois gastar tempo testando e arrumando os bugs. Como que se isso fosse normal... Talvez em alguns tipos de empresas realmente seja normal. Mas o que diria de trabalhar em uma empresa que se preocupa em valorizar programadores com bons hábitos ao invés de aceitar que o processo de correção de bugs demore muitos meses?

Bom, infelizmente meu chefe não leu o Sistema Toyota de produção. E nem valorizou quem eventualmente o fizesse...

Comentar