Espacios. Vol. 36 (Nº 19) Año 2015. Pág. 4

Lean Development e os Métodos Ágeis de Desenvolvimento

Lean Development and Development of Agile Methods

Ana Paula Pereira de Moraes RESS 1; Renato de Oliveira MORAES 2

Recibido: 08/06/15 • Aprobado: 02/08/2015


Contenido

1. Introdução

2. Análise Bibliométrica

3. Revisão Bibliográfica

4. Considerações Finais

Referências Bibliográficas


RESUMO:

Este artigo apresenta uma discussão sobre as relações entre lean development e a abordagem ágil de desenvolvimento de projetos de software. Isto é feito através de uma bibliometria e revisão bibliográfica sobre os dois temas que revelou significativas semelhanças conceituais sobre estes dois temas. O foco no cliente/usuário final se manifesta através da eliminação de atividades que não geram valor, e a iteração com o usuário e a resolução de problemas são mais valorizados do que a formalização e documentação dos processos de desenvolvimento. Apesar das vantagens reportadas na literatura, ainda existem esforços para comparar estas abordagens com as tradicionais de forma a ter um quadro mais preciso de suas vantagens e limitações.
Palavras-chave: Lean Development, Metodos ágeis de desenvolvimento, foco no cliente/usuario

ABSTRACT:

This article presents a discussion about the relationship between lean development and agile approach to software development projects. This is done through a bibliometrics and bibliographic review that revealed significant conceptual similarities of these two themes. The focus on the customer / end user is manifested by elimination of activities without added value, and user proximity and problem solving are more important than the formalization and documentation of the development processes. Despite the advantages reported in the literature, there still are efforts to compare these approaches with the traditional ones to get a more accurate picture of their advantages and limitations.

Keywords: Lean Development, Agile Development Methods, customer focus / User

1. Introdução

Segundo Suikki, Tromsteedt e Haapasalo (2006), nos ambientes caracterizados por incertezas e grandes desafios as técnicas tradicionais de gestão de projetos têm apresentado limitações que segundo Senhar (2001) estão mais presentes nas atividades de planejamento e controle de projeto. Boehm e Turner (2005) notaram que a partir de 2000 observou-se um ritmo acelerado de mudanças e inovações na tecnologia da informação nas organizações, caracterizando-se assim, ambientes com maiores incertezas e grandes desafios. Esse ritmo acelerado de mudanças tem causado frustrações crescentes com atualização de planos, especificações e documentações durante o processo de desenvolvimento que muitas vezes são mais decorrentes dos critérios de conformidade dos modelos de maturidade, do que pela necessidade do processo de desenvolvimento de software. E o desprendimento de esforço no cumprimento destas atividades muitas vezes reflete no tempo de entrega do projeto, e sua consequente postergação.

Por considerar que as metodologias tradicionais eram pouco adaptativas é que em Fevereiro de 2001, um grupo de desenvolvedores propôs uma metodologia alternativa para projetos de software, fundamentado em uma abordagem intitulada de "Gerenciamento Ágil de Projetos", também conhecida pela sigla APM (proveniente do termo inglês Agile Project Management). Trata-se de um documento publicado na Internet (http://agilemanifesto.org/) intitulado de "Manifesto Ágil para Desenvolvimento de Software", onde questionam a eficácia das técnicas e métodos do gerenciamento tradicional de gestão aplicados a projetos que envolvem incertezas e estão sujeitos a alterações provenientes do negócio.

Segundo Mary e Tom Poppendieck (2003) as metodologias ágeis tiveram como origem os princípios do Desenvolvimento Lean, que por sua vez é a aplicação dos princípios da Toyota Product Development System. E o pensamento Lean tem como princípio atender bem ao cliente sem haver desperdício no processo, oferecendo entregas rápidas com qualidade, respeitando as pessoas que colaboram no processo e o compromisso de difundir o conhecimento, sendo que o todo deve ser oferecido no momento certo a volume de informações adequadas de forma a eliminar o desperdício e focar na otimização do todo. Liker (2004) complementa que agilidade é frequentemente relacionado ao conceito Lean por possuir configurações e objetivos mútuos.

Segundo Highsmith (2004) as empresas precisam desenvolver uma cultura que promova a adaptação para absorver mudanças, ter algumas regras que encorajem a auto-organização, combinada com autogestão; colaboração intensa e iteração entre os membros da equipe. Qumer e Henderson-Sellers (2008) coloca a importância de tratar o desenvolvimento de software ágil como um dos pilares para a melhoria organizacional, o que pode ser reforçado pelo conceito de agilidade estabelecido por Gould (1997) que define agilidade como sendo uma habilidade da empresa em prosperar num ambiente de rápidas e imprevisíveis mudanças.

O objetivo deste trabalho é apresentar a ligação conceitual entre lean development e a abordagem ágil de gestão de projetos de software através da revisão da literatura sobre o tema. Para tanto, foi realizada uma análise bibliográfica e uma revisão da literatura que destaca os elementos chave destes dois temas – lean development e desenvolvimento ágil.

2. Análise Bibliométrica

Segundo Spinak (1996, p.34) os primeiros registros da utilização da análise bibliométrica ocorreram no início do século XX e consiste na aplicação de estatísticas com o intuito de estudar as características e ocorrências do uso e criação de documentos.

Esta seção dedica-se a expor os resultados obtidos com a pesquisa, realizada em 2013, a procura de artigos acadêmicos no portal Web of Science publicados até dezembro de 2012. Para a pesquisa foram considerados termos que estão presentes no tema deste artigo: Lean Development e Metodologia Ágil. Os resultados são apresentados para cada termo descrevendo as três etapas da análise bibliométrica:

  1. Primeira Etapa: Uso de termos e critérios de refinamento para busca de artigos na base Web of Sciente;
  2. Segunda Etapa: Leitura de título, resumo e leitura completa (quando necessária) para classificação das publicações;
  3. Terceira Etapa: Análise das classificações e considerações do autor.

2.1. Lean Development

A pesquisa na base Web of Science retornou 46 artigos que foram submetidos a leitura de título, resumo e leitura completa (quando necessária) com o objetivo de classificar as publicações e selecionar os artigos que serão considerados para esta dissertação.

No critério de busca por tópico foi colocado o texto Lean Development e Software. Foi necessário acrescentar o termo Software porque apenas Lean Development retornava muitos artigos referindo a manufatura/indústria.

Para os itens de refinamento da busca foram utilizados as opções:

  1. Document Types: article;
  2. Research Domains: Science Tecnology;
  3. Research Areas: Computer Science, Engineering, Operations Research Management Science;

O resultado foram 57 artigos conforme Figura 1.

Macintosh HD:Users:anapaularess:Desktop:Screen Shot 2013-10-13 at 9.10.05 PM.png

Figura 1 - Primeira Etapa: busca por Lean Development

Tendo como leitura os 57 artigos obtidos, estes foram classificados pelo assunto seguindo a Tabela 1.

Classificação

Os artigos tratam de…

Desenvolvimento agil

discutem a integração/história do Lean Development e metodogias ágeis

Excluido

escluído da pesquisa por não tratar do processo de desenvolvimento de software

Framework/ferramenta para manufatura/produção lean

referem-se a manufatura Lean e propõem ferramentas, framework, sistemas de apoio

Lean development

estudos de casos de empresas que aplicaram os principios Lean de desenvolvimento; discutem os conceitos Lean

Processos Lean - requisitos de infraestrutura

discutem os requisitos de infraestrutura necessários para suportar um processo Lean Development

Processos Lean - Uso de sistemas na aplicação

referem-se ao processo de desenvolvimento e propõem sistemas de apoio para difundir os principios Lean

Processos Lean - gerenciamento de informações

discutem sobre informações a serem coletadas para confecção de relatórios gerenciais

Tabela 1 - Segunda Etapa: classificação da busca por Lean Development

O resultado obtido foi a Tabela 2.

Classificação

1993

1995

1996

1997

2000

2001

2003

2004

2005

2006

2007

2008

2009

2010

2011

2012

Total

Desenvolvimento agil

1

1

2

4

Excluido

1

1

1

1

4

Framework/ferramenta para manufatura/produção lean

1

2

1

1

3

2

1

11

Lean development

1

3

1

1

2

1

1

2

2

3

17

Processos Lean - gerenciamento de informações

1

1

2

Processos Lean - requisitos de infraestrutura

1

2

2

5

Processos Lean - Uso de sistemas na aplicação

2

1

1

1

1

1

1

1

2

2

1

14

TOTAL

2

1

4

2

2

4

3

2

3

4

2

2

4

8

5

9

57

Tabela 2 - Segunda Etapa: resultado da busca por Lean Development

A distribuição por ano está apresentada na Figura 2 .

Macintosh HD:Users:anapaularess:Desktop:Screen Shot 2013-10-22 at 2.29.32 PM.png

Figura 2 - Terceira Etapa: distribuição por ano da busca por Lean Development

A distribuição de assunto por anos está apresentada na Figura 3 .

 

Macintosh HD:Users:anapaularess:Desktop:Screen Shot 2013-10-13 at 11.39.19 PM.png

Figura 3 - Terceira Etapa: distribuição do assunto por ano da busca por Lean Development

Dado a busca que foi executada foi possível observar que o termo Lean Development é utilizado com maior frequência pela manufatura, e mesmo adicionando o termo Software ainda retornou 11 artigos que utilizam o sistema como apoio a criar ou mesmo aprimorar a agilidade da manufatura. Foi observado 4 artigos que se propunham a fazer uma análise sobre a relação com o desenvolvimento ágil referindo-se ao processo de desenvolvimento de software. E também foi possível notar mais 14 artigos que utilizavam os sistemas de software como apoio a melhoria dos processos sob a óptica Lean (enxuto), e somente 17 artigos discutiam os conceitos ou faziam uma exposição dos casos de Lean Development no processo de desenvolvimento de software.

Assim sendo os artigos classificados como "Desenvolvimento Ágil" e "Lean Development" foram considerados para próxima etapa de Pesquisa Bibliográfica, totalizando 21 artigos.

A pesquisa na base Web of Science retornou 186 artigos que foram submetidos a leitura de título, resumo e leitura completa (quando necessária) com o objetivo de classificar as publicações e selecionar os artigos que serão considerados para esta dissertação.

No critério de busca por tópico foi colocado o texto "Agile Software Development" ou "Agile Methods".

Para os itens de refinamento da busca foram utilizados as opções:

  1. Document Types: article;
  2. Research Domains: Science Tecnology;
  3. Research Areas: Computer Science, Engineering
  4. Languages: English
  5. Publication Years: Exclude 2013

O ano de 2013 foi excluído da busca, já que para os demais termos só foram considerados artigos publicados até 2012.

O resultado foram 238 artigos conforme Figura 4

Macintosh HD:Users:anapaularess:Desktop:Screen Shot 2013-10-14 at 12.28.12 AM.png

Figura 4 - Primeira Etapa: resultado da busca por Agile

Tendo como leitura os 238 artigos obtidos, estes foram classificados pelo assunto seguindo a Tabela 3.

Classificação Os artigos relacionados tratam de…

Ensino da Metodologia Agil

como abordar/ensinar a metodologia ágil nas universidades; como esta deve ser tratada na disciplina de engenharia de software

Melhoria de Processo

vantagens e contribuições da metodologia nos processos da organização

Desenvolvimento Distribuido

aplicação e proposta de framework para utilização da metodologia ágil no contexto de desenvolvimento distribuido

Em Grandes Empresas

estudos de casos e proposta de framework para abordagem ágil nas organizações classificadas como grandes

Aplicado a Sistemas Web

como a metolodogia deve ser abordada e/ou aplicada para sistemas orientados ao design (Web)

Comparando com Modelo Tradicional

vantagens, diferenças, semelhanças com a metodologia tradicional

Foco na Equipe

exposição e preocupação com a satisfação da equipe no uso da metologia; desafios da metodologia para profissionais inexperientes

Excluído

foram excluidos por não representarem o processo de desenvolvimento de software

Fatores Criticos de Sucesso

exposição dos fatores criticos de sucesso para aplicação da metodologia

Técnicas de Gerenciamento

propõem framework ou discutem sobre as métricas de medição de progresso de projeto

Prática x Teoria

estabelecem um estudo da metodologia divulgada na teoria sobre a que sendo praticada

Técnicas Aplicados ao Desenvolvimento

técnicas direcionadas ao desenvolvimento como detecção de erro, aplicação de TDD (Test-Driven Development)

Conhecimento Compartilhado

propõem framework ou discutem sobre como o conhecimento pode ser compartilhado ou mesmo difundido já que a metodologia prega pouca documentação

Desenvolvimento de Novos Produtos

como a metodologia pode ser abordada para desenvolvimento de sistemas que são orientados ao mercado ou submetidos ao processo de linha de produção

Casos em Empresa/Área Especifica

estudos de casos ou propostas de sistemas que foram aplicados especificamente em algumas empresas e/ou áreas

Aplicado a Sistemas Criticos/Embedded

estudos de casos ou proposta de uso da metodologia para ser aplicada em sistemas críticos (não passiveis a falhas) ou a sistemas embedded

Lean Development

semelhanças com Lean Development

Foco no Usuário

estabelecem/discutem a importância do papel do usuário no processo submetido a esta metodlogia

Cultura Organizacional

como a cultura organizacional pode dificultar ou promover a difusão da metodologia

CMMI

como a metodologia convive em organizações calcadas no modelo CMMI

Explicativo

exposição da metodologia: sua origem, características, principios

Em Pequenas Empresas

estudos de casos e proposta de framework para abordagem ágil nas organizações classificadas como pequenas

Tabela 3 - Segunda Etapa: classificação por assunto por busca Agile

O resultado obtido foi a Tabela 4.

1998

2001

2002

2003

2004

2005

2006

2007

2008

2009

2010

2011

2012

Total

Aplicado a Sistemas Criticos e Embedded

3

1

1

1

1

1

1

9

Aplicado a Sistemas Web

2

1

1

2

6

Casos em Empresa/Área Especifica

1

2

2

2

2

1

1

11

CMMI

1

1

2

Comparando com Modelo Tradicional

1

2

3

4

4

1

1

2

2

20

Conhecimento Compartilhado

2

2

5

3

1

2

6

4

3

28

Cultura Organizacional

1

2

1

4

Desenvolvimento de Novos Produtos

2

2

2

6

Desenvolvimento Distribuido

1

2

2

1

1

1

7

2

1

18

Em Grandes Empresas

2

3

2

2

9

Em Pequenas Empresas

1

1

2

Ensino da Metodologia Agil

1

2

1

2

1

1

1

1

2

12

Excluído

1

1

1

2

1

6

Explicativo

2

8

4

2

1

1

2

4

24

Fatores Criticos de Sucesso

2

1

2

1

6

Foco na Equipe

1

2

2

1

1

1

2

10

Foco no Usuário

2

1

2

5

Lean Development

1

1

2

4

Melhoria de Processo

1

3

3

1

1

3

2

1

15

Prática x Teoria

1

2

1

1

5

Técnicas Aplicados ao Desenvolvimento

1

1

1

1

1

2

2

3

1

3

16

Técnicas de Gerenciamento

1

4

1

2

2

2

3

5

20

Total

1

1

8

11

34

27

28

5

18

20

32

27

26

238

Tabela 4 - Segunda Etapa: resultado da busca por Agile

A distribuição por ano está apresentada na Figura 5 .

Macintosh HD:Users:anapaularess:Desktop:Screen Shot 2013-10-22 at 2.31.05 PM.png

Figura 5 - Terceira Etapa: distribuição por ano da busca por Agile

A distribuição de assunto por anos está apresentada na Figura 6.

Macintosh HD:Users:anapaularess:Desktop:Screen Shot 2013-10-15 at 12.03.27 AM.png

Figura 6 - Terceira Etapa: distribuição de assuntos por anos por busca Agile

De posse do resultado da pesquisa podemos observar que o ano de 2004 apresenta o maior número de publicações do período, o que pode ser justificado pelo fato da metodologia ágil ter ganhado maior destaque com a publicação dos estudos de Beck em 2003, inclusive este ano de 2004 apresentou a maior quantidade de artigos propondo a explicar os princípios e conceitos dos métodos ágeis. Outro ponto marcante foi identificar que 28 artigos mostram-se preocupados com a questão do conhecimento, ou seja, como difundir ou mesmo compartilhar informações quando o principio ágil é produzir menos documentação.

Em 2010 houve uma grande incidência de artigos preocupados em estudar a aplicação dos princípios ágeis no ambiente de desenvolvimento distribuído, sendo 7 dos 18 artigos apresentados no período de 1998 à 2012.

Um ponto importante a observar é a quantidade de artigos preocupados com a questão do gerenciamento, ou seja, quais métricas ou mesmo como apurar o progresso de um projeto na metodologia ágil quando esta prega menos burocratização; e outros ainda fazem uma comparação com o modelo tradicional, propondo formas de integração. Desta forma, observamos alguns trabalhos interessados neste estudo da integração do modelo tradicional e ágil, e alguns já expõem estudos de casos onde a metodologia ágil foi aplicado em grandes empresas, e outros colocam como os princípios ágeis podem contribuir para a melhoria do processo de desenvolvimento de software.

Os artigos que tratam dos conceitos Lean versus processos de maturidade são de Greer e Hamon (2011) e Petersen (2011) que colocam que não há um consenso a respeito da definição do desenvolvimento de software ágil, mas que certamente é a resposta para um desenvolvimento rápido de software, e que é fortemente influenciado pelos princípios Lean de manufatura. Os autores acrescentam que os princípios de promoção da colaboração e autogestão podem ser absorvidos pelos processos de maturidade. Já Weber e Wild (2004) e Wang e Gobbo (2010) explanam como o desenvolvimento Lean e valores ágeis podem ser aplicados para controlar a execução de processos do negócio e para melhorar sua eficiência e produtividade.

Segundo Middleton (2001) a abordagem lean é holística e pode abranger o processo de software. Técnicas lean trabalham para rapidamente identificar porque e como uma pessoa está cometendo erros. Eles então provem os dados necessários para assistir uma mudança necessária na infraestrutura da organização. O aprendizado organizacional, alinhamento das pessoas, processos e objetivos permitem as pessoas produzirem o trabalho com a qualidade requerida. Produção Lean está presente como um sistema de gerenciamento completo dedicado a eliminar desperdícios.

Desenvolvimento de software lean indica que problemas na qualidade de software estão frequentemente relacionados a organização, seus hábitos de recrutamento, retenção e motivação. Qualidade de software pobre é geralmente uma manifestação de profundos problemas dentro da organização. E para resolver estes problemas é necessário uma mudança organizacional que geralmente requer rápidos resultados de ações de baixo custo, mas tende a ser um ciclo vicioso porque mudanças requerem motivação, o qual é desencadeado e sustentado por resultados.

Segundo Middleton, Flaxel e Cookson (2005) software lean é significante porque muitas das grandes organizações estão usando técnicas lean em suas operações de manufatura, e estão descobrindo que o software é uma parte substancial de seus produtos, mas não é gerenciado usando os princípios lean. Petersen e Wohlin (2010) acrescentam que o objetivo geral do desenvolvimento lean é atingir um fluxo de produção contínua e suave com máxima flexibilidade e mínimo desperdício de processo. Toda atividade e produto de trabalho que não contribui com o valor do cliente deve ser considerado desperdício. Considerando o feedback da indústria, parece promissor uma abordagem para continuamente melhorar o processo de software para tornar-se mais lean (enxuto). E Middleton (2001) reforça este conceito colocando que os métodos lean provem feedback, o qual motiva a equipe e prevê evidências claras de desempenho diário, e os problemas são identificados e então colocados sob a responsabilidade do gerente para resolução.

Os princípios Lean não são prescritivos tanto que cada implementação poderá ser diferente dependendo do contexto e restrições da organização. Os pequenos ciclos de feedback aceleram o aprendizado organizacional e habilita a redução contínua no processo e variação do produto proporcionando ganho de qualidade e produtividade.

Segundo Petersen e Wohlin (2010) desenvolvimento lean de software compartilha princípios com o ágil em relação ao gerenciamento e liderança de pessoas, o foco na qualidade e excelência técnica e foco em frequentes e rápidas entregas de valor ao cliente. O que distingue o Lean do ágil é o foco na perspectiva final de todo o fluxo de desenvolvimento. Para suportar este foco ao final o lean propõe um número de ferramentas para analisar e melhorar o mapeamento de fluxo, gerenciamento de estoque (documentação e código) e sugere utilização de sistemas como Kanban.

Os autores complementam que as métricas obtidas com ferramentas e princípios Lean podem afetar a tomada de decisão devido a:

  1. Priorização de requisitos é suportada;
  2. As métricas ajudam a alocar a equipe;
  3. As métricas provem transparência para equipe e gerente de projeto de que trabalho deve ser feito no futuro e o que foi terminado;
  4. Melhoria dos indicadores do processo de software propicia o uso de métricas para identificar problemas e alcançar melhorias de longa perspectiva.

E secundariamente ocorre:

  1. Aumento no foco do desenvolvimento contínuo por limitar o número permitido de requisitos em estoque;
  2. Integrações mais frequentes e antecipadas e testes do sistema para aumentar a qualidade.

A organização deve prover dados, informações e conhecimentos para tomada de decisão, e como visto, os princípios Lean podem auxiliar nesta coleta de métricas. Mas também é necessário que o processo seja maduro com o objetivo de prover estas métricas de forma contínua. Pensando em qualidade no processo que Veldman e Klingenberg (2009) realizaram um estudo de caso em empresa de engenharia caracterizado por assumir as melhores práticas do Lean Production concluiram que é possível aplicar práticas do CMMI, acrescentando que é o framework mais conhecido para atingir a maturidade de processo. E puderam observar algumas vantagens ao implantar CMMI na empresa estudada, e que podem ser generalizadas:

  1. Framework de maturidade reduz a incerteza de tarefas e ajuda a gerenciar iterações complexas entre atores, tarefas e processo, levando eventualmente a redução de defeitos e retrabalho.
  2. Framework de maturidade prove guia substancial para integração de processo e experiência de produto envolvendo design e processo.
  3. Integração de fornecedores podem ser aprimoradas pelas áreas de processo de gerenciamento de contrato de fornecedores (nível 2) e integrados com o processo de gerenciamento de fornecedores (nível 3). Estas áreas de processo estressam o relacionamento formal, ainda que o relacionamento seja de longo prazo baseado na negociação e coordenação mutua de interesses.

3.2. Desenvolvimento Ágil

Boehm e Turner (2005) colocam que o gerenciamento ágil de projetos segue algumas premissas: uso de ciclos iterativos e curtos; a presença ativa do cliente para definir, priorizar e verificar os requisitos do produto, desenvolvimento incremental, a auto-organização e autodisciplina. O estudo de Misra e Kumar (2009) determinou os fatores que levaram ao sucesso de projetos de desenvolvimento de software que adotaram as práticas do gerenciamento ágil: colaboração, comprometimento do cliente, tempo da tomada de decisão, cultura corporativa, controle, características pessoais, cultura social, treinamento, aprendizagem e satisfação do cliente.

E Highsmith (2004) acrescenta que as empresas precisam desenvolver uma cultura que promova a adaptação para absorver mudanças, ter algumas regras que encoraje a auto-organização, combinada com autogestão; colaboração intensa e interação entre os membros da equipe. Resultando em seis princípios que orientam o uso de APM (Agile Project Management):

Highsmith (2004) encoraja as entregas iterativas, com o objetivo de diminuir as incertezas e riscos ao longo do processo de desenvolvimento de produto; prega a simplificação do processo de gestão. Segundo o autor as iterações são definidas com base nas palavras-chaves: iterativo, baseado em funcionalidades, prazo pré-definido (timeboxed) e incremental. A partir de uma construção inicial do produto esta visão pode ser estendida através de ciclos sucessivos seguidos de revisões e adaptações. E Lippert (2004) acrescenta que este é um importante conceito em projetos de desenvolvimento ágil pois fornece a idéia de integração contínua, significa que mudanças e melhorias são realizadas em pequenos ciclos.

Baskerville et al (2001) argumenta que o tradicional desenvolvimento linear de software e com overhead de processo não consegue sobreviver numa cultura de desenvolvimento onde o pensamento é "primeiro ao mercado". Outra característica que a pressão do tempo implica é o desenvolvimento orientado a versões que impulsiona o desenvolvimento paralelo por habilitar o desenvolvimento incremental. Uma vez que a maior porção do trabalho deve ser dedicada a primeira versão por conter as principais funcionalidades e características, as próximas versões deveriam ser dedicadas a implementações menores, correções de erros e bugs. Sendo assim, as especificações também devem sofrer uma pressão por concentrar as funcionalidades e características mais importantes e relevantes para que outras de menor prioridade fiquem para próximas versões. Assim sendo, a especificação também deverá ocorrer por ciclos, assim como o desenvolvimento.

Segundo Middleton (2001) a mudança de paradigma requerida para software é ver que especificação em papel e programas não finalizados é um efeito de estoque ou custo do processo. O real custo não é o armazenamento do papel; o custo real está em erros que foram tardiamente descobertos na documentação que com o passar do tempo os autores esqueceram detalhes de situações onde eles foram descritos ou mesmo porque o projeto mudou; tornando a correção destes erros muito mais cara.

O trabalho de Shenhar e Dvir (2007) faz uma comparação entre a gestão ágil e tradicional de projetos, conforme ilustrado na Tabela 6.

Abordagem

Tradicional

Ágil

Metas do projeto

Foco no tempo, custo e requisitos de qualidade.

Foco no negocio, atingir múltiplos critérios de sucesso.

Plano do Projeto

Conjunto de atividades a serem executas conforme o planejamento com o objetivo de atender ao custo, prazo e qualidade.

Ciclo/processo com o objetivo de atender a meta esperada e resultado para o negocio

Planejamento

Realizado uma vez no inicio do projeto

Realizado no inicio e reavaliado sempre que necessário

Abordagem Gerencial

Rígida, com foco no plano inicial.

Flexível, adaptável

Execução

Previsível, mensurável

Imprevisível, não mensurável.

Influencia da organização

Mínimo, a partir do Kick-off do projeto.

Impacto no projeto ao longo da execução

Controle de projeto

Identificar os desvios a partir do plano inicial e corrigi-los para seguir conforme o planejado

Identifica as mudanças e ajusta o plano.

Aplicação de metodologia

Aplicação genérica de forma similar a todos os projetos

Adaptação do processo dependendo do projeto

Estilo de gestão

Um modelo atende a todos os tipos de projetos

Abordagem adaptativa, um único modelo não atende a todos os projetos.

Tabela 6 – Comparação gestão ágil x tradicional, modelo de Shenhar e Dvir (2007)

Segundo Lippert et al (2003) o maior problema com o processo de desenvolvimento tradicional é que ele deixa uma grande lacuna entre clientes e desenvolvedores, já os métodos ágeis com o intuito de prevenir desentendimentos a respeito dos objetivos e resultados do projeto envolvem o cliente desde o inicio do projeto tornando-o um parceiro do processo de desenvolvimento.

Talby et al (2006) colocam que no projeto sob abordagem tradicional a fase de testes ocorre após a conclusão do desenvolvimento do sistema, o qual é enviado uma versão para o grupo de QA (Quality Assurance) e este devolve um grande volume de defeitos que geralmente excedem os recursos disponíveis para corrigi-los. Assim sendo, se faz necessários a execução de um longo de processo de priorização dos defeitos, e dificilmente todos serão sanados até a entrega final do sistema. Os projetos ágeis substituem este processo por uma simples regra: corrigir cada defeito assim que é descoberto. E os autores concluem que corrigir os defeitos o quanto antes possui algumas vantagens como requerer menos tempo para corrigir o defeito, o desenvolvedor pode trabalhar numa base de código mais estável promovendo a velocidade no desenvolvimento e evitando, assim, desperdiçar tempo com o planejamento e priorização dos defeitos a serem corrigidos.

Fogelstrom et al (2010) ressaltam um importante princípio do desenvolvimento ágil: a simplificação, onde os requisitos devem ser priorizados com o intuito de produzir versões, e o desenvolvimento já pode ser iniciado mesmo que todos os requisitos não tenham sido devidamente especificados, iniciando por maior prioridade, consistindo no planejamento da versão e seus refinamentos.

Um ponto levantado por Lindvall et al (2004) é que as empresas identificam a necessidade de implementar processos mais flexíveis capazes de adaptar-se a volatilidade dos requisitos quando ocorre uma mudança repentina de requisitos e deparam-se com uma especificação mal definida, executada em alto nível e que muitas vezes encontra-se obsoleta, decorrente do tempo consumido para sua elaboração. Port e Bui (2009) argumentam que é altamente reconhecido que em muitos projetos de desenvolvimento de sistemas de informação nem todos os requisitos são implementados, e de que alguma forma a priorização de requisitos é fundamental. Com expectativas de clientes cada vez maiores, tempo de entrega reduzido e recursos limitados a priorização tem sido uma estratégia comum para limitar o escopo e entregar funcionalidades mais essenciais o quanto antes possível. Eles puderam notar, em suas pesquisas, que a priorização de requisitos é uma atividade custosa e muito complexa tanto na abordagem tradicional quanto ágil.

Lycett et al (2003) colocam que a abordagem ágil é fortemente a favor da comunicação humana e colaboração ao invés de atividades repetidas e definidas como mecanismo para desenvolver software de qualidade. E concluem que na prática, a dificuldade que muitas organizações enfrentam com a abordagem ágil reside na mudança cultural necessária para convencer a gerência dos benefícios; e a viabilidade no contexto de pressão do mercado global e práticas regulatórias.

Lee e Yong (2010) reforçam que os princípios ágeis enfatizam a comunicação face-a-face, times auto-organizáveis, colaboração, mudanças de requisitos, entregas frequentes, excelência técnica, entre outros. Mas de todas estas características o elemento mais crítico é a comunicação cliente com membros da equipe.

Diante de todas estas características do desenvolvimento ágil, Nielsen e McMunn (2005) enfatizam a importância de implantar estes conceitos de projeto em projeto, diluindo o impacto e os riscos das mudanças ao longo do tempo. Desta forma, os usuários também são introduzidos gradualmente e podem perceber ao longo do tempo a importância da participação ativa no projeto. E esta iteração da área de TI e negócio devem ser apoiados pela área gerencial da empresa.

Nesta linha de introduzir os conceitos ágeis gradualmente é que Mikulenas, Butleris e Nemuraite (2011) argumentam que passados somente 8 anos desde a 1º publicação do Manifesto Ágil, e o conceito de desenvolvimento ágil ganhou forte destaque no campo do desenvolvimento de sistemas de informação. Mas muitas organizações receiam em mudar suas metodologias de trabalho de forma drástica e ter que assumir riscos pela escolha, ainda mais se considerar o relatório CHAOS publicado em 2011 pela Standish Group onde consta que somente 32% dos projetos de software podem ser classificados como sendo de sucesso, por terem atingido a meta de custo e tempo. As organizações geralmente não preferem reconstruir seus métodos e processos de imediato, em sua maioria optam por fazer por projeto ou mesmo estender o método existente para agregar algumas partes do método ágil. O problema é que os métodos ágeis são apresentados, atualmente, como sendo uma solução monolítica sem um roadmap formal de como customizar e configurá-lo para uma adaptação parcial, e fora que há uma variedade de métodos ágeis para escolher.

Os autores propõem uma visão do problema, generalizado em 6 subproblemas, de adaptar parcialmente os métodos ágeis. Uma breve explicação destes subproblemas e mostrada na Tabela 7.

Subproblema

Descrição

1. Como avaliar a compatibilidade do método ágil?

Métodos ágeis são frequentemente utilizados como alternativa ao modelo tradicional. Há restrições tanto no nível do projeto quanto organizacional que devem ser ajustados para sua adoção por TI.

2. Como preparar os métodos ágeis para adaptação parcial?

A demanda atual é estender o método existente na empresa por adicionar algumas práticas ágeis, assim sendo, há a necessidade de identificar quais práticas serão utilizadas no contexto atual.

3. Como iniciar o processo? Qual é o ponto de partida?

A atualização de um método é uma atividade que gera alto custo para TI tanto pelo risco da implantação quanto de treinamento da equipe que associado a pressão de mercado direciona a buscar o momento mais propicio para inicio da atualização.

4. Onde é a fronteira entre a possibilidade e o desejo?

Dependendo do método existente na empresa pode haver espaço para agregar muitas práticas ágeis, podendo elevar e muito o esforço de adaptação, sendo assim, deve-se balancear os elementos que são possíveis ou desejáveis de serem utilizados.

5. Como tomar a decisão de quando configurar ou selecionar?

Envolvem questões de como selecionar e construir fragmentos de um método ágil concreto.

6. Como integrar-lo a um método customizado existente?

Depois de estender o método existente com práticas ágeis deve-se tomar a decisão de implementá-lo.

Tabela 7 - Subproblemas da adaptação parcial do método ágil, fonte Mikulenas, Butleris e Nemuraite (2011)

Mikulenas, Butleris e Nemuraite (2011) argumentam que não há um consenso universal de que os métodos ágeis são facilmente adaptáveis, há um conjunto de características de ambiente tanto da organização quanto do projeto que facilitam a sua utilização, o qual os autores denominam como requisitos de agilidade onde é descrito como sendo um constituído de dois parâmetros, sendo tipo de medida (quantitativa ou qualitativa) e tipo de conteúdo (técnico, social, negócio, psicológico, etc.;).

Já o estudo de Mafakheri et al (2008) propõe indicadores de agilidade para identificar as empresas que adotam o desenvolvimento ágil que seriam compostos pelos parâmetros apresentados na Tabela 8:

N.

Parâmetro

Objetivo

1

Dinamismo

Habilidade de mudar os requisitos

Entregas frequentes de softwares funcionais

2

Tamanho da equipe

Ter um time pequeno

3

Comunicação

Ter a proximidade do cliente

Redução da documentação

4

Teste

Ser capaz de testar os resultados mais frequentemente

5

Perfil e conhecimento dos desenvolvedores

Não ter nenhum pessoal no nível 1B (aprendiz) ter pelo menos 30% no nível 2 e 3 (pleno e sênior)

6

Cultura

Ter alto grau de liberdade para qualquer um envolvido na equipe

Tabela 8 - Parâmetros que afetam a agilidade, modelo de Mafakheri et al (2008)

Ao estudar os indicadores de agilidade, Qumer e Henderson-Sellers (2008) definem que o método ágil é uma função envolvendo agilidade, abstração, pessoas, processo, produto, ferramentas, conhecimento e governança. Os autores realizaram uma pesquisa onde puderam identificar o impacto e a importância da governança para o sucesso da operacionalização da iniciativa ágil em grandes organizações. De fato foi reconhecido por 77% dos participantes que a abordagem ágil é produtiva em projetos pequenos e médios, mas ao adicionar elementos de governança seria possível escalar para projetos grandes e complexos. Os autores propõem uma forma para calcular a agilidade envolvendo 4 dimensões denominado 4-DAT, que permite uma avaliação numérica do grau de agilidade no nível de processo e práticas de modo a considerar se o método utilizado de fato é ágil.

Qumer e Henderson-Sellers (2008) utilizaram a ferramenta 4-DAT para construir um modelo composto por 6 estágios de agilidade denominado AAIM (Agile Adoption and Improvement Model) subdivididos em 3 grandes blocos sendo 1.Incitar, 2. Ponto Crucial e 3. Ápice, e os autores acrescentam que é um modelo que pode guiar uma organização de desenvolvimento de software a adotar e melhorar práticas ágeis em uma situação ou projeto especifico.

Com base na experiência das organizações estudadas, Lindvall et al (2004)  acreditam que as práticas ágeis cobrem as necessidades das grandes organizações e especialmente das pequenas. Sendo que o desafio não é aplicar as práticas ágeis ao projeto, mas sim como difundi-las pela organização, evitando, assim, um duplo trabalho da equipe causado pelo conflito das práticas ágeis e tradicionais.

4. Considerações Finais

Este artigo abordou as relações entre os conceitos lean development e desenvolvimento ágil no contexto do desenvolvimento de software. A análise bibliométrica revelou que o número de publicações sobre lean development está em crescimento e o desenvolvimento ágil parece estar estabilizado, mas sem dar sinais de queda. A revisão bibliográfica sugere que o desenvolvimento ágil e os princípios das metodologias de desenvolvimento ágil são influenciados pelos conceitos do lean. A busca de formas de eliminar desperdícios e atividades que não agregam valor aparece nas duas áreas. Também foram encontradas discussões sobre métodos e procedimentos de comparação dos resultados obtidos com abordagens mais tradicionais (de produção e desenvolvimento). Isto sugere que ainda há, pelo menos por parte dos acadêmicos e profissionais da área, uma necessidade de melhor compreensão das vantagens e limitações subjacentes ao uso destas duas filosofias. Na área de desenvolvimento de software, ainda existe uma discussão sobre o uso integrado de métodos ágeis de desenvolvimento integrados a estruturas tradicionais mais formais e, em princípio, menos flexíveis, como o CMMI. Os trabalhos de Mikulenas, Butleris e Nemuraite (2011), e de Qumer e Henderson-Sellers (2008) são úteis na medida em que oferecem uma forma de avaliar o grau de adesão aos princípios ágeis que uma organização (empresa ou departamento) possui, e que poderia ser utilizado para avaliar seu impacto com medidas de eficiência e eficácia organizacional. Apesar deste trabalho ter voltado seu foco aos princípios do desenvolvimento ágil, uma discussão sobre as especificidades das diferentes metodologias ágeis ainda está em aberto.

Referências Bibliográficas

BASKERVILLE, R.  et al. How Internet software companies negotiate quality. Computer, v. 34, n. 5, p. 51-+, May 2001.

BOEHM, B.; TURNER, R. Management challenges to implementing agile process in traditional development organizations. IEEE Software, 2005.

FOGELSTROM, N. D.  et al. The impact of agile principles on market-driven software product development. Journal of Software Maintenance and Evolution-Research and Practice, v. 22, n. 1, p. 53-80, 2010.

GOULD, P.; What is agility?, IEE Manufacturing Enginner, vol. 76, n. 1, p. 28-31, 1997.

HIGHSMITH, J. Agile Project Management: creating innovative products. Addison-Wesley: Boston, 2004.

LEE S.; YONG H. Distributed agile: project management in a global environment.Empir Software Eng, v.15, p. 204-217, 2010.

LIKER, J.K., The Toyota way: 14 management principles from the world's greatest manufacturer, McGraw-Hill, New York, 2004.

LINDVALL, M.  et al. Agile software development in large organizations. Computer, v. 37, n. 12, p. 26-+, Dec 2004.

LYCETT, M.  et al. Migrating agile methods to standardized development practice. Computer, v. 36, n. 6, p. 79-+, Jun 2003.

MAFAKHERIAB, F; NASIRIB, F; MOUSAVI M. Project agility assessment: an integrated decision analysis approach. Production Planning & Control. Vol. 19, No. 6, p. 567–576, 2008.

MIDDLETON, P. Lean software development: Two case studies. Software Quality Journal, v. 9, n. 4, p. 241-252, 2001.

MIDDLETON, P.; FLAXEL, A.; COOKSON, A. Lean software management case study: Timberline Inc. In: BAUMEISTER, H. M. M. H. M. (Ed.). Extreme Programming and Agile Processes in Software Engineering, Proceedings, v.3556, 2005.  p.1-9.  (Lecture Notes in Computer Science).

MIKULENAS, G.; BUTLERIS, R.; NEMURAITE, L. AN APPROACH FOR THE METAMODEL OF THE FRAMEWORK FOR A PARTIAL AGILE METHOD ADAPTATION. Information Technology and Control, v. 40, n. 1, p. 71-82, 2011 2011.

NIELSEN, J.; McMUNN, D. The agile journey - Adopting XP in a large financial services organization. In: BAUMEISTER, H. M. M. H. M. (Ed.). Extreme Programming and Agile Processes in Software Engineering, Proceedings, v.3556, 2005.  p.28-37.  (Lecture Notes in Computer Science).

PETERSEN, K. Measuring the flow in lean software development. Software-Practice & Experience, v. 41, n. 9, p. 975-996, Aug 2011.

PETERSEN, K.; WOHLIN, C. Software process improvement through the Lean Measurement (SPI-LEAM) method. Journal of Systems and Software, v. 83, n. 7, p. 1275-1287, 2010.

POPPENDIECK M., POPPENDIECK T. Lean software development an agile toolkit, Boston: Addison-Wesley, 2003.

PORT, D.; BUI, T. Simulating mixed agile and plan-based requirements prioritization strategies: proof-of-concept and practical implications. European Journal of Information Systems, v. 18, n. 4, p. 317-331, Aug 2009.

QUMER, A.; HENDERSON-SELLERS, B. An evaluation of the degree of agility in six agile methods and its applicability for method engineering. Information and Software Technology, v. 50, n. 4, p. 280-295, Mar 2008.

SHENHAR, A.; DVIR, D. Project Management Research - the challenge and opportunity. Project Management Journal, v. 38, n.2, p.93-99, 2007.

SPINAK, E. Diccionario enciclopédico de bibliometría, cienciometría y informetría. Montevideo, 1996.

SUIKKI, R; TROMSTEDT, R.;HAAPASALO,H. Project management competence development framework in turbulent business environment. Technovation, v. 26, n.5, p.723-738, 2006.

TALBY, D.  et al. Agile software testing in a large-scale project. Ieee Software, v. 23, n. 4, p. 30-+, Jul-Aug 2006.

VELDMAN, J.; KLINGENBERG, W. Applicability of the capability maturity model for engineer-to-order firms. International Journal of Technology Management, v. 48, n. 2, p. 219-239, 2009.


1. Departamento de Engenharia de Produção da Escola Politécnica da Universidade de São Paulo, Brasil anapaula.ress@gmail.com

2. Departamento de Engenharia de Produção da Escola Politécnica da Universidade de São Paulo, Brasil remo@usp.br


 

Vol. 36 (Nº 19) Año 2015

[Índice]

[En caso de encontrar algún error en este website favor enviar email a webmaster]