quinta-feira, 6 de agosto de 2009

Metodologias de desenvolvimento: qual a mais adequada?

Tradicionais ou ágeis. Cada método tem suas vantagens e desvantagens. Saiba qual é o mais indicado para o seu projeto.

Por Rodrigo Caetano, da Computerworld
06 de agosto de 2009 - 07h00

As metodologias de desenvolvimento de software servem para não tornar a tarefa, complexa por natureza, um verdadeiro caos. O problema é que, dependendo do projeto, os métodos tradicionais podem deixar os desenvolvedores amarrados a requisitos desatualizados, que não correspondem às reais necessidades do cliente. Em mercados altamente competitivos, ou em momentos de crise econômica, a flexibilidade e a facilidade de mudar o rumo são qualidades muito valiosas para serem deixadas de lado.

Existem outros tipos de metodologias, denominadas ágeis (do inglês agile), que, ao contrário, oferecem ao desenvolvedor total flexibilidade e aproximam a equipe de tecnologia da informação do usuário final do software, seja ele um cliente interno ou externo. Com esse tipo de metodologia, a homologação dos projetos é feita em etapas, o que resulta em tempos de entrega mais curtos, geralmente de três a seis semanas, e a capacidade de promover alterações rapidamente.

Recentemente, o Grupo Fleury, especializado em medicina diagnóstica, criou um grupo de desenvolvimento focado em metodologias ágeis. O objetivo é atender demandas com menor prioridade, mas que são importantes para os negócios da companhia. Segundo o gerente sênior de projetos da empresa, Fernando Alberto, a iniciativa está sendo um sucesso, especialmente em relação à percepção dos usuários. Como a entrega é mais rápida, o cliente sente que o projeto está andando, e tende a participar mais ativamente do processo.

Mas o próprio Alberto reconhece que nem todos os projetos são adequados para os métodos ágeis. “No caso de sistemas maiores, como um ERP (sistema de gestão), as metodologias tradicionais são mais indicadas”, afirma o gerente. Desde o surgimento das metodologias ágeis, fanáticos de ambos os lados tentam provar qual dos métodos é o melhor. Mais maduro, o mercado agora vê que cada caso é um caso e tenta tirar o melhor proveito de ambos os métodos.

Aplicações
Para o sócio-fundador da consultoria Mondo Strategies, Ernani Ferrari, as metodologias tradicionais devem ser utilizadas em projetos de software que tenham ciclo de vida longo, como no caso de um ERP e outros sistemas críticos para as empresas. O motivo está na documentação gerada. A gestão e a guarda do conhecimento, explica Ferrari, são resolvidas de forma melhor com o uso de métodos tradicionais, como o RUP (Rational Unified Process), metodologia derivada da linguagem UML (Unified Modeling Language).

A UML permite que os desenvolvedores vejam o trabalho realizado em diagramas padronizados. O RUP, uma metodologia proprietária — criada pela Rational Software Corporation, que foi adquirida pela IBM em 2002 —, utiliza a linguagem, não proprietária, para documentar e ilustrar os processos de desenvolvimento. Atualmente, a maioria das metodologias tradicionais é baseada na UML.

Segundo Ferrari, nas metodologias ágeis, pelo fato de gerarem menos documentação, a gestão do conhecimento depende mais das pessoas envolvidas no projeto. Em softwares com ciclo de vida mais longos, parte desse conhecimento pode se perder com o tempo. Por esse motivo, elas são mais indicadas para o desenvolvimento de aplicativos pontuais e focados. É o que tem feito o laboratório Fleury.

Entre as metodologias ágeis, atualmente está em evidência o método Scrum — o nome tem origem em uma jogada de rúgbi. Uma das principais características do método é que o cliente se torna parte integrante da equipe de desenvolvimento. Além das homologações, são feitas reuniões diárias com o cliente, de 15 minutos, por telefone. Há quem defenda, porém, o uso das metodologias ágeis também em projetos longos.

Para Fernando Ostaneli, gerente do centro de desenvolvimento de metodologia ágil da Ci&T, empresa que oferece serviços de desenvolvimento de softwares, tudo depende da preparação inicial do projeto. “Pode demorar até seis meses para definir os requisitos identificar as necessidades de negócios da empresa. Mas depois é possível usar os métodos ágeis em qualquer projeto”, afirma.

A questão é polêmica — existem empresas que usam metodologias tradicionais em projetos de ciclo de vida curto, com sucesso — e será difícil chegar a um consenso. Mas poucos profissionais discordam que o sucesso depende mesmo da boa definição dos requisitos e de uma comunicação sem falhas entre a área de negócios e o departamento de tecnologia.

Nenhum comentário: