当我们程序员在编写软件之前要做的就是了解用户的需求,准确而全面地找到需求主要有以下几个步骤:
1、获取和引导需求(Elicitation)
我们需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出对软件的需求。很多时候用户并不知道自己确切的需求,或者表达不完整自己的需求,我们需要设身处地,替用户着想,引导出需求。
2、分析和定义需求(Analysis & Specification)
这是指对从各个方面获取的需求进行规整,定义需求的内涵,从各个角度将需求量化(需求实现的最后期限,实现需求大致所需的时间和资源成本,各个不同需求的优先级,需求带来的收益,等等)。
3、验证需求(Validation)
软件团队要跟利益相关者沟通,通过分析报告、技术原型、用户调查或演示等形式向他们验证软件团队对于这些需求的认知。
4、在软件产品的生命周期中管理需求(Management)
在软件的生命周期中,需求在发生变化,技术在发展。团队成员的能力也在提高。原来认为重要的事情可能不再重要,有些功能原来在技术上很难实现,现在出现了捷径等等,这些都要求我们不断对需求进行重新审核并做出相应的调整。