quarta-feira, 31 de março de 2021

Modelos Ágeis

As definições modernas de desenvolvimento de software ágil evoluíram a partir de meados de 1990 como parte de uma reação contra métodos caracterizados por uma regulamentação complexa e rígida e contra a regimentação e o sequenciamento usado no modelo em cascata. O objetivo era desburocratizar os procedimentos que tornavam as etapas dos processos lentas, o que era contrário ao modo de trabalho usual dos engenheiros de software.

Inicialmente, os métodos ágeis foram denominados de “métodos leves”. Em 2001, Kent Beck e 16 outros notáveis profissionais da área de Engenharia de Software se reuniram, adotaram o nome métodos ágeis e publicaram o Manifesto Ágil, documento que reúne os princípios e práticas desta metodologia de desenvolvimento. Esses veteranos formaram a Agile Alliance,ou Aliança Ágil, uma organização não lucrativa que promove e fomenta o desenvolvimento ágil. (BECK, 2001)

 

 

 

Agilidade.
Fonte: kentoh/shutterstock

Os membros da Aliança Ágil, declararam assim os princípios da metodologia em seu manifesto:

“Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo. Através desse trabalho, passamos a valorizar:

  • 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.

Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.”

Fonte: SOMMERVILLE (2011, p. 40)

Os principais modelos baseados na concepção de Desenvolvimento Ágil incluem o Scrum, criado em 1986, o ASD – Adaptive Software Development, o FDD – Feature Driven Development, o DSDM – Dynamic Systems Development Method de 1995, o Crystal e a XP – eXtremeProgramming ou Programação Extrema, criados em 1996.

O Desenvolvimento Ágil de Software - Agile Software Development, envolve uma metodologia que visa minimizar os riscos por meio de desenvolvimentos em curtos períodos ou iterações, como mostra a figura (que é baseada no Scrum). A iteração típica envolve o desenvolvimento em fases curtas, de 1 a 4 semanas, envolvendo todas as tarefas necessárias para implantar uma funcionalidade. Considerando-se o período curto de cada iteração, a comunicação mantida entre os stakeholders é em tempo real sendo, preferencialmente, tratada por meio verbal (embora documentada), ou face a face, visando minimizar entendimentos parciais ou errôneos. Para tanto é necessário estabelecer um local físico (uma sala) onde toda a equipe necessária ficará focada no projeto.

Alguns críticos do processo ágil afirmam que o maior risco deste tipo de abordagem é a baixa qualidade ou mesmo inexistência de documentação do projeto por causa da interação humana face a face que, se por um lado traz agilidade na comunicação, por outro traz a informalidade nas definições. Assim sendo, é necessário um bom acompanhamento do gestor do projeto para garantir a qualidade dos trabalhos, independente do processo utilizado.

De uma forma geral, os processos ágeis atendem aos projetos de software que, normalmente, apresentam:

  • Dificuldade em prever com antecedência quais requisitos vão persistir e quais serão modificados, bem como prever quais prioridades dos clientes sofrerão mudanças ao longo do projeto;
  • Intercalação das etapas de projeto e construção, que vão sendo realizadas juntas de modo que os modelos de projeto vão sendo comprovados na medida em que são criados;
  • Análise, projeto, construção e testes não são tão previsíveis, do ponto de vista do planejamento, como seria desejado.

A metodologia ágil vem gerando grande debate, fazendo muitos desenvolvedores apaixonados e muitos outros críticos ferrenhos. Mas temos que manter a imparcialidade profissional e questionarmos o que realmente tem que ser observado, como:

  • Qual é a melhor forma de se alcançar a agilidade nos processos e práticas do desenvolvimento de software?
  • Como construir softwares que satisfaçam as necessidades do cliente e possua características de qualidade que permitam sua extensão e ampliação para satisfazer as necessidades do cliente no longo prazo?

Aconteceu

O que são essas tais de metodologias Ágeis?

Adotar uma metodologia ágil pode trazer muitos benefícios, mas nós costumamos dizer que o ágil não é a bala de prata, ou seja, apenas aplicar por exemplo o SCRUM ou algumas de suas práticas ágeis por si só não vai resolver os seus problemas, mas evidenciar suas fraquezas para que você possa identificar e atuar sobre elas. Cabe, então, à equipe atuar de forma proativa e desejar as mudanças para que os benefícios que o ágil pode proporcionar possa valer de verdade.

 Dentre as principais causas de falha na adoção de uma metodologia ágil estão:

  • Filosofia ou a cultura da empresa que conflitam com os valores e princípios do agile;
  • Falta de suporte gerencial para apoiar as mudanças; É preciso desejar as mudanças;
  • Falta de experiência ou treinamento insuficiente no novo processo; É preciso tornar-se capaz de trabalhar de maneira ágil;
  • Boicote, falta de comprometimento da própria equipe. É preciso reconhecer que há espaço para melhorias e desejá-las;

Aplicar o ágil não é uma tarefa fácil. Exige determinação e disciplina.

É UMA MUDANÇA DE COMPORTAMENTO.

Leia o artigo completo em: <www.ibm.com>

Nenhum comentário:

Postar um comentário