Artigo Engenharia de Software 4 - Metodologias Ágeis
Artigo da Revista Engenharia de Software edição 4.
Metodologias Ágeis
Uma Visão Prática
De que se trata o artigo:
Avaliação da presença das metodologias ágeis no mercado de desenvolvimento de software. Neste artigo, o autor procura verificar quantitativamente alguns pontos de interesse, identificando o estado atual do movimento ágil e a pouca disponibilidade de estudos de caso que possam ser usados como fonte sistemática de resultados para comparação.
Para que serve:
Fornecer subsídios para o processo de escolha de uma metodologia de desenvolvimento a ser adotada por uma empresa de software através de uma avaliação crítica das informações disponíveis sobre os resultados da aplicação das metodologias ágeis em projetos reais de desenvolvimento.
Em que situação o tema é útil:
As metodologias ágeis, como a Extreme Programming (XP) e o Scrum, entre outras, têm despertado atenção crescente do mercado. Esse movimento, baseado no ciclo de desenvolvimento incremental e iterativo, está focado na colaboração do cliente, no valor dos indivíduos e na adaptação às mudanças, tendo mostrado ganhos de produtividade nos mais diversos tipos de projetos de desenvolvimento de software.
A escolha da metodologia mais adequada para o desenvolvimento de software em uma organização não é uma tarefa trivial. As metodologias ágeis têm despertado o interesse do mercado, apresentando evidências de melhoria na produtividade, mas, para que possam ser efetivamente usadas em larga escala, precisam provar alguns de seus pontos de vista. Neste artigo, procura-se verificar quantitativamente alguns pontos de interesse, identificando a presença das metodologias ágeis no mercado, o estado atual do movimento ágil e a pouca disponibilidade de estudos de caso que possam ser usados como fonte sistemática de resultados para comparação.
Introdução
A maior parte dos projetos de desenvolvimento de software pode ser descrita simplesmente como “programar e corrigir”, sendo desenvolvidos sem planejamento ou uma fase organizada de design do sistema. Disso usualmente decorre uma grande quantidade de erros, os quais precisam ser resolvidos, em uma longa etapa que sempre estende o prazo inicialmente proposto. O movimento original de melhoria no setor foi o que introduziu a noção de metodologia, ou seja, uma abordagem disciplinada para o desenvolvimento de software com o objetivo de tornar o processo mais previsível e eficiente (FOWLER, 2005).
Em 2001, movidos pela observação de que equipes de desenvolvimento de software nas mais diversas organizações estavam presas por processos cada vez mais burocráticos, um grupo de profissionais reuniu-se para delinear os valores e princípios que permitiriam às equipes de desenvolvimento produzir rapidamente e responder às mudanças. Eles chamaram a si mesmos de Aliança Ágil. Trabalharam por dois dias para criar um conjunto de valores. O resultado foi o Manifesto da Aliança Ágil (MARTIN, 2002). Embora as metodologias que compõem o movimento ágil já estivessem no mercado há alguns anos, com a denominação de “metodologias leves”, o Manifesto Ágil é considerado oficialmente como o início do movimento ágil.
Segundo Abrahamsson (2002), uma metodologia pode ser dita ágil quando efetua o desenvolvimento de software de forma incremental (liberação de pequenas versões, em iterações de curta duração), colaborativa (cliente e desenvolvedores trabalhando juntos, em constante comunicação), direta (o método em si é simples de aprender e modificar) e adaptativa (capaz de responder às mudanças até o último instante). Nesse conceito, inclui como metodologias ágeis: Extreme Programming (XP), Scrum, Crystal, Feature Driven Development (FDD), Dynamic Systems Development Method (DSDM), Open Source Software Development e, com certa ressalva, o Rational Unified Process (RUP).
Importância dos estudos para o mercadoAs idéias relativas ao movimento ágil têm sido rapidamente disseminadas pela comunidade de desenvolvimento. Todavia, mesmo que os desenvolvedores avaliem, de forma favorável, técnicas como o desenvolvimento incremental e a programação orientada a testes, sugerindo a adoção de uma metodologia ágil, essa decisão ainda tem que ser tomada pela organização na qual estão inseridos. Para isso, se faz necessária uma argumentação quantitativa.
Na Curva de Adoção de Tecnologia, apresentada na Figura 1, Rogers (2003, apud GRINYER, 2007) introduz o conceito de “decisão sobre a inovação”, o qual indica que um grupo (ou indivíduo) procura determinar as vantagens e desvantagens de uma inovação, com o objetivo de reduzir a incerteza antes de sua adoção. A partir disso, descreve cinco categorias sociais, determinadas com base no seu grau de adoção das inovações. Os “inovadores” são os que mais facilmente adotam as inovações e, para a direita do gráfico, cada grupo apresenta uma resistência maior, terminando com os “tardios”, menos afeitos à adoção de qualquer inovação." [...] continue lendo...
Artigos relacionados
-
Artigo
-
Vídeo
-
Vídeo
-
DevCast
-
DevCast