问题若在需求阶段就可以处理，所花的成本会远低于比产品开发阶段才处理的成本。需求分析致力要处理这类的问题。需求是否过于模煳，或是太过详细，其中有些工程上的取舍，取舍标准如下敏捷软件开发视为是一种克服上述问题的方式，在较高的阶层上订定需求的基准，以及时或 「最后责任时刻」的基础上说明细节。
需求的文件化.需求一般会写作文件，做为不同的利益相关者沟通的媒介。因此不论对于一般使用者或是开发人员，需求都要是可以轻松理解的。有一种常见将需求文件化的作法，是列出系统应该做的事。例如 「