# Metodologia Ágil
A metodologia ágil consiste em prática que promove a iteração contínua de desenvolvimento e teste através do SLDC no projeto. Na metodologia Ágil dentro do teste de software, tanto desenvolvimento quanto testes são concomitântes, ao contrário do modelo cascata.
# Em que Consiste o Desenvolvimento de Software Ágil?
Esta metodologia é uma das mais simples e eficientes para tornar a visão das necessidades de um negócio em soluções de software. Ágil é um temro usado para descrever as abordagens de desenvolvimento que aplicam planejamento, aprendizando, melhorias, colaboração em time, desenvolvimento evolucionário e entregas iniciais contínuas, Isto encoraja respostas flexíveis a mudança.
Os quatro valores nucleares da metodologia Ágil são:
- Interações individuais e em time acerca de processos e ferramento;
- Software Funcional sobre documentação compreensível;
- Colaboração com cliente sobre negociação de contrato;
- Responder a mudança sobre seguir um plano;
Metodologia Ágil vs Modelo Cascata
Metodologia Ágil
- Metodologias Ágeis proponhem abordagens incrementais e iterativas ao design de software
- O Processo Ágil na engenharia de software é dividido em modelos individuais que designers se debruçam sobre;
- O cliente tem oportunidades frequentes e desde o início para ver o produto e realizar decisões ou mudanças no projeto;
- É considerado inestruturado quando comparado ao modelo cascata
- Projetos pequenos podem ser implementados rapidamente, já projetos grandes é difícil estimar o tempo de desenvolvimento;
- Erros podem ser corrigidos no meio do projeto;
- O processo de desenvolvimento é iterativo, e o projeto é executado em iterações curtas (2-4 semanas)
- Documentação possui menor prioridade do que desenvolvimento de software;
- Cada iteração tem sua própria fase de testes. Isto permite o implemento de testes de regressão toda vez que uma nova funcionalidade ou lógica for lançada;
- No teste Ágil quando uma iteração termina, features enviáveis do produto são entregues ao cliente. Novas features são usáveis logo após o envio, o que é útil quando se tem bom contato com clientes;
- Devs e testers trabalham juntos;
- No fim de cada sprint, a aceitação de usuário é aplicada;
- Requer comunicação próxima com desenvolvedores, para juntos analisar requerimentos e planejamentos;
Modelo Cascata:
- Desenvolvimento do software flue sequencialmente do começo ao fim;
- O processo de design não é subdividido em modelos individuais
- O cliente pode ver o produto apenas no fim do projeto;
- Modelo cascata é mais seguro por ser orientado pelos planos;
- Todos os tipos dep rojetos podem ser estimados e completos;
- Apenas no fim, o produto inteiro é testado. Se erros são localizados ou quaisquer mudanças forem feitas, o projeto começa todo de novo;
- O processo de desenvolvimento se da por estágios, e o estágio é muito maior que uma iteração. Cada estágio termina com uma descrição detalhada do próximo;
- Documentação é de altíssima prioridade e pode ser usada inclusive para treinar colaboradores e melhorar o software com outro time;
- Apenas após a fase de desenvolvimento a testagem se inicia, pois partes separadas não são completamente funcionais;
- Todas as features desenvolvidads são entregues de uma vez após uma longa fase de implementação;
- Testers trabalham de forma separada dos devs;
- Aceitação de usuários é aplicada no fim do projeto;
- Devs não se envolvem nos processos de regras de negócio e planejamento. Geralmente, existem atrasos entre testes e código;