quarta-feira, 27 de janeiro de 2016

Metodologia Ágil

Introdução

As definições modernas de desenvolvimento de software ágil evoluíram a partir da metade de 1990 como parte de uma reação contra métodos mais robustos, caracterizados por uma pesada regulamentação, regimentação e micro gerenciamento usado no modelo em cascata para desenvolvimento. O processo originou-se da visão de que o modelo em cascata era burocrático, lento e contraditório a forma usual com que os engenheiros de software sempre realizaram trabalho com eficiência.
A maior parte dos métodos ágeis tentam minimizar o risco pelo desenvolvimento do software em curtos períodos, chamados de iteração, os quais levam por volta de uma a quatro semanas para entregar parte do sistema. Apesar das metodologias existirem, foi em 2001 que um grupo formado por Kent Beck e mais dezesseis renomados desenvolvedores assinaram o Manisfesto para o Desenvolvimento Ágil de Software e o grupo foi batizado de aliança dos ágeis. 
O manifesto ágil possui a seguinte base:
  • Os indivíduos e as interações são mais importantes do que os processos e as ferramentas;
  • O software funcionando é mais importante do que uma documentação completa;
  • A colaboração com e dos clientes acima de apenas negociações de contratos;
  • Respostas a mudanças acima de seguir um plano.
Isso não significa que a documentação não é importante ou que os processos e ferramentas sejam inúteis, significa que o item a esquerda é mais valorizado.
“A engenharia de software ágil combina filosofia com um conjunto de princípios de desenvolvimento. A filosofia defende a satisfação do cliente e a entrega de incremental prévio; equipes de projetos pequenas e altamente motivadas; métodos informais; artefatos de engenharia de software mínimos e, acima de tudo, simplicidade no desenvolvimento geral. Os princípios de desenvolvimento priorizam a entrega mais que a análise e projeto (embora essas atividades não sejam desencorajadas); também priorizam a comunicação ativa e contínua entre desenvolvedores e clientes”. (Pressman, 2011)

Um Pouco sobre a Metodologia
As metodologias ágeis tem foco na comunicação contínua com o cliente, na entrega constante e na equipe de desenvolvimento. É perceptível que muda um pouco o conceito tradicional, em que primeiro é planejado todo o produto, com uma análise completa, requisitos funcionais, não funcionais e requisitos inversos de todo o produto, para depois iniciar o desenvolvimento, o que pode acarretar problemas, pois um requisito mal interpretado só será identificado quando o produto for entregue meses depois. Na metodologia ágil, planeja-se apenas o que será feito naquele incremento, com detalhes, de forma que possamos desenvolver e entregar ao cliente. Caso o requisito tenha sido mal entendido, ele é rapidamente corrigido, pois o tempo do incremento é curto e a correção é rápida, diferente de quando o produto foi entregue completo, e que aparece muitos erros de requisitos, muitas coisas a serem corrigidas e melhoradas, levando tempo da equipe e a desmotivação.

Princípios
Os princípios do desenvolvimento ágil valorizam:
  • Garantir a satisfação do consumidor entregando rapidamente e continuamente software funcionais;
  • Até mesmo mudanças tardias de escopo no projecto são bem-vindas para garantir a vantagem competitiva do cliente;
  • Software funcionais são entregues frequentemente (semanas, ao invés de meses);
  • Cooperação diária entre pessoas que entendem do 'negócio' e desenvolvedores;
  • Projetos surgem através de indivíduos motivados, entre os quais existe relação de confiança;
  • A maneira mais eficiente e efetiva de transmitir informações é conversas cara a cara;
  • Software funcionais são a principal medida de progresso do projeto;
  • Processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes para manter um ritmo constante indefinidamente;
  • Design do software deve prezar pela excelência técnica;
  • Simplicidade é essencial;
  • As melhores arquiteturas, requisitos e projetos emergem de equipes auto-organizadas;
  • Em intervalos regulares, a equipe reflete sobre como para tornar-se mais eficaz, então sintoniza e ajusta seu comportamento apropriadamente.
Referências
  • Pressman, Roger S. Engenharia de Software: Uma abordagem profissional, Bookman, Porto Alegre, 2011;
  • Sommerville, Ian. Engenharia de Software, Person, São Paulo, 2010.
  • <http://manifestoagil.com.br/> Acessado em Janeiro de 2016
  • <http://www.devmedia.com.br/uma-visao-geral-sobre-metodologia-agil/27944> Acessado em Janeiro de 2016


Nenhum comentário:

Postar um comentário