Os processos de desenvolvimento rápido de software são concebidos para produzir, rapidamente, softwares úteis. O
software não é desenvolvido como uma única unidade, mas como uma série de incrementos - cada incremento inclui
uma nova funcionalidade do sistema. Embora existam muitas abordagens para o desenvolvimento rápido de software,
elascompartilham algumas características fundamentais:
1. Os processos de especificação, projeto e implementação são intercalados. Não há especificação detalhada do sistema,
e a documentação do projeto é minimizada ou gerada automaticamente pelo ambiente de programação
usado para implementar o sistema. O documento de requisitos do usuário apenas define as características mais
importantes do sístema.
2. O sistema é desenvolvido em uma série de versões.Os usuários finais e outros stakeholders do sistema são envolvidos
na especificação e avaliação de cada versão. Eles podem propor alterações ao software e novos requisitos que
devem ser implementados em uma versão posterior do sistema.
3. Interfaces de usuário do sistema são geralmente desenvolvidas com um sistema interativo de desenvolvimento
que permite a criação rápida do projeto de interface por meio de desenho e posicionamento de ícones na interface. O
sistema pode, então, gerar uma interface baseada na Web para um navegador ou uma interface para uma
plataforma específica, como o Microsoft Windows.
Os métodos ágeis são métodos de desenvolvimento incremental em que os incrementos são pequenos e, normalmente,
as novas versões do sistema são criadas e disponibilizadas aos clientes a cada duas ou três semanas.Elas envolvem
os clientes no processo de desenvolvimento para obter feedback rápido sobre a evolução dos requisitos. Assim, minimiza-se a documentação, pois se utiliza mais a comunicação informal do que reuniões formais com documentos escritos.
Fonte: Sommerville, 9º Ed, pág. 39.