Métodos ágeis

O debate sobre qualidade de software, adoção de melhores práticas que favoreçam a qualidade, métodos ágeis, métodos baseados em processos organizados derivados do UP-Unified Process etc., está apenas começando. Ainda estamos meio tontos com o bombardeio de idéias, reclamações, relatórios desfavoráveis, alto nível de críticas, custos organizacionais elevadissimos do erro em software (estimado em bilhões de dólares por ano nos EUA). E a famosa bala de prata, supostamente eficaz para matar lobisomens, não existe para o nosso caso, e temos que ir em frente experimentando, coletando dados e informações, para que em algum momento no futuro (espero que no futuro de curto prazo), uma solução segura apareça. Vou inaugurar com esse artigo inicial sobre métodos ágeis, uma série de postagens sobre a questão, sempre procurando trazer subsídios para o melhor entendimento do problema e dos possíveis caminhos que podem ser seguidos.

Um dos mais respeitados evangelistas dos métodos ágeis (na minha opinião), Scott Ambler, publicou recentemente na Software Development Times uma série de artigos sobre adoção de métodos ágeis nas empresas (vejam aqui). Segundo ele, “Agile principles have become IT best practices for software development“. Algumas conclusões do próprio: -não existe (ainda) consistência na aplicação de práticas ágeis entre equipes diferentes, o que deixa dúvidas com relação a quando um processo de desenvolvimento pode ou não ser melhorado pela adoção de uma ou várias práticas originadas dos métodos ágeis; -a abordagem ágil para desenvolvimento de software não é hoje tão ortodoxa quanto era no início, há seis anos, quando foi tornado público o Manifesto Ágil para Desenvolvimento de Software.

Existem vários mitos sobre adoção de métodos ágeis, e a grande verdade é que até o momento, não existem dados históricos catalogados, auditados e utilizados para gerar informação de valor sobre o uso de métodos ágeis em projetos, como o próprio Scott Ambler concluiu. Existem sim, relatos de experiências bem sucedidas, mas sem o acompanhamento dos devidos dados, gráficos e estudos que dêem credibilidade científica aos relatos. As perguntas mais importantes do ponto de vista técnico sobre adoção de métodos ágeis são: quando e onde métodos ágeis podem ser usados com sucesso? que tipo de projeto é mais adequado ao uso de métodos ágeis? qual o custo de adoção e o retorno do investimento (ROI)? qual a curva de aprendizagem? qual o nível de experiência da equipe? qual o tamanho ideal da equipe? qual o risco de adotar métodos ágeis em uma equipe inexperiente e pequena? e assim por diante.

Alguns dados históricos confiáveis, entretanto, começam a surgir. Por exemplo, a técnica pair programming (programação em pares), utilizada em XP-eXtreme Programming é a prática ágil mais largamente utilizada no mundo. Essa técnica já é utilizada pela Microsoft há alguns anos em seu processo interno de desenvolvimento, vejam a postagem Métodos ágeis e a Microsoft aqui no blog, e sua adoção em ambiente acadêmico começa a ser feita com sucesso, segundo dados coletados sobre o seu uso em sala de aula. No Portal for Agile Methodologies, criado na North Carolina State University, há muita informação de boa qualidade sobre a questão, recomendo o acesso.

Numa próxima postagem, vou entrar um pouco mais na parte técnica de métodos ágeis. Tenho orientado dissertações de mestrado no nosso Programa de Pós-Graduação em Ciência da Computação do DPI-UFV, sobre o assunto. Estamos usando a abordagem baseada em riscos para seleção de melhores práticas da indústria de desenvolvimento de software, e alguns resultados práticos interessantes começam a aparecer. O assunto é extenso e polêmico, gerando paixão e ódio, tem de tudo. Melhor a gente ficar de cabeça fria e se municiar de boa informação, boas leituras e boa discussão, para conseguir ter uma visão mais imparcial sobre a questão.

(essa postagem é também parte da minha resposta à pergunta postada pelo nosso aluno Hugo Magalhães em mensagem recente à lista dos alunos de graduação do Bacharelado em Ciência da Computação do DPI)

Anúncios

Consultor Independente, Treinamento Empresarial, Gerência de Projetos, Engenharia de Requisitos de Software, Inovação. Professor Titular Aposentado, Departamento de Informática, Universidade Federal de Viçosa, Minas Gerais, Brasil. Doutor em Informática, PUC-Rio, 1990. Pós-Doutoramento, University of Florida, 1998-1999

Publicado em Educação, Engenharia de Software, Métodos ágeis
2 comentários em “Métodos ágeis
  1. Zé, gostei muito da sua abordagem. Ainda sou iniciante no assunto de métodos ágeis e nunca participei de um projeto “inteiramente ágil”. Já participei em projetos que utilizavam “adaptações” ágeis, como o stand-up-meeting. Concordo em gênero, número e grau com o fato de que não podemos ser extremistas e chafurdar de vez os métodos “planejáveis”, até porque eles ainda funcionam, mas acredito sim que o “agile” veio pra solucionar algumas brechas e claro, “agilizar o processo”. 😉 Sempre que puder, poste sobre o assunto. 😀 Grande abraço.

  2. Em breve volto ao assunto, tem muita coisa para ser dita e ponderada sobre a questão. O fato é que é tudo muito nebuloso, não temos ainda conhecimento histórico suficiente para equiparar projeto de software com projeto de engenharia… estamos falando de 60 anos de existência da eng. software comparada com séculos de existência da engenharia, ainda temos muito chão para andar. O importante a meu ver é manter o espirito crítico aguçado e livre de preconceitos, para poder enxergar e entender os argumentos dos dois lados. zeluis

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: