XM-202-2008 软件需求管理V1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文档编号:XM-202-2008 文档版本:第一版
发布日期:2008-3-5
实施日期:
2008-3-5
适用范围:公司软件开发项目
密 级:普密
北京天阳宏业软件技术有限公司
项目管理规范:软件需求管理
北京天阳宏业软件技术有限公司
二○○八年二月
TS 102-2008
目 录
1概述 (1)
1.1术语定义 (1)
1.2本规范的“原型” (2)
1.3本规范的使用说明 (2)
2软件需求管理模型 (3)
2.1需求开发 (4)
2.2需求变更 (4)
3需求开发 (5)
3.1需求获取 (7)
3.1.1 通过项目立项启动会获取初步需求 (7)
3.1.2 通过需求调研收集基本需求 (7)
3.1.3 通过技术验证充实需求 (8)
3.2需求分析 (8)
3.3软件需求说明书编制及项目组内审 (9)
3.4需求验证 (10)
3.4.1 技术验证 (10)
3.4.2 需求评审 (10)
3.4.3 测试 (10)
3.4.4 验收 (10)
4需求变更 (11)
4.1项目组需求变更 (11)
4.2公司需求变更 (12)
附件A1:项目需求概要表 (13)
附件A2:用例表述单 (14)
1 概述
需求分析奠定了软件工程和项目管理的基础,公司目前在软件需求管理方面普遍存在如下问题:
1)对需求管理的重视程度不够,缺少完备的需求收集、整理汇总和分析机制;
2)项目执行中需求工作持续时间短,需求分析不充分,需求没有有效地分层分级;
3)需求表达缺乏结构化,直接影响了项目团队对需求理解的一致性和成果的质量;
4)项目人员关注技术,不关注客户和应用;
5)没有需求基线,需求变更控制缺乏依据。
上述这些问题是导致项目延期、成本增大、客户投诉的重要因素,也是项目后期遗留问题“越来越多”的直接诱因。
本规范是北京天阳宏业软件技术有限公司(以下简称公司)项目管理规范系列之软件需求管理分册,用于指导项目软件需求管理,属公司保密文件。
本规范适用于公司所有的软件开发项目(以下简称项目)。
本规范不是一成不变的,它会随着公司发展和企业项目管理实践进行修订。
1.1 术语定义
本节对所涉及到的与需求管理相关的术语予以定义,其他术语参见《XM-201-2008 项目管理规范:总体框架和操作平台》。
1) 系统内部和系统外部
对软件系统而言,系统内部是指属于本软件系统范围内的工作,而系统外部则特指超出本软件系统的所有工作。例如,系统外部接口就是指与其他软、硬件系统的数据交互通道、数据格式和交互规则等。
2) 需求
需求是指从软件系统外部能发现系统所具有的、满足用户的特点、功能和属性,需求为开发者指明了系统的功能行为和质量特性,是对开发者进行软件开发的要求。
本文的需求等同于软件需求。
3) 需求层次
软件需求包括三个密切相关的层次:业务需求、用户需求和功能需求(含非功能需求)。
4) 特性
特性(Feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。
5) 软件需求说明书 / 软件需求规格说明
软件需求说明书,也叫软件需求规格说明(Software Requirements Specification,SRS),是对软件需求的中说明性文档,在开发、测试、质量保证、项目管理以及相关项目功能中起着十分重要的作用。
1.2 本规范的“原型”
本规范以机械工业出版社2001年5月出版的《软件需求》(美国Karl E. Wiegers著)为“原型”,结合天阳宏业公司项目管理环境和项目实际问题,并在模型、分类和实用层面进行了提炼和创新,成为公司软件需求管理规范。
本规范中有多处引用了《软件需求》中的图表和文字,像图“软件需求层次”、“软件需求和其他项目工作的关系”等。
需要注意的是,本规范有很多与《软件需求》不同的地方,有的概念甚至相差很大。
1.3 本规范的使用说明
如同所有其他项目管理规范一样,软件开发项目中的需求管理也需要项目经理根据项目特点和约束条件对本规范采用的模型进行剪裁,以适应项目的实际需要。
诸如推广实施等非开发类项目“需求获取”工作可能很少,如果客户要求明确、具体,可能不需要进行需求调研并编制《需求调研报告》。即使有部分开发工作,需求获取、需求分析占用的时间也较少。
由客户把握需求并进行管理的项目,对项目组而言,客户提出需求的行为可能是“不完整”、“缺乏分析”的,这种情况下要对客户每次提出的需求进行书面记录,并汇总之前已经提出的需求和已经完成的开发成果,进行需求分析,找出存在的问题并跟客户进一步沟通、澄清,以保证最终成果的一致性和完整性。这种项目尤其要注意的是,尽管客户不断提出需求和要求,项目经理要时刻保持对“项目范围”的清醒认识——我司项目经理虽然不是实际意义上的项目主管,但却对交办任务的执行负责。譬如,客户提出与“ERP系统对接”的要求,项目经理和项目组就应该主动跟客户和ERP开发厂商进行沟通,以确定对接内容、数据格式和传输要求等。
项目类型是多样的,剪裁是必须的——对一个具体的项目而言,最适合的即为最好。
2 软件需求管理模型
总体上看,软件开发项目管理包括技术和管理两个层面,“做什么”属于需求管理范畴,“怎么做”属于技术实现范畴,项目计划则是二者之间的“桥梁”,是“做什么”的具体落实,是“怎么做”的整体规划。因此,从软件开发项目的整体管理层面看,需求管理和计划管理无疑是整个项目管理的“源头”和重中之重。
图2-1 公司软件需求管理模型
软件需求管理由需求开发和需求变更两部分组成,覆盖整个项目生命周期的所有阶段,也是项目控制的重要内容——从项目生命周期管理角度看,需求开发属于项目组管理的范畴,而需求变更中的部分工作与组织项目管理环境相关,像定义需求变更过程、建立控制机构都是由部门或公司层面完成的,评估、评审则需要二者的共同参与。