在开发上尽量根据情况采用多次迭代的方式进行项目的开发,在每次迭代的同时让客户参与和使用软件,对下一步的开发做出建议争取在项目前期有效的减少后期可能出现的变更情况。
(3)项目收尾阶段的总结
能力的提高往往不是从成功的经验中来,而是从失败的教训中来。许多项目经理不注重经验教训总结和积累,即使在项目运作过程中碰得头破血流,也只是抱怨运气、环境和团队配合不好,很少系统地分析总结,或者不知道如何分析总结,以至于同样的问题反复出现。
事实上,项目总结工作应作为现有项目或将来项目持续改进工作的一项重要内容,同时也可以作为对项目合同、设计方案内容与目标的确认和验证。项目总结工作包括项目中事先识别的风险和没有预料到而发生的变更等风险的应对措施的分析和总结,也包括项目中发生的变更和项目中发生问题的分析统计的总结。
需求变更的管理
需求变更是因为需求发生变化。根据软件工程思想,需求说明书一般要经过论证,如果在需求说明书经过论证以后,需要在原有需求基础上追加和补充新的需求或对原有需求进行修改和削减,均属于需求变更。
需求变更的出现主要是因为在项目的需求确定阶段,用户往往不能确切地定义自己需要什么。用户常常以为自己清楚,但实际上他们提出的需求只是依据当前的工作所需,而采用的新设备、新技术通常会改变他们的工作方式;或者要开发的系统对用户来说也是个未知数,他们以前没有过相关的使用经验。随着开发工作的不断进展,系统开始展现功能的雏形,用户对系统的了解也逐步深入。于是,他们可能会想到各种新的功能和特色,或对以前提出的要求进行改动。他们了解得越多,新的要求也就越多,需求变更因此不可避免地一次又一次出现。
这时,如果开发团队缺少明确的需求变更控制过程或采用的变更控制机制无效,抑或不按变更控制流程来管理需求变更,那么很可能造成项目进度拖延、成本不足、人力紧缺,甚至导致整个项目失败。当然,即使按照需求变更控制流程进行管理,由于受进度、成本等因素的制约,软件质量还是会受到不同程度的影响。但实施严格的软件需求管理会最大限度地控制需求变更给软件质量造成的负面影响,这也正是我们进行需求变更管理的目的所在。
实施需求变更管理需要遵循以下六大原则
(1)建立需求基线,需求基线是需求变更的依据。在开发过程中,需求确定并经过评审后(用户参与评审),可以建立第一个需求基线。此后每次变更并经过评审后,都要重新确定新的需求基线。
(2)制订简单、有效的变更控制流程,并形成文档。在建立了需求基线后提出的所有变更都必须遵循这个控制流程进行控制。同时,这个流程具有一定的普遍性,对以后的项目开发和其他项目都有借鉴作用。
(3)成立项目变更控制委员会(CCB)或相关职能的类似组织,负责裁定接受哪些变更。CCB由项目所涉及的多方人员共同组成,应该包括用户方和开发方的决策人员在内。
(4)需求变更一定要先申请然后再评估,最后经过与变更大小相当级别的评审确认。
(5)需求变更后,受影响的软件计划、产品、活动都要进行相应的变更,以保持和更新的需求一致。
(6)妥善保存变更产生的相关文档。
应对之道
需求变更控制一般要经过变更申请、变更评估、决策、回复这四大步骤。如果变更被接受,还要增加实施变更和验证两个步骤,有时还会有取消变更的步骤。针对变更控制流程,在实际工作中总结出了软件开发人员在需求变更管理实践中的几点对策:
优先排序 分批实现 每个需求的重要性是不同的。由于资源或技术条件的限制,会显得“僧多粥少”,因此不可能把所有的需求一次完成。怎么办?把每个需求按照对效益的贡献打个分,排出个优先级来,优先级高的需求先实现,低的到一下版式本实现。由于不断有新的需求进来,有的需求可能永远没有机会被子实现,但不紧,还是要记录下来,并一起参加排序,保证在每个版本发布时重要的需求先得到满足。每个需求的实现是需要花时间的,没人有百分百的把握预估得很清楚,但借鉴过去的经验可以大概估算出人力成本,然后根据开发人员和开发周期得出可用人力投入作为上限。从优先级高的需求中挑,直到挑中的人力成本总和刚刚低于可用投入上限,这样得出的就是需求的录取榜。今后的软件开发规划也会以此为依据,分期分批地在不同的回合中实现。最合理的不一定是优先级最高的,也就是说不一不定是最先考虑的,“经济为本”是指导优先排序的最终原则。
相互协作 很难想像遭到用户抵制的项目能够成功。在讨论需求时,开发人员与用户应该尽量采取相互理解、相互协作的态度,对能解决的问题尽量解决。即使用户提出了在开发人员看来"过分"的要求,也应该仔细分析原因,积极提出可行的替代方案。
充分交流 需求变更管理的过程很大程度上就是用户与开发人员的交流过程。软件开发人员必须学会认真听取用户的要求、考虑和设想,并加以分析和整理。同时,软件开发人员应该向用户说明,进入设计阶段以后,再提出需求变更会给整个开发工作带来什么样的冲击和不良后果。
安排专职人员负责需求变更管理 有时开发任务较重,开发人员容易陷入开发工作中而忽略了与用户的随时沟通,因此需要一名专职的需求变更管理人员负责与用户及时交流。
合同约束 需求变更给软件开发带来的影响有目共睹,所以在与用户签订合同时,可以增加一些相关条款,如限定用户提出需求变更的时间,规定何种情况的变更可以接受、拒绝接受或部分接受,还可以规定发生需求变更时必须执行变更控制流程。
区别对待 随着开发进展,有些用户会不断提出一些在项目组看来确实无法实现或工作量比较大、对项目进度有重大影响的需求。遇到这种情况,开发人员可以向用户说明,项目的启动是以最初的基本需求作为开发前提的,如果大量增加新的需求(虽然用户认为是细化需求,但实际上是增加了工作量的新需求),会使项目不能按时完成。如果用户坚持实施新需求,可以建议用户将新需求按重要和紧迫程度划分档次,作为需求变更评估的一项依据。同时,还要注意控制新需求提出的频率。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
- 项目管理案例系列[7]:项
- 英国工程造价管理分析
- Project server的权限管理
- 基于.NET开发和运行环境架
- “软件蓝领”批判
- 软件开发成本估算
- 峡口电站拱坝施工技术
- 水工混凝土施工技术的进展
- 软件项目获取用户需求的沟
- RefactoringtoPatterns—
- 成功模式(pattern)作家的
- 网络游戏外挂编写基础
- 使用SourceSafe做好配置管
- 软件开发中文档的作用和分
- 快速原型法
- BOT项目公司的法律性质分
- 国内几家工程造价软件的评
- 公司项目管理办法的写作格
- 大型乙烯项目设备全过程检
- 浅谈合同索赔的类型和处理
- 我国电子政务组织管理体系
- 微软WebApplicationStress
- AdHoc网络性能测试关键技
- 如何做好一名软件实施人员
- 获取CRM投资收益率 来自CR
- 应用原型的制作与原型制作
- 复杂系统的层级原理与模型
- 成功模式(pattern)作家的
- Web统计图表解决方案
- 反思,然后进步-再论系统
- 软件界面的重要性
- 《程序员》高展专栏——UM
- 成功模式(pattern)作家的
- 胡思乱想之XP开发方法
- 开发工具大比拼visualc v
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD




