Modelos ágeis
Provavelmente o método ágil mais conhecido é a extreme programming (Beck, 1999; Beck, 2000). Contudo, outros métodos ágeis incluem: Scrum, Crystal, Adaptative Software Development, DSDM e Feature Driven Development.
Extreme Programming - Neste modelo todos os requisitos são expressos como cenários, que são implementados diretamente como uma série de tarefas. Alguns princípios da Extreme programming são: planejamento incremental, pequenos releases, projeto simples, desenvolvimento test-first, refactoring, programação em pares, propriedade coletiva, integração contínua, ritmo sustentável, cliente on-site.
Scrum - Tem como objetivo, segundo Schwaber (2002, p.2), definir um processo para projeto e desenvolvimento de software orientado a objeto, que seja focado nas pessoas e que seja indicado para ambientes em que os requisitos surgem e mudam rapidamente. O Scrum também é considerado um método específico para o gerenciamento do processo de desenvolvimento de software.
O método baseia-se ainda, conforme Schwaber (2002, p.7), em princípios como: equipes pequenas de, no máximo, 7 pessoas; requisitos que são pouco estáveis ou desconhecidos; e iterações curtas. Divide o desenvolvimento em intervalos de tempos de, no máximo 30 dias, também chamadas de Sprints. Este método não requer ou fornece qualquer técnica ou método específico para a fase de desenvolvimento de software, apenas estabelece conjuntos de regras e práticas gerenciais que devem ser adotadas para o sucesso de um projeto. As práticas gerenciais do Scrum são: Product Backlog, Daily Scrum, Sprint, Sprint Planning Meeting, Sprint Backlog e Sprint Review Meeting. A seguir uma breve descrição do Product Backlog e do Sprint, que são as práticas relacionadas à área de requisitos no método ágil