项目管理体系文件需求开发与管理过程编撰人:TMO审核人:批准人:批准日期:2010-9-1保密级别:机密文档版本:0.0.1北京中软国际信息技术有限公司1.引言 (4)1.1.目的 (4)1.2.适用范围 (4)1.3.术语和缩略语 (4)1.4.相关文件 (4)2.角色和职责 (4)3.入口准则 (5)4.输入 (5)5.流程图 (5)6.主要活动 (5)6.1.需求开发准备 (6)6.1.1.明确项目目标和范围 (6)6.1.2.识别需求来源 (6)6.1.3.选择调研方法和技术 (7)6.1.4.制订需求调研计划 (7)6.1.5.编制需求调研问卷 (8)6.2.需求调研 (9)6.2.1.进行需求调研 (9)6.2.2.编写用户需求调研报告 (9)6.3.需求分析 (10)6.3.1.需求分析方法 (10)6.3.2.功能需求分解 (12)6.3.3.标识需求 (12)6.3.4.定义需求的优先级 (13)6.4.编写需求规格说明书 (13)6.5.评审需求规格说明书 (14)6.6.需求确认 (14)6.6.1.客户确认 (14)6.7.需求变更管理 (15)6.8.需求跟踪 (15)6.8.1.建立需求跟踪矩阵 (16)6.8.2.需求跟踪矩阵的维护与使用 (16)7.出口准则 (17)8.输出 (17)9.引用过程 (17)1.引言1.1.目的规范公司项目的需求开发和管理活动,以保证对客户需求的正确理解,确保项目产物与需求的一致性。
1.2.适用范围适用于公司合同开发类项目、产品研发类项目的需求开发和需求管理活动。
1.3.术语和缩略语表 1术语和缩略语1.4.相关文件无2.角色和职责表 2角色和职责3.入口准则1)项目启动会4.输入1)项目合同2)项目计划5.流程图图 1需求开发与管理过程流程图6.主要活动需求开发和需求管理是需求工程的两个组成部分。
需求开发的主要活动包括:需求开发准备、需求调研、需求分析、编写需求规格说明书和需求确认。
需求开发是通过与用户沟通,收集用户资料,理解用户的术语、概念、视点和目的,经过分析、建模和验证,确认获取正确、完整和一致的需求的过程。
这些活动在实际应用中不是线性的、顺序的完成的,而是交叉的、递增的和反复的,需求开发是一个迭代的过程,如下图所示:需求管理的目的是在客户与项目组之间建立对需求的共同理解,维护需求与其它工作成果的一致性,并控制需求的变更。
需求管理的主要活动包括:需求变更和需求跟踪管理。
PD应监督需求开发和管理过程,管控项目执行情况,并指导PM对执行过程中产生的偏差进行修正。
6.1.需求开发准备需求开发准备阶段的工作主要包括以下几个方面:一是明确项目目标和范围;二是识别需求的来源,为需求获取准备相关资料,例客户需求调研问卷等;三是根据项目规模和特点,选择调研方式;四是收集需求开发过程可用的知识,充分利用已有的知识和经验策划整个需求开发过程,制定需求调研计划。
6.1.1.明确项目目标和范围项目目标和范围通常在项目合同中有定义,在需求开发工作开始之前,PM 应要求所有参与需求开发工作的人员明确项目目标和范围,以便相关人员对产品的业务目标和范围有共同的理解,控制项目范围。
6.1.2.识别需求来源识别需求来源是需求开发的一项重要工作,在需求调研开始之前PM应组织参与需求调研的人员进行清楚的识别。
需求的来源主要有:1) 组织或用户高层次的目标:这些目标是软件系统开发的动因,但是通常描述不够清晰,需要需求开发人员特别的关注;2) 用户业务领域的知识:领域知识帮助需求开发人员推断一些用户当作默认的而没有说明的需求,或者平衡需求之间的冲突;3) 各层次的用户:不同层次的用户对系统的需求不同,这也是需要需求开发人员要重点获取的需求。
用户的积极参与是需求开发成功的关键,因此,在进行需求调研时,要解决一个重要的问题----确定哪些人是需求获取的合适对象,哪些人对系统的开发和应用具有发言权和决策权;4) 系统的运行环境:系统的运行环境影响软件的可行性、成本和设计方案的选择;5) 组织所处的环境:软件通常支持组织的业务流程,必需考虑组织的机构划分、文化背景、内部的政治目的,不能强迫要求组织因为软件进行非计划的业务改变,同时还要考虑国家政策、法律法规以及相关行业标准等;6) 竞争对手的产品:通过对竞争对手产品的研究,获取有竞争力的需求。
6.1.3.选择调研方法和技术需求调研是一个困难的过程,对于需求开发调研人员来说,需求获取不是被动的活动,而应该主动的根据不同的需求来源采取不同的需求获取方法进行需求收集。
需求获取的方法和技术多种多样,针对不同的项目和不同的调研对象范围,可以采用不同的方法,也可以多种方法配合使用。
责任设计师应根据项目情况负责选择合适的调研方法和技术。
需求调研的参考方法如下:表 3需求调研方法6.1.4.制订需求调研计划制定《需求调研计划》(模板详见:“03.需求\CSI_02_需求调研计划.doc”)的目的是为了规划项目中需求调研活动的开展,其内容主要包括需求调研的对象、调研的内容、准备采用的技术和方法、输出产物、人力安排和时间进度等。
《需求调研计划》应该开展需求调研活动之前完成,由PM和责任设计师共同完成策划,责任设计师完成制订,在由项目经理跟客户方项目经理一起讨论确定,并提前通知所有参加需求调研的人员。
针对不同类别的项目,需求调研工作过程基本一致,但侧重点有所不同,在制定调研计划的时候要分别考虑:一、业务流程开发类项目业务流程开发类项目的需求调研工作重心是要充分理解业务相关的信息:1)系统需要实现的业务功能范围;2)业务相关的组织、人员、岗位及相关职能;3)业务处理的流程;4)关键业务数据及数据分布及流向;5)相关的业务表单。
二、数据中心类项目数据中心类项目的需求调研工作重心是要弄清楚业务数据的结构和来源以及相关数据分析的需求:1)基础数据代码标准及管理需求;2)业务数据的来源及相关系统特征;3)业务数据的结构、范围、内容和质量;4)数据及元数据管理的需求;5)相关指标及管理;6)报表需求;7)数据分析与决策支持需求。
三、产品研发类产品研发类项目侧重点与业务流程开发类基本一致。
6.1.5.编制需求调研问卷如果采用面谈、调查问卷、集体讨论的调研方法,参与需求调研的人员应事先学习相关的业务知识,收集相关的资料并进行分析,在对客户需求有一定了解的基础上提前准备需要问的问题,形成《需求调研问卷》(模板详见:“03.需求\CSI_03_需求调研问卷.doc”),以便系统、全面、高效的获取客户的需求。
需求调研问卷中列的问题与业务领域相关,不同的项目需要根据项目涉及的业务领域设计调研问卷中的问题,问题列的越详细对需求调研的帮助越大,如果以前有类似的项目,可复用以往类似项目的成果。
6.2.需求调研责任设计师负责按照《需求调研计划》执行需求调研活动,在需求调研过程中,应及时记录、整理《需求调研记录》(模板详见:“03.需求\CSI_04_需求调研记录.doc”),根据《需求调研记录》编写《需求调研报告》(模板详见:“03.需求\CSI_05_用户需求调研报告.doc”)并请客户进行确认。
6.2.1.进行需求调研在进行需求调研时,应基于需求调研问卷有效引导客户提出需求,这个过程的重点工作是:1) 进一步识别并选定用户代表,避免遗漏重要客户;2) 明确业务流程、业务数据、业务规则以及每个业务活动涉及的岗位,同时识别出核心业务流程等;3) 除了听取客户提出的需求以外,还要积极参与讨论,引导客户提出需求和问题,对于有歧义的需求要充分讨论,对于客户提出的超出范围的或者不现实的需求要积极跟客户协商,在共赢的基础上达成共识;4) 在调研过程中要及时记录客户提出的需求,形成《需求调研记录》;5) 调研过程中还要注意收集与产品相关的资料,例如:组织机构、部门及岗位职责、规章制度、业务流程、业务单据及统计报表等,对于业务单据和统计报表,最好是收集带有历史数据的,而不是空的表格,便于后续对数据的需求进行分析。
6.2.2.编写用户需求调研报告责任设计师应根据需求调研的记录和收集到的资料,组织整理、编写《用户需求调研报告》。
调研报告编写完成进行内部评审,执行《评审过程》,TD应负责最终的审核和确认。
内部评审完成后,须提交客户并请客户审阅,在客户审阅过程中可能还会提出问题,需要进行进一步的调研并及时修改完善调研报告,最后获得用户认可和签字。
6.3.需求分析在完成需求调研后,设计师应对产品的原始需求进行分析,建立各需求元素之间的关系,明确需求的标识、需求的分类、需求的优先级等。
需求分析的方法种类繁多,但常见的需求分析方法主要是结构化分析方法和基于用例的需求分析方法。
6.3.1.需求分析方法6.3.1.1.结构化分析方法结构化分析方法的主要特点是“自顶向下、逐层分解”,它把系统看作一个过程的集合体,利用图形等半形式化的描述方式表达需求,对问题进行分析,描述方式有:1)数据流图(Data Flow Diagram,DFD):数据流图是一种图形化的系统模型,它在一张图中展示信息系统的主要需求,即输入、输出、处理过程、数据存储。
2)数据字典(Data Dictionary,DD):数据字典技术是一种有效表达数据格式的手段,它是对所有与系统相关的数据元素的一个有组织的列表和精确、严格的定义,从而使用户和设计师对于输入、输出、数据存储和处理过程有共同的理解。
3)结构化语言:结构化语言是结构化编程语言与自然语言的有机结合,可以采用顺序结构,分支机构、循环结构等机制,来说明业务的处理流程。
4)实体-关系图(Entity Relationship Diagram,E-R图):E-R图可以用来描述数据的存储需求,包括数据实体,数据实体的属性以及它们之间的关系等。
结构化分析方法从总体上看是一种强烈依赖数据流图的自上而下的建模方法,它是完成需求规格化的有效技术手段,使用结构化分析方法时可遵循下列活动:(1)、建立系统的物理模型画出系统的数据流图,说明系统的输入、输出数据流,说明系统的数据流情况,以及经历了哪些处理过程。
在这个数据流图中,可以包括一些非计算机系统中数据流及处理过程的名称,如部门、岗位、报表等。
这个过程可以帮助分析人员有效地理解业务环境。
(2)、建立系统的逻辑模型在物理模型建立之后,接下来的工作就是画出相对于真实系统的等价逻辑数据流图。
将所有自然数据流图转换为等价的逻辑流。
(3)、划清人机界限最后,确定在系统逻辑模型中,哪些部分将采用自动化完成,哪些部分仍然保留手工操作,从而清晰的划清系统的范围。
6.3.1.2.基于用例的分析方法用例是由一组用例实例组成的,是用户使用系统的一个实际的、特定场景。