Hoje em dia, o desenvolvimento de software tem evoluído muito com as novas ferramentas e recursos das linguagens mais modernas, mas a maneira de se desenvolver também sofreu mudanças.
Durante o desenvolvimento é comum e constante a modificação nos requisitos do cliente, além de software que estão em constante melhoria em suas funcionalidades. Gerenciar essas mudanças sem um processo definido para auxiliar é uma tarefa bastante complexa e que leva muito tempo.
Fazendo um paralelo, vamos comparar o modelo antigo de desenvolvimento em cascata a esquerda com o modelo espiral, que aborda uma metodologia mais atual. Clique sobre cada imagem para visualizar suas caraterísticas.
Processos antigos de desenvolvimento, como o estilo de desenvolvimento em cascata, seguem uma linha reta do início ao fim e não lidam bem com constantes modificações nos requisitos do software, principalmente quando já estão em um estágio avançado do desenvolvimento.
Nos processos ágeis como o Scrum, o desenvolvimento é iterativos e incrementais, ou seja, o software é modularizado e desenvolvido em pequenos modelos. Isso ajuda a gerenciar de maneira mais eficiente as constantes modificações nos requisitos.
Assim é possível entregar os módulos já desenvolvidos do software constantemente ao cliente, permitindo um teste gratuito com feedback, constante contato com o cliente demonstrando que o software está sendo realmente feito e rápida correção de bugs com o feedback.