Categorias
Engenharia de Software Metodologias Ágeis

Metodologias Ágeis? O que tem isso de bom?

As Metodologias Ágeis de desenvolvimento de software estão em evidência nos últimos tempos. O interessante é observar o porquê dessa evidência.

Essas metodologias apresentam práticas que não são novidades, como a utilização de um ciclo de vida iterativo e incremental, por exemplo, que é também, encontrada no ciclo de vida do framework RUP (Rational Unified Process) e em outras metodologias mais “tradicionalistas”. Por muito tempo as empresas, por puro modismo, passaram a utilizar processos baseados em RUP e obtendo consequências alarmantes quando, por falta de bom senso e não por conta da metodologia (Vale ressaltar!), emperram o seu processo na burocracia e na preocupação em cumprir a risca o próprio processo.

Um processo de desenvolvimento de software é um conjunto de atividades distribuídas em várias fases de um ciclo de vida, que possuem o objetivo geral de se produzir um software de qualidade. Por muito tempo as empresas que desenvolvem software, sejam empresas que tenham o software como fim ou como meio, viveram no meio de um caos que pode até mesmo ser o que eu chamo de “caos em falso controle”. Nesse “caos em falso controle” as empresas possuem um processo bem denifido e até bem conhecido por seus funcionários, mas ainda sim não conseguem obter qualidade nos seus produtos, sofrendo ainda com estouros de prazos como regra e não exceção, o que também tem como consequência estouro nos custos planejados como regra, custos que acabam por serem repassados muitas vezes para o cliente.

Em 2001 ocorreu um movimento em que envolveu 17 pessoas, dentre essas engenheiros de software, consultores e desenvolvedores que criticavam algumas práticas de Engenharia de Software. Então essas pessoas assinaram um manifesto que propunha alguns valores para o desenvolvimento ágil de software, são os valores:

  • Indivíduos e interação entre eles mais que processos e ferramentas
  • Software em funcionamento mais que documentação abrangente
  • Colaboração com o cliente mais que negociação de contratos
  • Responder a mudanças mais que seguir um plano
Movimento Ágil
Movimento Ágil

Esses valores apresentados no manifesto ágil são os prováveis motivos da evidência das metodologias ágeis,visto que entre as pessoas que assinaram o manifesto encontram-se os criadores de várias metodologias como XP, SCRUM, entre outras. Eles declararam que mais importante que seguir um processo massivo apenas por que a empresa o adotou é saber o que as pessoas pensam disso, pensar em motivar as pessoas que desenvolvem os projetos de software, alimentar a comunicação, a franqueza e a colaboração dessas pessoas entre si de modo que todos entendam que possuem um objetivo comum, desenvolver um produto de qualidade. Mais importante do que fazer documentação em excesso é desenvolver um software que funcione corretamente e atenda as espectativas do cliente. É importante colaborar com o cliente, mais do que negociar novos contratos. Eles entendem que mudança é algo bom, desde que essa mudança agregue valor ao produto para o cliente. Relizar mudanças envolve obter um software de qualidade, vendo qualidade do ponto de vista da satisfação do cliente.

Como disse antes, algumas práticas das metodologias ágeis não são novidades, mas o novo foco apresentado pelos valores e princípios do movimento ágil agradam e estão dando muitos resultados, porém se as empresas derem importância apenas as práticas apresentadas pelas diversas metodologias, esquecendo dos valores e princípos do Agilemanifesto.org, essas também tenderam a ser mais algumas metodologias que não funcionam e causam novos problemas, e serão apresentadas como péssimos exemplos por futuros “xiitas” que terão novas metodologias como a “bala de prata” que resolve todos os problemas da engenharia de software.