软件项目需求变更的控制-1

软件项目需求变更的控制-1
软件项目需求变更的控制-1

软件项目需求变更的控制-1

变化并不是人们最害怕的,最怕的是跟不上变化的步伐。同样,在软件开发过程中需求的变更会给开发带来不确定性,但只要把需求变更作为重点、难点小心加以控制,软件开发的进度、成本和质量也就有了“安全”的基础。

需求变更管理的需求

需求变更是因为需求发生变化。根据软件工程思想,需求说明书一般要经过论证,如果在需求说明书经过论证以后,需要在原有需求基础上追加和补充新的需求或对原有需求进行修改和削减,均属于需求变更。

需求变更的出现主要是因为在项目的需求确定阶段,用户往往不能确切地定义自己需要什么。用户常常以为自己清楚,但实际上他们提出的需求只是依据当前的工作所需,而采用的新设备、新技术通常会改变他们的工作方式;或者要开发的系统对用户来说也是个未知数,他们以前没有过相关的使用经验。随着开发工作的不断进展,系统开始展现功能的雏形,用户对系统的了解也逐步深入。于是,他们可能会想到各种新的功能和特色,或对以前提出的要求进行改动。他们了解得越多,新的要求也就越多,需求变更因此不可避免地一次又一次出现。

这时,如果开发团队缺少明确的需求变更控制过程或采用的变更控制机制无效,抑或不按变更控制流程来管理需求变更,那么很可能造成项目进度拖延、成本不足、人力紧缺,甚至导致整个项目失败。当然,即使按照需求变更控制流程进行管理,由于受进度、成本等因素的制约,软件质量还是会受到不同程度的影响。但实施严格的软件需求管理会最大限度地控制需求变更给软件质量造成的负面影响,这也正是我们进行需求变更管理的目的所在。

六大原则

实施需求变更管理需要遵循如下原则:

1. 建立需求基线。需求基线是需求变更的依据。在开发过程中,需求确定并经过评审后(用户参与评审),可以建立第一个需求基线。此后每次变更并经过评审后,都要重新确定新的需求基线。

2. 制订简单、有效的变更控制流程,并形成文档。在建立了需求基线后提出的所有变更都必须遵循这个控制流程进行控制。同时,这个流程具有一定的普遍性,对以后的项目开发和其他项目都有借鉴作用。

3. 成立项目变更控制委员会(CCB)或相关职能的类似组织,负责裁定接受哪些变更。CCB由项目所涉及的多方人员共同组成,应该包括用户方和开发方的决策人员在内。

4. 需求变更一定要先申请然后再评估,最后经过与变更大小相当级别的评审确认。

5. 需求变更后,受影响的软件计划、产品、活动都要进行相应的变更,以保持和更新的需求一致。

6. 妥善保存变更产生的相关文档。

应对之道

需求变更控制一般要经过变更申请、变更评估、决策、回复这四大步骤。如果变更被接受,还要增加实施变更和验证两个步骤,有时还会有取消变更的步骤。变更控制流程如图所示。针对变更控制流程,笔者在实际工作中总结出了软件开发人员在需求变更管理实践中的几点对策:

相互协作:很难想像遭到用户抵制的项目能够成功。在讨论需求时,开发人员与用户应该尽量采取相互理解、相互协作的态度,对能解决的问题尽量解决。即使用户提出了在开发人员看来“过分”的要求,也应该仔细分析原因,积极提出可行的替代方案。

充分交流:需求变更管理的过程很大程度上就是用户与开发人员的交流过程。软件开发人员必须学会认真听取用户的要求、考虑和设想,并加以分析和整理。同时,软件开发人员应该向用户说明,进入设计阶段以后,再提出需求变更会给整个开发工作带来什么样的冲击和不良后果。

安排专职人员负责需求变更管理:有时开发任务较重,开发人员容易陷入开发工作中而忽略了与用户的随时沟通,因此需要一名专职的需求变更管理人员负责与用户及时交流。

合同约束:需求变更给软件开发带来的影响有目共睹,所以在与用户签订合同时,可以增加一些相关条款,如限定用户提出需求变更的时间,规定何种情况的变更可以接受、拒绝接受或部分接受,还可以规定发生需求变更时必须执行变更控制流程。

区别对待:随着开发进展,有些用户会不断提出一些在项目组看来确实无法实现或工作量比较大、对项目进度有重大影响的需求。遇到这种情况,开发人员可以向用户说明,项目的启动是以最初的基本需求作为开发前提的,如果大量增加新的需求(虽然用户认为是细化需求,但实际上是增加了工作量的新需求),会使项目不能按时完成。如果用户坚持实施新需求,可以建议用户将新需求按重要和紧迫程度划分档次,作为需求变更评估的一项依据。同时,还要注意控制新需求提出的频率。

选用适当的开发模型:采用建立原型的开发模型比较适合需求不明确的开发项目。开发人员先根据用户对需求的说明建立一个系统原型,再与用户沟通。一般用户看到一些实际的东西后,对需求会有更为详细的解释,开发人员可根据用户的说明进一步完善系统原型。这个过程重复几次后,系统原型逐渐向最终的用户需求靠拢,从根本上减少需求变更的出现。目前业界较为流行的叠代式开发方法对工期紧迫的项目的需求变更控制很有成效。

用户参与需求评审:作为需求的提出者,用户理所当然是最具权威的发言人之一。实际上,在需求评审过程中,用户往往能提出许多有价值的意见。同时,这也是由用户对需求进行最后确认的机会,可以有效减少需求变更的发生。

软件项目变更管理流程

变更管理流程 1概述 ....................................................................................... 错误!未定义书签。2变更流程 .. (2) 2.1摘要 (2) 2.2提交变更申请 (2) 2.3审核变更申请 (2) 2.4识别变更可行性 (2) 2.5批准变更申请 (3) 2.6实施变更申请 (3) 3变更任务 (3) 3.1变更申请人 (3) 3.2变更经理 (3) 3.3变更可研小组 (3) 3.4变更审批小组 (4) 3.5变更实施小组 (4) 4变更登记 (4) 5变更模板 (4)

1 概述 描述变更管理的目的。就项目中变更管理的总体流程提供一份概述,如: 变更管理流程是成功交付项目的基础。变更管理流程确保对在项目环境中的每个变更在实施以前都得以恰当的定义、评估和审批。 对项目的变更管理是通过对以下五个关键步骤的实施引入的。,: 提交和接收变更申请 审核和记录变更申请 确定变更申请的可行性 批准变更申请 实施和结束变更申请 2 变更流程 对将要执行的流程和程序做一个图表概述,以启动、实施项目中的变更并审核其效果。例如:Provide a diagrammatic representation of the processes and procedures to be undertaken in order to initiate, implement and review the effects of changes within the project. An example follows: 2.1 概要 下图对将要执行的变更流程和程序做了一个概述,以有效地管理与项目相关的变更。同时也明确的变更管理中的职责分工。 2.2 提交变更申请 本步骤中项目团队中的任何成员都可以提交项目变更申请,需要完成以下工作: 变更申请人识别项目中任何方面的变更需求(如范围、可交付成果、时限、组织). 变更申请人完成变更申请表(CRF),并将其呈交变更经理。变更申请表对需要进行的变更做一概述,包括: ?变更描述 ?变更原因(包括商业驱动) ?变更利益 ?变更成本 ?变更带来的影响 ?支持性文件 2.3 审核变更申请 本步骤授权变更经理对变更申请表进行审核,以决定是否需要一份充分的可行性研究报告以供变更批准小组评估变更可能带来的全部影响。做出上述决定的基本依据是: 呈交的可选择变更数目Number of change options presented 申请变更可选反性的复杂程度Complexity of the change options requested 提出的变更解决方案的衡量Scale of the change solutions proposed 变更经理将不会在变更日志中打开一份变更申请并记录是否需要一个变更可行性研究。The Change Manager will open a 慍hange Request’ in the Change Log and record whether or not a change feasibility study is required. 2.4 识别变更可行性 本步骤涉及完成一份完整的变更可行性研究,以确保对所有的变更可选项进行调查并上报,变更可行性研究包括对以下各项的定义: 变更需求 变更可选项Change options 变更成本及利益 变更风险及事项Change risks and issues 变更带来的影响

软件设计变更控制流程

放弃 项目开发部门/业务部门等 项目开发部门 《变更审批表》 《变更审批表》 《项目更改计划》 ,向研发项改计划理部提交《变更审批表》 项目开发部门 。 NG No 表》上签署评审意见。项目管理部汇总评审组各成员部门的意见, 审批不通过则不予更改,并将意见反馈管提交部门。 ———组装测试、确认测试各阶段的更改工作。 ] J°K十划完成后需提交《项目设计更改计划部门或提交变更后并经过审批的新的《开发计划》: —修改在总体设计结束后需提交更新后的《需求说明书》、 ,结束后需提交《详细设计说明书》、《测试计划》 系统设计更改《测试分析报告》 ----- 形成的文档应提交项目管理部审核。 于一些小型、局部的更改需求页目上述步部骤可相应简化,只需进行相应阶段的更说明书》并/《测试计划》 *实现阶段更新和提交相关变更文档即可。具体尺度可在《变更审批表》的评审意见中方案现。 决定评审是否通过。评审 《总体设计说明书》;在详细设计阶段 /《测试方案》;在集成测试结束后需提 :在验收项目开发需提交《验收测试报告》》需求说明书手册》《总体安装手说明〉书》。 No 项目开发部门/项目管理部门《测试分析报告》 文档名称: 文档编号 归档日期: 1.目的 针对软件产品设计和适用过程中岀现的新的功能和性能等要求,进行修改活再开发产品,以扩充其功能、增强其性 能、改进加工效率、提高可维护性。 2.适用范围 所有软件开发项目的更改及维护。 3.定义 无 4.参考资料 无 4.权责 4.1.研发项目管理部:牵头并协同其它有关部门评审开发、业务等部门提交的《变更审批表》;并审批变更后的技 术文件、更改通知书。 42 研发项目开发部门:提岀设计变更申请,根据需求对产品的设计进行修改。 4.3市场/业务等部门:提岀设计变更申请,参与对设计变更需求的评审。 5.作业内容 5.1.流程图 设计变更控制流程 文件/表格 权责

需求变更的代价

需求变更的代价 让我们先来看一个需求变更的典型案例:Steven刚出任项目经理,并承接了一个中型软件项目。公司再三叮咛他一定要尊重客户,充分满足客户需求。项目开始比较顺利,但进入到后期,客户频繁的需求变更带来很多额外工作。Steven动员大家加班,保持了项目的正常进度,客户相当满意。但需求变更却越来越多。为了节省时间,客户的业务人员不再向Steven申请变更,而是直接找程序员商量。程序员疲于应付,往往直接改程序而不做任何记录,很多相关文档也忘记修改。很快Steven就发现:需求、设计和代码无法保持一致,甚至没有人能说清楚现在系统“到底改成什么样了”。版本管理也出现了混乱,很多人违反配置管理规定,直接在测试环境中修改和编译程序。但在进度压力下,他也只能佯装不知此事。但因频繁出现“改好的错误又重新出现”的问题,客户已经明确表示“失去了耐心”。而这还只是噩梦的开始。一个程序员未经许可擅自修改了核心模块,造成系统运行异常缓慢,大量应用程序超时退出。虽然最终花费了整整3天的时间解决了这个问题,但客户却投诉了,表示“无法容忍这种低下的项目管理水平”。更糟糕的是,因为担心系统中还隐含着其他类似的错误,客户高层对项目的质量也疑虑重重。随后发生的事情让Steven更加为难:客户的两个负责人对界面风格的看法不一致,并为此发生了激烈争执。Steven知道如果发表意见可能会得罪其中一方,于是保持了沉默。最终客户决 定调整所有界面,Steven只好立刻动员大家抓紧时间修改。可后来当听说因修 改界面而造成了项目一周的延误后,客户方原来发生争执的两人这次却非常一致,同时气愤地质问Steven:“为什么你不早点告诉我们要延期!早知这样才不会 让你改呢!”Steven很无耐,疑惑自己到底错在哪里了。对软件需求和需

软件开发项目需求变更管理及应对之

软件开发工程需求变更经管及应对之道研究 变化并不是人们最害怕的,最怕的是跟不上变化的步伐。同样,在软件开发过程中需求的变更会给开发带来不确定性,但只要把需求变更作为重点、难点小心加以控制,软件开发的进度、成本和质量也就有了"安全"的基础。 需求变更经管的需求 需求变更是因为需求发生变化。根据软件工程思想,需求说明书一般要经过论证,如果在需求说明书经过论证以后,需要在原有需求基础上追加和补充新的需求或对原有需求进行修改和削减,均属于需求变更。 需求变更的出现主要是因为在工程的需求确定阶段,用户往往不能确切地定义自己需要什么。用户常常以为自己清楚,但实际上他们提出的需求只是依据当前的工作所需,而采用的新设备、新技术通常会改变他们的工作方式。或者要开发的系统对用户来说也是个未知数,他们以前没有过相关的使用经验。 随着开发工作的不断进展,系统开始展现功能的雏形,用户对系统的了解也逐步深入。于是,他们可能会想

到各种新的功能和特色,或对以前提出的要求进行改动。他们了解得越多,新的要求也就越多,需求变更因此不可避免地一次又一次出现。 这时,如果开发团队缺少明确的需求变更控制过程或采用的变更控制机制无效,抑或不按变更控制流程来经管需求变更,那么很可能造成工程进度拖延、成本不足、人力紧缺,甚至导致整个工程失败。当然,即使按照需求变更控制流程进行经管,由于受进度、成本等因素的制约,软件质量还是会受到不同程度的影响。但实施严格的软件需求经管会最大限度地控制需求变更给软件质量造成的负面影响,这也正是我们进行需求变更经管的目的所在。 六大原则 实施需求变更经管需要遵循如下原则: 1.建立需求基线。需求基线是需求变更的依据。在开发过程中,需求确定并经过评审后(用户参与评审),可以建立第一个需求基线。此后每次变更并经过评审后,都要重新确定新的需求基线。

需求变更处理流程

需求变更处理流程 1、需求变更的原因分析 需求变更的表现形式是多方面的,如老板临时改变想法、项目预算增加或减少、客户对功能的需求改变等。在IT项目中,变更可能来自方案服务商、客户或产品供应商等,也可能来源于项目组内部。虽然需求变更的表现形式千差万别,但究其根本不外乎以下几种原因: (1)、范围没有圈定就开始细化 细化工作是由需求分析人员完成的,一般是根据用户提出的描述性的、总结性的短短几句话去细化的,提取其中的一个个功能,并给出描述(正常执行时的描述和意外发生时的描述)。当细化到一定程度后并开始系统设计时,范围会发生变化,那细节用例的描述可能就有很多要改动。如原来是手工添人的数据,要改成根据信息系统计算出来,而原来的一个属性的描述要变成描述一个实体等。 (2)、没有指定需求的基线 需求的基线是指是否容许需求变更的分界线。随着项目的进展,需求的基线也在变化。是否容许变更的依据是合同以及对成本的影响,比如软件整体结构已经设计出来是不容许改变需求范围的,因为整体结构会对整个项目的进度和成本有初步预算。随着项目的进展,基线将越定越高(容许的变更将越少),其过程如下:变更请求à比较基线à变更实现。(3)、没有良好的软件结构适应变化 组件式的软件结构就是提供了快速适应需求变化的体系结构,数据层封装了数据访间逻辑,业务层封装了业务逻辑,表示层展现用户表示逻辑。但适应变化必须遵循一些松祸合原则,各层之间还是存在一些联系的,设计要力求减少会对接口入口参数产生变化。如果业务逻辑封装好了,则表示层界面上的一些排列或减少信息的要求是很容易适应的。如果接口定义得合理,那么即使业务流程有变化,也能够快速适应变化。因此,在成本影响的容许范围内可以降低需求的基线,提高客户的满意度。

软件需求规格说明书标准模板

软件需求规格说明书 文件编号: QMS—PROC-RD02 版本:1.0 受控签章

修改历史

目录 1引言 (2) 1.1目的 (2) 1.2背景 (2) 1.3术语 (2) 1.4预期读者与阅读建议 (2) 1.5参考资料 (2) 1.6需求描述约定 (2) 2.项目概述 (2) 2.1系统功能 (2) 2.2业务描述 (2) 2.3数据流程描述(可选) (2) 2.4用户的特点 (2) 2.5运行环境要求 (2) 2.6设计和实现上的限制 (2) 3.功能需求的描述 (2) 4.非功能需求 (2) 4.1系统性能要求 (2) 4.2系统安全及保密要求 (2) 4.3系统备份与恢复要求 (2) 4.4系统日志 (2) 5.外部接口说明 (2) 6.其他需求 (2) 7 需求变更识别 (2) 8.功能列表 (2) 9.附件 (2)

1引言 1.1 目的 说明编写这份软件需求规格说明书的目的,如:通过本文档定义XXX产品的需求,以求在项目组员与相关成员之间达成一致的需求描述。 1.2 背景 描述系统产生的背景,包括: a.需开发的软件系统的名称,和英文缩写(可选),项目编号(可选); b.列出此项目的任务提出者、开发者 c.软件系统应用范围、用户。 d.产生该系统需求的原因或起源,如社会背景、市场发展、政策趋势、原有系统局限性 1.3 术语 列出本文件中用到的专门术语、术语定义、外文首字母组词的原词组。也可用附件说明。或放到本文件的最后。 1.4 预期读者与阅读建议 描述本文档的主要读者,以及这些读者在阅读时的阅读重点与建议。可用列表的方式列 1.5 参考资料 列出有关的参考资料,如: a.本项目经核准的计划任务书或合同、上级机关的批文; b.属于本项目的其他已发表的文件; c.本文件中各处引用的文件、资料、包括所要用到的软件开发标准。 d.行业标准和规范。 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。

需求变更

编者按: 作为软件开发人员或者软件系统客户,相信都遭遇过因为需求变更而需要修改系统的情况,一般说来客户会要求改变界面,改变操作方式,甚至改变业务,客户甚至会说:“当时我是那样要求的,不过现在我们的业务调整了”…这时需要中断正在进行的工作,需要查证以往的资料,需要修正计划,需要…… 在本期的月刊中,我们将围绕着“需求变更”这个主题展开讨论,希望对各位开发能有所帮助。让我们先来看一个需求变更的典型案例: Steven刚出任项目经理,并承接了一个中型软件项目。公司再三叮咛他一定要尊重客户,充分满足客户需求。项目开始比较顺利,但进入到后期,客户频繁的需求变更带来很多额外工作。Steven动员大家加班,保持了项目的正常进度,客户相当满意。 但需求变更却越来越多。为了节省时间,客户的业务人员不再向Steven申请变更,而是直接找程序员商量。程序员疲于应付,往往直接改程序而不做任何记录,很多相关文档也忘记修改。很快Steven就发现:需求、设计和代码无法保持一致,甚至没有人能说清楚现在系统“到底改成什么样了”。版本管理也出现了混乱,很多人违反配置管理规定,直接在测试环境中修改和编译程序。但在进度压力下,他也只能佯装不知此事。但因频繁出现“改好的错误又重新出现”的问题,客户已经明确表示“失去了耐心”。 而这还只是噩梦的开始。一个程序员未经许可擅自修改了核心模块,造成系统运行异常缓慢,大量应用程序超时退出。虽然最终花费了整整3天的时间解决了这个问题,但客户却投诉了,表示“无法容忍这种低下的项目管理水平”。更糟糕的是,因为担心系统中还隐含着其他类似的错误,客户高层对项目的质量也疑虑重重。 随后发生的事情让Steven更加为难:客户的两个负责人对界面风格的看法不一致,并为此发生了激烈争执。Steven知道如果发表意见可能会得罪其中一方,于是保持了沉默。最终客户决定调整所有界面,Steven只好立刻动员大家抓紧时间修改。可后来当听说因修改界面而造成了项目一周的延误后,客户方原来发生争执的两人这次却非常一致,同时气愤地质问Steven:“为什么你不早点告诉我们要延期!早知这样才不会让你改呢!”Steven很无耐,疑惑自己到底错在哪里了。

软件需求变更控制流程

需求变更控制流程 文档名称: 文档编号:___________________________ 归档日期:___________________________ 编写者: ________________ 孙_____________ 审核者:_______________________________ 批准者:_______________________________ *The information contained in this message is confidential and should not be disclosed to any third party whether or not you are the intended addressee indicated in the message. *本文件所含内容为保密信息,未经授权请勿随意复制、编改和泄露给任何第三方。 Copyright ?2009 xxx (Sha nghai) Ltd . All Rights Reserved 1.目的 指导项目部、软件部、质量部、测试部对产品的软件变更需求(简称CR进行控制和 管理,规范相应的作业流程,详细地定义了各流程环节中状态、角色和动作。 1.1明确流程中各角色的职责

1.2规范软件缺陷的变更过程 2.适用范围 所有项目的软件变更需求控制管理。 3.定义 CCB Cha ng Con trol Board 的缩写,指变更控制小组,由项目经理、产品经理、软件 开发小组长、软件部经理、测试部主管组成。 SCM Software Configuration Management 的缩写,软件配置管理员。 SQA软件质量保证 产品部门:简称PD 项目部门:简称PM 软件部门:简称SW 测试部门:简称TEST 质量部门:简称SQA 4.参考资料无 5.部门职责 5.1产品部 5.1.1制定产品战略规划,产品定位和定义。 5.1.2客户技术支持,需求分析与管理。 5.1.3提出需求变更申请到到质量部。 5.2质量部 5.2.1接收产品部提出的变更需求。 5.2.2成立项目需求变更评审(CCB小组,召集小组成员对需求变更进行评审。5.3项目部 5.3.1参与需求变更评审,确定需求变更的可行性。 5.3.2将评审通过的需求变更单以通知单的方式发到软件部和测试部。 5.4软件部 5.4.1对需求变更进行技术可行性评估,编写系统需求规格与可行性分析报告,包括技术实现方法、进度要求和风险分析结果以及建议等。 5.4.2确定需求变更信息,制定开发计划,安排代码设计,更新需求规格说明书。 5.5测试部 5.5.1参与需求变更评审工作。 5.5.2确定需求变更信息,制定测试计划,安排对新需求的功能测试。 5.6 CCB 负责对软件相关的变更需求(新需求、 bug修改、建议)进行审核,确定处理的方案。 6.作业流程

软件需求变更控制流程

文档名称: 需求变更控制流程 文档编号: 归档日期: 编写者:孙 审核者: 批准者: *The information contained in this message is confidential and should not be disclosed to any third party whether or not you are the intended addressee indicated in the message. *本文件所含内容为保密信息,未经授权请勿随意复制、编改和泄露给任何第三方。 Copyright ?2009 xxx (Shanghai) Ltd . All Rights Reserved

1.目的 指导项目部、软件部、质量部、测试部对产品的软件变更需求(简称CR)进行控制和管理,规范相应的作业流程, 详细地定义了各流程环节中状态、角色和动作。 1.1明确流程中各角色的职责 1.2规范软件缺陷的变更过程 2.适用范围 所有项目的软件变更需求控制管理。 3.定义 CCB:Chang Control Board的缩写,指变更控制小组,由项目经理、产品经理、软件开发小组长、软件部经理、测试部主管组成。 SCM:Software Configuration Management的缩写,软件配置管理员。 SQA:软件质量保证 产品部门:简称PD 项目部门:简称PM 软件部门:简称SW 测试部门:简称TEST 质量部门:简称SQA 4.参考资料 无 5.部门职责 产品部 5.1.1制定产品战略规划,产品定位和定义。 5.1.2客户技术支持,需求分析与管理。 5.1.3提出需求变更申请到到质量部。 5.2 质量部 5.2.1接收产品部提出的变更需求。 5.2.2成立项目需求变更评审(CCB)小组,召集小组成员对需求变更进行评审。 5.3 项目部 5.3.1参与需求变更评审,确定需求变更的可行性。 5.3.2将评审通过的需求变更单以通知单的方式发到软件部和测试部。 5.4 软件部 5.4.1对需求变更进行技术可行性评估,编写系统需求规格与可行性分析报告,包括技术实现方法、进度要求和风险分析结果以及建议等。 5.4.2确定需求变更信息,制定开发计划,安排代码设计,更新需求规格说明书。 5.5 测试部 5.5.1参与需求变更评审工作。 5.5.2确定需求变更信息,制定测试计划,安排对新需求的功能测试。 5.6 CCB 负责对软件相关的变更需求(新需求、bug修改、建议)进行审核,确定处理的方案。 6.作业流程

如何应对软件开发中的需求变更

如何应对软件开发中的需求变更 【摘要】在软件项目开发的过程中,软件的需求变更是一个回避不了的问题,它的处理的好坏,更是决定软件开发项目是否能够顺利、完美、高效率得到实现的关键。本文针对STS8000测试系统在软件项目开发过程中出现的常见问题,探讨了如何应用项目需求变更管理、项目目标管理、版本更新管理与软件测试管理,从而帮助并促进软件开发人员开发出更加完美、高效、稳定、有质量的软件产品。 【关键词】需求变更管理;软件项目目标管理;版本更新管理;软件测试管理 随着软件系统的规模、复杂度日益上升,软件开发过程中的各种质量管理已经成为保证软件系统开发效率、质量、成本的关键性因素。软件行业在现在的众多行业里是一个极具挑战性和创造性的行业,体现了软件开发者的智慧和汗水,同时软件开发是一项复杂的系统工程,牵涉到许多方面的因素,在实际工作中,经常会出现各种各样的问题。如何总结、分析并解决软件开发过程中各种问题,对于项目开发人员与管理人员来说,是在今后的项目中取得成功的关键。 目前,STS8000系统在软件方面出现的问题主要有下面几方面: 1、客户不断提出新的需求。软件开发人员不断地陷于满足用户需求的过程中。似 乎,我们在需求上无能为力,我们永远在追赶客户的需求,满足他们的现状, 把N多家的客户需求都加进软件中,只要能实现的,我们尽量咬牙实现了。最 后,我们发现,我们的软件无比复杂,谁也不知道这个需求当时为什么是这样 的。因为无比复杂,所以稳定性更成了问题。代码互相交叉,根本无法理清有 多少交叉影响点。 2、改正了旧问题,又冒出更多新问题,问题层出不穷;维护的工程师都快崩溃了, 天天在祈求,千万别接到客户电话。对于修改现有代码适应新客户新项目,这 种情况出现的非常多。客户打电话说了一个需求,能技术达到就答应下来修改, 修改完就给客户覆盖,根本没有需求变更管理、版本更新管理。而这样的代码, 还不是一个特定客户一套特定定制化代码,是要给其他客户也更新的。很可能 这个客户好使,那个客户使用其他功能的时候就出了错。按下葫芦起了瓢,是 很常见的现象。 3、由于长期陷于满足用户需求的过程中,天长日久,软件工程师就会木然、倦怠, 会形成做一天和尚撞一天钟。有问题就打补丁,客户不嚷嚷就懒的修改,代码 不优化、不封装,界面不友好,架构更是没架构。模块难度、工期质量考核无 法量化,更无法与个人收入挂钩。 以上三个问题,其实归纳起来就一个关键点:如何处理好需求这个问题,从而使客户、公司、研发人员多方达到共赢。下面,就这个关键点,谈谈我的一些看法。 一、必须进行需求变更管理 软件,尤其项目型软件,不修改是不太可能的。但是,在修改软件时,不能进行就事论事的修改。否则很容易陷入到某一家客户具体的需求中,而不会考虑其他客户的需求兼容,

软件需求变更控制流程.doc

文档名称 :需求变更控制流程 文档编号 : 归档日期 : 编写者:孙 审核者: 批准者: 修订日期修订人版本号修订内容 2011-4-14 孙创建 2011-4-15 孙修改增加流程图,更改流程 2011-4-19 孙修改修改流程角色,更改流程 *The information contained in this message is confidential and should not be disclosed to any third party whether or not you are the intended addressee indicated in the message. *本文件所含内容为保密信息,未经授权请勿随意复制、编改和泄露给任何第三方。 Copyright ?2009 xxx (Shanghai) Ltd . All Rights Reserved

1.目的 指导项目部、软件部、质量部、测试部对产品的软件变更需求(简称CR)进行控制和管理,规范相应的作业流程,详细地定义了各流程环节中状态、角色和动作。 1.1 明确流程中各角色的职责 1.2 规范软件缺陷的变更过程 2.适用范围 所有项目的软件变更需求控制管理。 3.定义 CCB:Chang Control Board的缩写,指变更控制小组,由项目经理、产品经理、软件 开发小组长、软件部经理、测试部主管组成。 SCM:Software Configuration Management 的缩写,软件配置管理员。 SQA:软件质量保证 产品部门:简称PD 项目部门:简称PM 软件部门:简称SW 测试部门:简称TEST 质量部门:简称SQA 4. 参考资料 无 5. 部门职责 5.1 产品部 5.1.1 制定产品战略规划,产品定位和定义。 5.1.2 客户技术支持,需求分析与管理。 5.1.3 提出需求变更申请到到质量部。 5.2 质量部 5.2.1 接收产品部提出的变更需求。 5.2.2 成立项目需求变更评审( CCB)小组,召集小组成员对需求变更进行评审。 5.3 项目部 5.3.1 参与需求变更评审,确定需求变更的可行性。 5.4 5.3.2 将评审通过的需求变更单以通知单的方式发到软件部和测试部。软件部 5.4.1 对需求变更进行技术可行性评估,编写系统需求规格与可行性分析报告,包括 技术实现方法、进度要求和风险分析结果以及建议等。 5.4.2确定需求变更信息,制定开发计划,安排代码设计,更新需求规格说明书。 5.5测试部 5.5.1参与需求变更评审工作。 5.5.2确定需求变更信息,制定测试计划,安排对新需求的功能测试。 5.6 CCB 负责对软件相关的变更需求(新需求、bug 修改、建议)进行审核,确定处理的方案。6.作业流程 第1页共4页

软件开发流程管理规范标准

软件开发流程管理规范 软件开发流程管理规范 (1) 一、概述 (2) 二、流程 (2) 三、附件 (3) 附件一、编码规范 (3) 1、命名空间 (3) 2、命名规则 (3) 2.1文件夹及相关文件命名规则 (3) 2.2数据库表命名规则 (4) 3、代码规范 (4) 3.1代码分层结构 (4) 3.2编码规范 (5) 4、注释 (6) 4.1注释模板设置 (6) 4.2手工添加注释 (7) 4.3注释要求 (8) 附件二、软件需求申请表 (9) 附件三、软件开发申请表 (10) 附件四、项目组成成员表 (11) 附件五、项目策划/任务书 (12) 附件六、WBS表 (13) 附件七、项目进度计划表 (14) 附件八、项目风险管理表 (15) 附件九、项目沟通计划表 (16) 附件十、项目会议纪要 (17) 附件十一、项目状态报告表 (18) 附件十二、项目变更管理表 (19) 附件十三、项目总结表 (20)

一、概述 随着公司规模的扩大、各部门对软件需求的激增、提高效率的工作要求,IT部门承接的 软件开发项目越来越多,而与之相对应的就是软件开发流程不明确,软件项目的随意性较大、可追溯性较差、可统计性模糊、可预测性不足是摆在我们面前最直接的问题。为了适应公司的发展,IT部软件开发项目特制订本流程。 二、流程 由上图可以得出以下几个关键步骤: 一、需求部门: I、需求部门首先需要填写《软件需求申请表》,说明需要开发的软件具体用途径、目前 工作模式、工作不方便之处、基本功能等信息; II、待 IT部门评审通过后,通知需求部门,填写《软件开发申请表》,具体列明需要实 现的功能、目前工作流程、使用系统后需要达到的状态,可节省的人力、物力,调高的效率等信息; III、软件开发测试完成之后,接受 IT部门的软件使用培训,并填写《参与培训确认单》; IV、软件试用结束后,填写《软件验收表》,完成软件项目的开发流程; V、在开发测试过程中,遇到开发风险增加、需求变更等,都需要配合 IT软件开发人员填写相关的《项目风险管理表》和《项目变更管理表》。 二、IT部门: I、积极对需求部门提出的《软件需求申请表》进行评审、审批,限 3个工作日完成, 及时反馈结果给需求部门;

软件项目需求变更的控制-1

软件项目需求变更的控制-1 变化并不是人们最害怕的,最怕的是跟不上变化的步伐。同样,在软件开发过程中需求的变更会给开发带来不确定性,但只要把需求变更作为重点、难点小心加以控制,软件开发的进度、成本和质量也就有了“安全”的基础。 需求变更管理的需求 需求变更是因为需求发生变化。根据软件工程思想,需求说明书一般要经过论证,如果在需求说明书经过论证以后,需要在原有需求基础上追加和补充新的需求或对原有需求进行修改和削减,均属于需求变更。 需求变更的出现主要是因为在项目的需求确定阶段,用户往往不能确切地定义自己需要什么。用户常常以为自己清楚,但实际上他们提出的需求只是依据当前的工作所需,而采用的新设备、新技术通常会改变他们的工作方式;或者要开发的系统对用户来说也是个未知数,他们以前没有过相关的使用经验。随着开发工作的不断进展,系统开始展现功能的雏形,用户对系统的了解也逐步深入。于是,他们可能会想到各种新的功能和特色,或对以前提出的要求进行改动。他们了解得越多,新的要求也就越多,需求变更因此不可避免地一次又一次出现。 这时,如果开发团队缺少明确的需求变更控制过程或采用的变更控制机制无效,抑或不按变更控制流程来管理需求变更,那么很可能造成项目进度拖延、成本不足、人力紧缺,甚至导致整个项目失败。当然,即使按照需求变更控制流程进行管理,由于受进度、成本等因素的制约,软件质量还是会受到不同程度的影响。但实施严格的软件需求管理会最大限度地控制需求变更给软件质量造成的负面影响,这也正是我们进行需求变更管理的目的所在。 六大原则 实施需求变更管理需要遵循如下原则: 1. 建立需求基线。需求基线是需求变更的依据。在开发过程中,需求确定并经过评审后(用户参与评审),可以建立第一个需求基线。此后每次变更并经过评审后,都要重新确定新的需求基线。 2. 制订简单、有效的变更控制流程,并形成文档。在建立了需求基线后提出的所有变更都必须遵循这个控制流程进行控制。同时,这个流程具有一定的普遍性,对以后的项目开发和其他项目都有借鉴作用。 3. 成立项目变更控制委员会(CCB)或相关职能的类似组织,负责裁定接受哪些变更。CCB由项目所涉及的多方人员共同组成,应该包括用户方和开发方的决策人员在内。 4. 需求变更一定要先申请然后再评估,最后经过与变更大小相当级别的评审确认。 5. 需求变更后,受影响的软件计划、产品、活动都要进行相应的变更,以保持和更新的需求一致。 6. 妥善保存变更产生的相关文档。

IT项目需求变更表申请表(实例)

需求、设计和开发变更表 产品名称龙岗政府在线升级改造项目 项目名称龙岗政府在线升级改造项目项目经理霍军良 变更申请人郭昊申请时间2007年7 月19 日变更类型 □新增需求需求变更□内部改进□产品缺陷 □系统环境变更□其他 变更描述 变更前的描述(若是新需求,则不需填写此栏): 区长信箱的管理部门(区长专线办)只能指定一个部门处理区长来信。 新需求或变更后的描述: 区长信箱收获的区长来信,区长专线办可以分发给多个部门处理。各个部门能够按照自己的处理方式反馈。处理结果要求集中在前台按照各个部门的处理结果按照列表显示。 变更影响的配 置项序号配置项影响描述当前版本需求变更受影响的文档版本号的更新 2.0.1 变更评审方式项目组裁决□召开评审会议□会签评审评审负责人霍军良评审成员宋雷鸣、郭昊、卞兆洋、梁伟 评审意见更改对产品组成部分的影响: 在区长信箱多了一些功能操作。增加了多部门处理方法! 更改方案描述: 在页面中选择好要分发的部门,然后在后台将部门数据传入到集合内,循环遍历集合中数据属性存入数据库相关表中。并删除原来数据。最后在系统的工作任务中建立任务调度时间设置在每天22:00。 变更对进度的影响 (天) 由于工作量不大,而且通过加班工作,对进度的影响可以 忽略不计。 第1 页共2 页

变更对成本的影响由于工作量不大,而且通过加班工作,对进度的影响可以 忽略不计。 变更对质量的影响添加这个新的需求会对系统测试案例等文档产生影响。对 配置库的影响是:受影响的文档版本号的更新。 变更引起的风险无 技术评审结论可以更改□拒绝变更 是否属不合格□是不是 评审人员签字评审负责人评审人评审人评审人评审人评审人评审人霍军良郭昊宋雷鸣卞兆洋梁伟 CCB意见 立即更改□推迟更改□拒绝变更 签字林文涛日期2007年7 月19 日 项目经理 确认 卞兆洋、郭昊在2007-7-18中午晚上加班修改完成。 签字霍军良日期2007年7 月19 日变更当前状态□已指派□已打开□已更改已验证 更改情况 已经对区长信箱收获的区长来信,区长专线办可以分发给多个部门处理。各个部门能够按照自己的处理方式反馈。处理结果集中在前台按照各个部门的处理结果显示在列表中。 更改人签字郭昊、卞兆洋日期2007年7 月19 日 更改验证情况 通过任务调度,已经测试通过,实现了分发给多个部门处理。 验证人签字刘艳君日期2007年7 月19 日变更配置项验证 变更的配置项责任人完成日期版本CMO审核结论 需求变更宋志强2007年7月19 日 1.01 已更改完成 第2 页共2 页

软件需求变更管理七步法

软件需求变更管理七步法 曹济1王宁2 典型场景:最近比较烦,烦客户!我们现在正在给长江市政府做一个电子政务项目,其中有一项功能是网上婚姻申请登记功能。因为前一段国家政策取消了强制性体检这个环节,所以我们的工作流程也相应的变更。 没想到客户从中得到启发:我们的许多工作流程做好后改动的可能性很大(例如政策调整、部门变动、领导班子重组等),干脆给我们做成可定制的功能,我们提一个最大的功能集合,你们做好了我们自己就可以随需而变,嗯,这样好! 可是对项目组来说这可是个灾难啊!因为可定制的功能往往意味着工作量的倍增! 分析:先说说大家对于这种现象的应对方法吧。最典型的是通过与客户的沟通来解决问题。怎么样沟通呢?因为尤其是对于软件项目的合同很难在签订之初就能够精确定义的每项功能,所以靠合同是帮不上忙的。 我和许多IT公司的老总们作交流,我开玩笑说我们IT公司都是清政府。为什么是清政府?清政府的特点之一就是丧权辱国的条约太多。大家往往只有苦笑:有什么办法呀,客户着急了就是一句潜台词:做不做,不想做滚蛋!想做的公司多着呢。 所以你看合同是没用的,那怎么办呢?通常都是通过感情联络争1曹济,独立管理顾问,国际软件标杆组织顾问、中国区联络人,PMI/IEEE/SPIN会员,caoji@https://www.360docs.net/doc/544018399.html, 2王宁,教授,北京邮电大学经济管理学院邮编100876 wangning_bupt@https://www.360docs.net/doc/544018399.html,

取客户的同情。就像上面的场景中谈到的一样,明明是不合理的要求,可是客户也会狡辩呀,“凭什么不给我们做,这可是合同范围内的工作!”。因为原来只说要实现工作流,而没有谈到定制的工作流算不算。问题出来了,看看怎么办吧。 当然了,如果现在遇到类似的问题,您的组织都可以举重若轻的化解,那您就不用往下看了。我们常听到一句话就是“合情合理”,大家说这有什么好希奇的呀,老生常谈!不过这句话在软件项目的变更管理中却有独特的表现形式。从感情上与客户去沟通很重要,但是您注意到它只做了一半工作,还有一半工作需要去讲理。大家会反驳我说:讲什么理!我们的客户就是上帝,让你做你就做!哪儿那么多废话呀你。 我注意到一个社会现象:客户方的直接项目负责人从年龄上来看往往有年轻化的趋势——三四十岁居多。这些人有什么特点呢?首先从教育程度上讲他们往往都接受过正规教育,所以还比较讲理——或者是因为现在职位还不够高(开玩笑)?其次这些人是真正希望在工作上出成绩的。当项目真遇到负面的风险时,他们愿意去说服自己的领导而不是不作为。 正是基于以上两点分析,我们先来介绍需求变更管理方法——变更管理七步法。七步法印证了我经常鼓吹的项目管理三部曲:细化、量化、图形化,七步法主要验证了细化和量化的必要性和好处。我们先来看看下面这幅图:

软件研发流程管理办法

软件研发流程管理办法 为加强对软件研发工作的管理,缩短开发周期,提高开发质量,降低开发成本,提高开发效率,特制定软件研发流程管理办法。 第一章、总则 为保证日常工作正常有序的进行,让开发中各个环节更紧凑,更可控,需要尽可能实现软件研发流程的正规化,工作过程的流程化,以便提高软件质量和开发效率,达到项目能按质按量按期交付的目标。 1、软件开发总体遵循项目管理和软件工程的基本原则。 2、项目管理涉及项目立项、项目计划和监控、配置管理。 3、软件工程涉及需求分析、系统设计、软件实现、测试、试运行、系统上线和产品维护。 第二章、阶段成果 根据软件工程的过程理论并结合公司目前的实际情况,制定以下工作流程,并规定了各个重要环节需要提交的交付物。 1、立项:市场需求合同或项目立项单。 2、需求分析:软件需求分析报告。 3、总体设计:概要设计说明书或功能模块描述。

4、详细设计:详细设计说明书,包括数据库设计、软件接口说明等。 5、软件实现:软件源代码、源代码说明或者注释。 6、产品测试:测试报告。 7、产品发布:产品说明书或使用手册。 软件过程成果表:

第三章、岗位设置 根据软件开发过程,主要分为分析、开发和测试三个阶段。分析阶段完成用户需求文档的编写,系统概要设计的编写;开发阶段完成设计文档的编写,代码的编写;测试阶段完成系统的测试,测试文档及其他材料。通过逐渐的调整岗位,明确工作职责,逐步实现项目经理,需求分析工程师,软件开发工程师和测试工程师的岗位设置。 岗位工作内容责任 项目经理1、选定项目组成员,成立项目组,安排任务分工。 2、与客户进行沟通和协调(业务需求或非业务需求方面),以及需求调研工作。 3、制定项目开发计划,包括需求,设计,编码,测试这几个阶段的计划。 4、制定小组开发进度表, 对组内人员工作进度监控。 5、对文档的质量进行检查、把关。 6、定期召开项目会议,把控项目进度。 1、对客户的沟通协调工作负责。 2、对软件的开发效率、质量负 责。 3、对文档质量负责。 4、对整个项目的进度,质量等 负责。 需求分析工程师1、与客户进行沟通,负责需求调研工作,汇总需求分析文档,并编写系统总体设计方 案。 2、遇见需求变更时,分析需求变更内容,并与项目经理一起负责对需求变更进行评估。 3、与软件开发工程师一起完成详细设计文档的编写。 1、对用户需求分析的质量负责。 2、对项目组所有成员正确理解 项目需求负责。

需求变更七步法

软件需求变更管理七步法 典型场景:最近比较烦,烦客户!我们现在正在给长江市政府做一个电子政务项目,其中有一项功能是网上婚姻申请登记功能。因为前一段国家政策取消了强制性体检这个环节,所以我们的工作流程也相应的变更。 没想到客户从中得到启发:我们的许多工作流程做好后改动的可能性很大(例如政策调整、部门变动、领导班子重组等),干脆给我们做成可定制的功能,我们提一个最大的功能集合,你们做好了我们自己就可以随需而变,嗯,这样好! 可是对项目组来说这可是个灾难啊!因为可定制的功能往往意味着工作量的倍增! 分析:先说说大家对于这种现象的应对方法吧。最典型的是通过与客户的沟通来解决问题。怎么样沟通呢?因为尤其是对于软件项目的合同很难在签订之初就能够精确定义的每项功能,所以靠合同是帮不上忙的。 我和许多IT公司的老总们作交流,我开玩笑说我们IT公司都是清政府。为什么是清政府?清政府的特点之一就是丧权辱国的条约太多。大家往往只有苦笑:有什么办法呀,客户着急了就是一句潜台词:做不做,不想做滚蛋!想做的公司多着呢。 所以你看合同是没用的,那怎么办呢?通常都是通过感情联络争取客户的同情。就像上面的场景中谈到的一样,明明是不合理的要求,可是客户也会狡辩呀,“凭什么不给我们做,这可是合同范围内的工作!”。因为原来只说要实现工作流,而没有谈到定制的工作流算不算。问题出来了,看看怎么办吧。 当然了,如果现在遇到类似的问题,您的组织都可以举重若轻的化解,那您就不用往下看了。我们常听到一句话就是“合情合理”,大家说这有什么好希奇的呀,老生常谈!不过这句话在软件项目的变更管理中却有独特的表现形式。从感情上与客户去沟通很重要,但是您注意到它只做了一半工作,还有一半工作需要去讲理。大家会反驳我说:讲什么理!我们的客户就是上帝,让你做你就做!哪儿那么多废话呀你。 我注意到一个社会现象:客户方的直接项目负责人从年龄上来看往往有年轻化的趋势——三四十岁居多。这些人有什么特点呢?首先从教育程度上讲他们往往都接受过正规教育,所以还比较讲理——或者是因为现在职位还不够高(开玩笑)?其次这些人是真正希望在工作上出成绩的。当项目真遇到负面的风险时,他们愿意去说服自己的领导而不是不作为。 正是基于以上两点分析,我们先来介绍需求变更管理方法——变更管理七步法。七步法印证了我经常鼓吹的项目管理三部曲:细化、量化、图形化,七步法主要验证了细化和量化的必要性和好处。我们先来看看下面这幅图:

软件需求变更

编号:XZ174 软件需求(变更)通知书 委托方项目责任人签字:受托方项目责任人签字:___年__月__日___年__月__日说明:该变更通知书一式两份,委托方、受托方各执一份。

附件: 清欠车辆录入模块: 录入界面 1、其中,基本情况栏中的内容为自动获取,清欠情况为手工录入且非空。 2、清欠情况中,清欠方式为单选项。 3、当选择为开元汽车清欠时,清欠单位显示为:风险部,当选择为省公司清欠时,通过录 入该信息的账号获取其所属省公司,当选择为异地协助清欠、本单位清欠时,获取录入该信息的账号所属的单位。 此处添加确定、取消按钮。 清欠车辆确认模块: 该模块以列表形式显示,显示内容为: 清欠车辆审核模块: 该模块以列表形式显示,显示内容为: 1、只显示已经确认过的信息,未确认信息不显示。 2、可通过清欠单位、车辆所属单位、清欠方式、清欠时间段、风险等级、是否放车、车辆 处置结果进行查询。 3、可导出查询后的结果,或导出所有明细。 4、列表显示规则为以时间排序,以降序排列。 该模块点击查看后,显示内容为:

就地全面销售管理

自清欠之日(确认后)起10日内未完成销售(未审核),自第11日,该车辆资料自动转到车辆就地全面销售模块,同时增加销售价格项及车辆处置方式。 所属省公司销售管理 自清欠之日(确认后)起30日内未完成销售(未处置),自第31日,该车辆资料自动转到车辆省公司销售模块,同时增加销售价格项及车辆处置方式。 移交车辆 自清欠之日(确认后)起90日内未完成销售(未处置),自第91日,该车辆资料自动转到移交车辆模块,该模块可使用目前ERP中的移交车辆管理模块。 中心销售管理 待移交车辆审核确认后,该车辆信息转到中心销售管理模块下。 统计汇总模块 以省公司为单位,统计各阶段车辆数量,并允许导出所有车辆明细(清欠阶段为已确认车辆)具体显示表格如下:

相关文档
最新文档