• No results found

A metodologia Lean surgiu como inspiração ao sistema Toyota de produção, que foi uma técnica de produção em massa criada no Japão logo após a Segunda Guerra mundial na fábrica da empresa automobilística Toyota. Nessa época, de acordo com Fadel e Silveira [52], a indústria japonesa possuía uma produtividade muito baixa e sofria com a falta de recursos, época em que os empresários tiveram de se superar para vencer as barreiras que lhes eram impostas.

O Lean Development (LD) é um método baseado na visão da produção Lean da área de manufatura e processos, cujo principal objetivo e tônica dominante é a eliminação de desperdícios e a diminuição drástica dos gastos com a produção [69]. Segundo a metodoogia, sempre que um problema é encontrado no processo de fabricação Toyota, qualquer trabalhador na linha poderia parar o processo e todos os funcionários poderiam ajudar a corrigir o problema antes de recomeçar o ciclo produtivo. Os trabalhadores eram encorajados a encontrar a causa raiz dos problemas e corrigi-los no local. Os trabalhadores de linha também eram incentivados a fazer melhorias em sua estação sem ter que pedir permissão da gerência. Este processo foi chamado de Melhoria Contínua.

Alguns dos benefícios de melhoramentos contínuos são:

• As melhorias são baseadas em pequenas alterações, em vez de mudanças radicais;

• Pequenas melhorias são menos propensas a exigir grande investimento de capital do que as grandes mudanças no processo;

• Ajuda a incentivar os trabalhadores em seu local de trabalho e pode ainda reforçar o trabalho em equipe, melhorando assim a motivação.

Essas são as ideias que foram transportadas para a Engenharia de Software. Essas propostas seguem a mesma linha, onde não há a preocupação em pregar práticas de desenvolvimento ágeis exatamente como as outras metodologias fazem, pois que, seu foco é o ponto de vista estratégico, direcionado mais ao nível gerencial da organização do que ao nível do desenvolvimento em si. Como vemos em Poppendieck e Poppendieck [122], o foco da metodologia Lean é a observação dos problemas da mudança de requisitos sob uma nova perspectiva: as decisões do cliente devem ser adiadas ao máximo, deixando para que elas sejam feitas quando houver um maior conhecimento do assunto. E quando as decisões forem feitas, a implementação deve ser rápida, evitando que as condições externas afetem uma funcionalidade antes dela ser entregue. E adiantam:

“Por ser uma forma de produção passada para a área de Engenharia de Software, é necessário que ocorra uma adaptação adequada de seus princípios com a preocupação de manter a filosofia para esse outro ambiente de produção.”

Esse trabalho [122] foi influenciado pela literatura da engenharia industrial, de forma parcial, sob a alegação de que a técnica de Lean pode melhorar significativamente a produtividade, reduzir o tempo de trabalho, e também, como atestam Hamilton [66] e Middleton [100], reduzir os defeitos por realização de consistentes observações.

1. Eliminar o desperdício 2. Fortalecer o time 3. Entregas rápidas 4. Otimizar o todo 5. Construir qualidade 6. Adiar decisões 7. Amplificar conhecimento

Abaixo, algumas práticas claramente identificadas em seu trabalho:

• Não entregar antes do prazo previsto, para dar tempo para que as decisões sejam tomadas com o máximo de conhecimento sobre a iteração do momento;

• Satisfação total do cliente;

• Todos do time devem ter um conhecimento amplo do software sendo construído;

• A satisfação do cliente é a maior prioridade;

• Sempre provenha o melhor valor para o dinheiro;

• Sucesso depende na participação ativa do cliente;

• Todo projeto LD é um esforço do time;

• Tudo pode ser mudado;

• Complete, não construa;

• 80% da solução hoje é melhor do que 100% da solução amanhã;

• Minimalismo é essencial;

• As necessidades determinam a tecnologia;

• O crescimento do produto é o crescimento de características, e não de tamanho.

A.2.6.1 O Processo

O desenvolvimento de um projeto utilizando a metodologia Lean é feito em três etapas, a saber: o início, o estado de crescimento regular (steady-state) e a transição e renovação.

A.2.6.1.1 (1) Início:

Nesta etapa é realizada a análise de valor, o estudo do negócio e a viabilidade do projeto, conforme [69], também a análise de riscos e outras etapas de escopo gerencial inicial. A.2.6.1.2 (2) Estado de crescimento regular (steady-state):

Na etapa de estado de crescimento regular o objetivo é realizar o desenvolvimento do sistema de uma forma iterativa e incremental em períodos fechados (time-boxes) de 90 dias no máximo. Cada iteração realiza um pouco das fases tradicionais de desenvolvimento (análise, projeto, implementação e testes), integrando continuamente o software. A grande diferença em relação aos outros métodos é a utilização em larga escala de templates para aumentar a velocidade de produção e sua reutilização.

A.2.6.1.3 (3) Transiçãao e renovação:

Nesta etapa é realizada a transição e a entrega, focando a documentação, treinamento e a evolução do sistema como um todo.

Segundo Fadel e Silveira [52], a metodologia Lean utiliza técnicas de produção arrojada para agendar o trabalho e são dotadas de mecanismos com sinalizações locais, os quais ajudam os outros desenvolvedores a identificarem o trabalho que precisa ser realizado, à semelhança do Kanban. Esta técnica correspondente à entrega de versões refinadas e incrementais do software em intervalos de tempo regulares, controladas por meio de sinalização local. A Figura A.12 ilustra o quadro de cartões de funcionalidades do processo Lean, destacando bem alguma similaridade com Kanban.

As colunas são as etapas do desenvolvimento, onde há um cartão afixado, representando o objetivo daquela determinada iteração. Abaixo do cartão são colocados outros cartões que definem os requisitos a serem implementados para a funcionalidade que está sendo construída. O nivelamento da produção pode ser feito através da quantidade de trabalho que precisa ser executado durante a implementação dos requisitos.