在过去的 25 年中,人们一再认识到软件需求是一个真正的问题。在他们早期的实证研究中,Bell 和 Thayer 发现,不充分、不一致、不完整或模糊的需求很多,对最终软件的质量有重大影响 [Bel76]。他们注意到了不同类型的项目存在这种情况,并得出结论:“系统的需求不会自然产生;相反,它们需要被设计并不断进行审查和修订”。Boehm 估计,后期纠正需求错误的成本可能是在需求工程过程中纠正错误的 200 倍 [Boe81]。在关于软件工程的本质和意外的经典论文中,Brooks 指出:“构建软件系统最困难的部分是决定要构建什么……因此,软件构建者为客户执行的最重要的功能是迭代提取和细化