Sergio Massao Jomori

Sócio-diretor da ASR Consultoria

Membro do Conselho de Administração da ASSESPRO-SP 

As 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 chamadas 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.

Algumas Metodologias Ágeis
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. Não entendi esse parágrafo.

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ápidamente 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.

Agilidade e Qualidade
Se há alguns anos o CMM (Capability Maturity Model) Sistema de Modelagem para Desenvolvimento de Software) e, em seguida, o seu sucessor CMMI (Capability Maturity Model Integration) Modelo de Maturidade da Capacidade – Integração), 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 (Requests for Proposals) (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 é preciso de fornecer é 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.

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>