Metodologias ágeis não são a “bala de prata” do desenvolvimento de software

As empresas que têm conseguido melhores resultados são aquelas que combinam de forma harmônica metodologias mais tradicionais com práticas ágeis.

As chamadas metodologias ágeis têm conseguido adeptos em muitas empresas de tecnologia ao redor do mundo, desde o surgimento dessa denominação em 2001, quando foi lançado o “Manifesto Ágil” (“Manifesto for Agile Software Development”), nos EUA. Nesse manifesto estão descritos os princípios e características das metodologias ágeis, que valorizam indivíduos e interações mais que processos e ferramentas; software em funcionamento mais que documentação abrangente; colaboração com o cliente mais que negociação de contratos e responder a mudanças mais que seguir um plano.

Esses princípios podem parecer perfeitos para muitos analistas e programadores, mas podem trazer desconfiança e insegurança para muitos gerentes de projetos, gestores e empresários. Se os desenvolvedores vislumbram vantagens em trabalhar em equipes mais horizontalizadas e autogeridas, com menos “burocracia” na documentação técnica, os gestores podem sofrer com a falta de evidências documentadas no relacionamento com as equipes e clientes e também podem ter muitas dificuldades na obtenção de indicadores para tomada de decisões objetivas na condução dos projetos e na melhoria dos processos.

Dentre as metodologias ágeis, algumas das mais conhecidas são Scrum, XP, Lean Development, FDD e TDD.

Scrum é uma metodologia para gestão de projetos de software, a qual propõe que o desenvolvimento seja distribuído em iterações, chamadas sprints. Os clientes têm uma participação na definição do que deve ser construído, exigindo uma grande proximidade com a equipe de desenvolvimento e as entregas são frequentes.

Já a Extreme Programming (XP) é uma metodologia ágil utilizada tipicamente em equipes pequenas e médias que desenvolvem software a partir de requisitos vagos e que se modificam rápida e constantemente. São valores fundamentais da metodologia XP: comunicação, simplicidade, feedback, coragem e respeito.

O Lean Development é uma metodologia ágil que tem como principal referência a metodologia originalmente desenvolvida pela Toyota para guiar processos industriais de linha de montagem.

Enquanto o Feature Driven Development (FDD) é uma metodologia de desenvolvimento de software em que o código é desenvolvido a partir das funcionalidades ou requisitos funcionais.

É importante mencionar também a técnica Test Driven Development (TDD) direcionada ao desenvolvimento de software em que o código é desenvolvido a partir dos casos de teste.

Se há alguns anos o CMM (Capability Maturity Model) e, em seguida, o seu sucessor CMMI (Capability Maturity Model Integration), já foi considerado por alguns como a “bala de prata” para a solução de muitos problemas de desenvolvimento de software, muitos podem também cair nessa armadilha em relação às metodologias ágeis.

Certamente a agilidade é um dos principais atributos requeridos das empresas de tecnologia, notadamente das desenvolvedoras de software; porém é fundamental que ela esteja combinada com outras características como qualidade, produtividade, assertividade, manutenibilidade, entre outras.

Antes de definir as melhores práticas e as metodologias mais adequadas ao seu negócio, é importante considerar fatores como: tamanho, maturidade, homogeneidade e conhecimento da equipe de desenvolvimento; requisitos de documentação e métricas; características do produto e do projeto (desenvolvimento, sustentação), entre outros.

Por exemplo, se sua empresa atua como uma fábrica de software, fornecendo para grandes empresas do setor financeiro, provavelmente tem de atender RFPs (solicitações de propostas) com requisitos funcionais e não funcionais bem definidos, além de fazer estimativas contando Pontos de Função. Possivelmente também é requerido o fornecimento de documentos detalhados do projeto para futura manutenção do sistema desenvolvido.

Por outro lado, se sua empresa desenvolve produtos de software com centenas de usuários com perfis e necessidades diferentes, dificilmente conseguirá ter requisitos bem definidos e estáveis. Também é muito provável que a documentação do sistema não exista ou, no mínimo, esteja desatualizada.

As empresas que têm conseguido melhores resultados são aquelas que combinam de forma harmônica e, não preconceituosa, metodologias mais tradicionais com práticas ágeis, observando atentamente as necessidades e características de seus clientes.

* Sergio Massao Jomori é sócio-diretor da ASR Consultoria e membro do conselho de administração da Assespro-SP.

Fonte: http://computerworld.com.br/metodologias-ageis-nao-sao-bala-de-prata-do-desenvolvimento-de-software

 

Fique por dentro do que acontece no mundo do TI!