敏捷软件开发
而大部份的敏捷软件开发方法論質疑事先嚴謹描述軟體需求的必要性，敏捷软件开发者認為需求是一個會變動的目標。例如，极限编程會用用户故事（索引卡上的簡單摘要，說明系統在某一層面下要作的事），用非正式的文字來描述需求，認為開發者有責任直接問客戶，澄清相關的疑問。敏捷软件方法論試圖用一連串的自動验收测试來捕捉需求。