怎么理解“需求”?需求分析涉及哪些内容?本文将从需求定义、需求分类、需求分析的概念、需求分析的流程四个方面来介绍需求分析的基本理论。
在政府、企事业单位的项目中,需求调研与分析的工作是必不可少的,那么在实际项目任务中哪些角色会涉及需求分析的工作呢?
毫无疑问,在项目需求阶段,需要一名具备专业技能和项目经验的需求分析师/需求分析工程师来把控项目整体需求和需求细节;
项目经理作为全程都需要接触客户、接触需求的角色,需求的把控和管理能力也是必要的;
而销售与售前,在与客户聊项目时,很多时候需要引导客户说出想做什么,跟客户介绍我们实践的类似案例,让客户产生共鸣,然后给客户规划项目,因此销售和售前对需求的理解能力和引导能力也是促进拿下项目的关键;
另外,开发工程师偶尔也会直接面向客户,接触客户需求,因此也有必要掌握一些需求分析的技巧。
但通常情况下,需求分析师需要和每个角色都保持无缝的沟通,最大程度地减少需求失真!
那么怎么理解“需求”?需求分析涉及哪些内容?本文将从需求定义、需求分类、需求分析的概念、需求分析的流程四个方面来介绍需求分析的基本理论。
需求的定义
IEEE软件工程标准词汇表中对需求的定义是:
用户解决问题或达到目标所需的条件和能力;
系统或系统部件为满足合同、标准、规范或其它正式规定文档所需具有的条件和能力;
以上条件和能力的文档说明。
系统必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。
需求的提出和实现就是帮助用户解决问题的,满足用户痛点的。
需要注意一些关于需求定义的错误认识:
需求不清楚就进入编程阶段,期望以后修改。更多的情况下是边写边修改。
项目需求不断的变更,这些变更可以很容易的被接受,因为软件是灵活的。
这些认识多来自极小项目的开发经验,当你面对一个中大型项目时必须彻底改变这些错误观念!
需求的分类
在我们做项目中,针对不同的对象,会有不同的需求分类:
业务需求:业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目愿景和范围文档中予以说明。
用户需求:用户需求(user requirement)描述的是用户的目标,即用户能使用系统做什么。常常需要用户调研后,通过用例、场景描述、流程图等描述。
功能需求:产品系统的功能需求,用户利用这些功能完成任务,满足用户需求和业务需求。需求调研分析后的流程图、原型图、需求文档等描述。
软件需求分析就是通过需求采集、需求分析、需求筛选以及需求管理的一系列过程,挖掘客户所描述需求背后的真实诉求和需要解决的问题。
从业务需求和用户需求,到功能需求是需求转化的过程。业务需求和用户需求,只有经过需求分析的转化,变成产品的功能需求后,才能得到实现。
举个例子:比如说房子买卖这件事,房地产市场的开发商就是业务方,买房的人就是用户,房子本身就是功能;开发商通常的诉求是想多赚钱,买房的人诉求是买到物有所值,甚至物超所值的房子;但不管二者怎么想,最终都是需要通过房子来实现,必须建设的房子的属性达到某个标准才能满足二者的诉求。
总结我的项目经验,需求分析流程包括以下过程:调研准备、需求采集、需求分析、需求输出、需求确认,以及全程中我们做好需求管理。
从下图,可以看到每阶段的具体任务:
总结
总而言之,做好需求调研与分析工作需要对需求理论有一定的认知和理解,以上的理论也是经过了我的项目实践验证的,下一篇文章将结合实践项目分享我的需求分析经验。
感谢您的观看与支持。