Aplicação do Sistema Toyota de Produção na Industria de Software

10 setembro 2015 | Artigos

O Sistema Toyota de Produção busca a eliminação das perdas e é um importante provedor de soluções para a melhoria da qualidade de diversos processos, o que torna válida sua relação com as metodologias ágeis e a aplicação de seus conceitos. Ao contrário da linha de produção, em que se produz continuamente o mesmo item durante um longo período, o desenvolvimento de software se depara constantemente com a necessidade de criação de novos produtos, o que faz com que sejam necessárias adequações ao modelo original.

O artigo que segue foi escrito por nosso colaborador Luís Fábio Aguirre e apresentado em seu trabalho de conclusão de pós graduação, abordando a Aplicação do Sistema Toyota de Produção na Indústria de Software. Posteriormente, o conteúdo foi tema de um Breakfast Talk, evento interno da e-Core,  onde Luís relaciona os dois procedimentos e propõe ferramentas que podem ser utilizadas ou adequadas aos processos de qualidade de software. 

Aplicação dos processos na Indústria de Software

Just-in-time aparece como uma técnica de gestão estabelecendo que o fornecedor atenda seu cliente produzindo exatamente o item certo, na quantidade certa, no momento certo. Sua aplicação e de seus componentes é viável através do desenvolvimento de requisitos de forma individual, progressiva e contínua, ou seja, através do Fluxo Contínuo. Ele consiste num processo produtivo que ocorre continuamente, eliminando estagnações e produzindo somente o necessário. Isso significa que os produtos são desenvolvidos um de cada vez, passando por diferentes estágios do processo sem que ocorra intervalo entre eles. A comunicação é feita através do Kanban, cuja finalidade é controlar os fluxos de produção ou transporte em uma indústria, provendo a conexão entre diferentes operações. O Kanban é aplicável. O uso de etiquetas como auxílio visual, permite que os times identifiquem o status das User Stories.

Heijunka é um conceito que tem a finalidade de estabilizar o processo de manufatura, através da programação da produção e do sequenciamento dos pedidos. De forma resumida, significa produzir apenas o que for solicitado. A estabilidade na produção é mantida, por meio do Kaizen, processo de melhoria, contínua ou gradual, que possui a finalidade de viabilizar a eliminação de perdas com base no bom senso e no uso de soluções baratas, através da motivação e criatividade dos trabalhadores. Ou seja, a melhoria dos processos ocorre por meio de experiências e sugestões de funcionários envolvidos na produção.

Jidoka se refere a autonomia de paralisar o processamento sempre que for encontrada uma anomalia na linha de produção, em resumo, busca evitar defeitos. Ele é composto por duas ferramentas. A Separação Homem-Máquina está relacionada com a capacidade que a máquina de trabalho possui para paralisar a linha de produção, de forma autônoma, em caso de falhas de processo ou produção. O mais próximo que uma ferramenta de desenvolvimento chega da Separação Homem-máquina é prover falhas na sintaxe do código, informando falhas no processo produtivo de forma autônoma.

Já o Poka Yoke, se refere à utilização de mecanismos acoplados a máquina de trabalho, também para paralisação da linha de produção em caso de falhas. Sua aplicação foi realizada por meio de um mecanismo de geração de Builds contínuas. Quando o desenvolvedor fosse realizar alguma alteração no código, antes ele deveria atualizar seu repositório de dados. Após isso, ele efetuava a codificação necessária e atualizava o repositório com suas informações. Ao atualizar o repositório, automaticamente o sistema compilava o código e em caso de sucesso gerava uma Build. Além disso, um e-mail de sucesso era enviado. Nos casos de problema, era enviado um e-mail de falha informando a causa. Assim o desenvolvedor, podia dar manutenção no seu código para que a Build não apresentasse mais problemas. Todo esse esforço, possuía o intuito de evitar que a Build noturna apresentasse problemas, pois essa era utilizada pelo Time de Testes.

Constatou-se que as ferramentas Takt Time Mizusumashi não são aderentes ao desenvolvimento de software, porque sua utilização está condicionada a processos produtivos repetitivos de um mesmo produto, os quais não se encaixam na dinâmica do desenvolvimento de softwares.

Ferramentas para incorporar qualidade ao Jidoka

Foi realizada um pesquisa para encontrar quais mecanismos para prover qualidade ao software atenderiam ao Jidoka. Identificou-se que soluções de Teste Estático e Testes Dinâmicos podem prover um bom resultado, quando incorporadas à ferramenta de desenvolvimento ou ao gerador de builds, auxiliando o programador durante a fase de desenvolvimento.

Os Testes Estáticos são aqueles que não executam o código, apenas pautando padrões e arquiteturas do software. Por outro lado os Testes Dinâmicos analisam o código quando ele está em execução, por meio de valores de input comparando com outputs previamente esperados (ISTQB 2007). Ambos os mecanismos são incorporados à ferramenta de programação e executam um scan no código fonte, em busca de defeitos. Logo após o término da varredura, são listados os defeitos encontrados e potenciais impactos ao negócio. Por fim, o desenvolvedor pode priorizar os defeitos e corrigir o código conforme sua necessidade.

Vantagens com a utilização do Sistema Toyota de produção

Além de validar o uso de ferramenta do Sistema Toyota de Produção no desenvolvimento de software, trabalho identificou alguns benefícios de sua utilização. São eles:

  • Entrega em lotes que atenda a necessidade do cliente. Só se desenvolve o que for utilizar;
  • Foco no uso de soluções que encontrem defeitos de forma automática, do início ao fim do desenvolvimento. Os entregáveis são testados individualmente e em conjunto, provendo uma cobertura abrangente;
  • As atividades estão conectadas de forma que não ocorram intervalos;
  • Documentação deve ser clara e atualizada.

Relação entre o Sistema Toyota de Produção e métodos ágeis

Há várias semelhanças entre os métodos ágeis e o Sistema Toyota de Produção, o que torna possível fazermos uma relação entre as duas metodologias. Entre elas podemos citar:

  • O desenvolvimento orientado a testes.
  • Entrega em pequenos lotes que ditam o ritmo de desenvolvimento e minimizam os riscos.
  • Estímulo a interação entre equipes, com foco na qualidade e na redução do tempo de entrega do produto.
  • O Sistema Toyota faz melhoria contínua via Kaisen e os métodos ágeis por refactoring, revisão de Sprint e lições aprendidas.

Como o desenvolvimento de software busca a eliminação do desperdício, o sistema Toyota se apresenta como uma solução na busca de qualidade. Poppendieck elencou sete grupos de desperdícios que impactam negativamente na qualidade desejada do software. A utilização do Sistema Toyota de Produção pode reduzir as perdas encontradas no desenvolvimento de software. A Tabela abaixo apresenta a solução que o Sistema fornece para cada item do grupo de desperdícios elencados por Poppendieck:

Para entender a importância das metodologias ágeis como vantagem competitiva, acesse o artigo em nosso blog.

Texto original escrito por Luís Fábio Aguirre, Analista de Qualidade, pós graduado em Qualidade em Teste de Software.

Leia mais em:

6 Dúvidas Comuns na Hora do Licenciamento

Sabemos que na hora da compra e/ou renovação de licenças do Jira, Confluence ou outra ferramenta Atlassian, surgem algumas dúvidas. Com a intenção de ajudar você a solucionar algumas delas, escolhemos as principais questões abordadas nesse momento. São necessárias...

Post-mortem Jira Ops

Post publicado pela Atlassian originalmenteGrandes incidentes são inevitáveis, e consertá-los é a principal prioridade para quaisquer equipes de Operações ou DevOps. Mas o que acontece após o serviço ser restaurado? As equipes aproveitam o tempo para entender...

O Futuro dos Roadmaps

A Atlassian divulgou as mudanças feitas no Jira Software Cloud para trazer uma nova experiência para os usuários. Confira o que mudou e como as novas funcionalidades podem beneficiar seu desenvolvimento de software.

Share This