Metodologia Ágil — Capítulo 1 — E no início era o caos e depois prescritivos…

Andressa Siqueira
3 min readSep 10, 2018

--

E agora está se tornando ágil…

Retirado do site ytimg

Já tem algum tempo que o desenvolvimento de software deixou de ser apenas código e desde então, programadores, coordenadores, gerentes e empresas vem procurando novas metodologias que aumentem a produtividade e qualidade do software e reduza o tempo de desenvolvimento e custo de um projeto.

Mas quais metodologias existem? Elas podem ser dividas em grupos? Existe alguma área de estudo para isso?

As respostas são sim, sim e sim! rsrsrs. Irei abordar a partir desse capítulo de metodologia ágil.

Vamos ao início de tudo…

No princípio, os desenvolvimento de software não tinham um planejamento detalhado, estimativa de tempo ou de custos, alocação de funcionários, análise de requisitos e etc. E isso era o caos!

Baseadas nas fábricas de manufaturas, nasceram as primeiras metodologias de desenvolvimento de software, as metodologias prescritivas.

E o que são metodologias prescritivas?

“São modelos que definem um conjunto distinto de atividades, tarefas, marcos e produtos de trabalho que são necessários para fazer eng enharia de software com alta qualidade.” (Pressman. 2005)

Processos “que se baseiam em uma descrição de como as atividades são feitas.” (Wazlawick, Raul Sidnei. 2013).

Os modelos prescritivos tem a maior preocupação nos processos e em seus prazos, deixando de lado o fator humano e os contratempos que podem ocorrer. Esse nome tem uma justificativa: Essas metodologias tem a capacidade de prescrever um conjunto de elementos de um processo de desenvolvimento tais como: atividades, tarefas, produtos de trabalho, garantia de qualidade entre outros e como os elementos do processo estão inter-relacionados.

A principal função desses modelos é colocar em ordem ao caos que é o mundo de desenvolvimento de software

Podemos incluir nos modelos prescritivos quatro metodologias:

  • Modelo Cascata
  • Modelo Incremental
  • Modelo Evolucionário
  • Modelos Concorrentes.

Falaremos mais sobre cada um deles nos próximos capítulos…

A maioria dos modelos prescritivos possuem os seguintes conjuntos de atividade:

Retirado do site jklob

Onde:

  1. Comunicação: Nessa etapa ocorre toda comunicação com o cliente a fim de entender todo o projeto (objetivo, necessidades e etc). Essa conversa com o cliente é conhecida como levantamento de requisitos. Esses requisitos podem ser funcionais (descreve o que o sistema deve realizar) ou não-funcionais, também conhecidos como atributos de qualidade(descreve como o sistema deve realizar um requisito funcional)
  2. Planejamento: Nessa etapa se estabelece as tarefas, os riscos, os recursos necessários e o tempo de duração do projeto.
  3. Modelagem: Nessa etapa ocorre a criação de modelos tais como, casos de usos e de testes entre outros, que permitem os desenvolvedores entender melhor o projeto.
  4. Construção: Etapa onde ocorre o desenvolvimento do produto e testes das funcionalidades modeladas.
  5. Implantação: Nessa etapa ocorre a implementação do produto no cliente além do treinamento e feedback.

As vantagens desse tipo de modelo são várias, tais como:

  • O projeto só segue quando os requisitos estão aceitos e estáveis
  • Abordagem sistemática e organizada
  • Serve de guia para equipes inexperientes
  • Maior percepção por parte do cliente do valor total do projeto
  • Entrega única e total do projeto

Porém, mesmo sendo uma metodologia com todas essas etapas, grandes atrasos acontecem, os custos estão quase sempre muito acima do orçado e os sistemas dificilmente atende as necessidades do cliente ao serem entregues. Mas porque?

  • Nos modelos, em geral, o cliente necessita especificar tudo o que quer no início do projeto porém só irá visualizar alguma coisa perto do fim do projeto.
  • Se não meio do projeto a equipe descobrir que as decisões arquiteturais estavam erradas, é necessário começar tudo novamente na maioria dos casos.
  • Projetos reais raramente seguem um fluxo sequencial de trabalho
  • Não há flexibilidade nos requisitos
  • Não prevê correções após a fase ter terminado
  • No geral, são processos rígidos e burocráticos.

E os métodos ágeis? No próximo capítulo…

--

--

Andressa Siqueira

Eng. Eletricista com ênfase em Sistemas e Computação pela UERJ e mestre em Sistema e Computação pelo IME. Contato https://www.facebook.com/AndressaSiqueiraBr/