,欢迎光临!退出
加入收藏设为首页请您留言
您当前位置:网站首页 >> 内部控制 >> 项目管理 >> 软件项目风险管理

软件项目风险管理

2014-02-25 15:09:52 来源:风控网 浏览:222

    三、软件项目中的风险

      软件项目的风险无非体现在以下四个方面:需求、技术、成本和进度。IT项目开发中常见的风险有如下几类:

    需求风险

    ①需求已经成为项目基准,但需求还在继续变化;②需求定义欠佳,而进一步的定义会扩展项目范畴;③添加额外的需求;④产品定义含混的部分比预期需要更多的时间;⑤在做需求中客户参与不够;⑥缺少有效的需求变化管理过程。

    计划编制风险

    ①计划、资源和产品定义全凭客户或上层领导口头指令,并且不完全一致;②计划是优化的,是"最佳状态",但计划不现实,只能算是"期望状态";③计划基于使用特定的小组成员,而那个特定的小组成员其实指望不上;④产品规模(代码行数、功能点、与前一产品规模的百分比)比估计的要大;⑤完成目标日期提前,但没有相应地调整产品范围或可用资源;⑥涉足不熟悉的产品领域,花费在设计和实现上的时间比预期的要多。

    组织和管理风险

    ①仅由管理层或市场人员进行技术决策,导致计划进度缓慢,计划时间延长;②低效的项目组结构降低生产率;③管理层审查 决策的周期比预期的时间长;④预算削减,打乱项目计划;⑤管理层作出了打击项目组织积极性的决定;⑥缺乏必要的规范,导至工作失误与重复工作;⑦非技术的第三方的工作(预算批准、设备采购批准、法律方面的审查、安全保证等)时间比预期的延长。

    人员风险

    ①作为先决条件的任务(如培训及其他项目)不能按时完成;②开发人员和管理层之间关系不佳,导致决策缓慢,影响全局;③缺乏激励措施,士气低下,降低了生产能力;④某些人员需要更多的时间适应还不熟悉的软件工具和环境;⑤项目后期加入新的开发人员,需进行培训并逐渐与现有成员沟通,从而使现有成员的工作效率降低;⑥由于项目组成员之间发生冲突,导致沟通不畅、设计欠佳、接口出现错误和额外的重复工作;⑦不适应工作的成员没有调离项目组,影响了项目组其他成员的积极性;⑧没有找到项目急需的具有特定技能的人。

    开发环境风险

    ①设施未及时到位;②设施虽到位,但不配套,如没有电话、网线、办公用品等;③设施拥挤、杂乱或者破损;④开发工具未及时到位;⑤开发工具不如期望的那样有效,开发人员需要时间创建工作环境或者切换新的工具;⑥新的开发工具的学习期比预期的长,内容繁多。

    客户风险

      ①客户对于最后交付的产品不满意,要求重新设计和重做;②客户的意见未被采纳,造成产品最终无法满足用户要求,因而必须重做;③客户对规划、原型和规格的审核 决策周期比预期的要长;④客户没有或不能参与规划、原型和规格阶段的审核,导致需求不稳定和产品生产周期的变更;⑤客户答复的时间(如回答或澄清与需求相关问题的时间)比预期长;⑥客户提供的组件质量欠佳,导致额外的测试、设计和集成工作,以及额外的客户关系管理工作。

    产品风险

      ①矫正质量低下的不可接受的产品,需要比预期更多的测试、设计和实现工作;②开发额外的不需要的功能(镀金),延长了计划进度;③严格要求与现有系统兼容,需要进行比预期更多的测试、设计和实现工作;④要求与其他系统或不受本项目组控制的系统相连,导致无法预料的设计、实现和测试工作;⑤在不熟悉或未经检验的软件和硬件环境中运行所产生的未预料到的问题;⑥开发一种全新的模块将比预期花费更长的时间;⑦依赖正在开发中的技术将延长计划进度。

    设计和实现风险

      ①设计质量低下,导致重复设计;②一些必要的功能无法使用现有的代码和库实现,开发人员必须使用新的库或者自行开发新的功能;③代码和库质量低下,导致需要进行额外的测试,修正错误,或重新制作;④过高估计了增强型工具对计划进度的节省量;⑤分别开发的模块无法有效集成,需要重新设计或制作。

    过程风险

      ①大量的纸面工作导致进程比预期的慢;②前期的质量保证行为不真实,导致后期的重复工作;③太不正规(缺乏对软件开发策略和标准的遵循),导致沟通不足,质量欠佳,甚至需重新开发;④过于正规(教条地坚持软件开发策略和标准),导致过多耗时于无用的工作;⑤向管理层撰写进程报告占用开发人员的时间比预期的多;⑥风险管理粗心,导致未能发现重大的项目风险。

    四、风险辨识

    识别风险是系统化地识别已知的和可预测的风险,在可能时避免这些风险,且当必要时控制这些风险。根据风险内容,我们可以将风险分为:

    (1)产品规模风险:与软件的总体规模相关的风险。

    (2)商业影响风险:商业风险影响到软件开发的生存能力。商业风险包含的五个主要的风险是:

  市场风险:开发了一个没有人真正需要的优秀产品或系统;

  策略风险:开发的产品不符合公司的整体商业策略;

  销售风险:开发了一个销售部门不知道如何去卖的产品;

  管理风险:由于重点的转移或人员的变动而失去了高级管理层的支持的风险;

  预算风险:没有得到预算或人力上的保证。

    (3)客户特性风险:与客户的素质以及开发者和客户沟通能力相关的风险。

    (4)过程定义风险:与软件过程定义相关的风险。

    (5)开发环境风险:与开发工具的可用性及质量相关的风险。

    (6)技术风险:技术风险是指在设计、实现、接口、验证、维护、规约的二义性、技术的不确定性、陈旧的技术等方面存在的风险。技术风险威胁到软件开发的质量及交付的时间,如果技术风险变成现实,则开发工作可能变得很困难或根本不可能。

    (7)人员数目及经验带来的风险:与参与工作的软件工程师的总体技术水平及项目经验相关的风险。

    在进行具体的软件项目风险识别时,可以根据实际情况对风险分类。但简单的分类并不是总行的通的,某些风险根本无法预测。在这里,我们介绍一下美国空军软件项目风险管理手册中指出的如何识别软件风险。这种识别方法要求项目管理者根据项目实际情况标识影响软件风险因素的风险驱动因子,这些因素包括以下几个方面。

    (1)性能风险:产品能够满足需求和符合使用目的的不确定程度。

    (2)成本风险:项目预算能够被维持的不确定的程度。

    (3)支持风险:软件易于纠错、适应及增强的不确定的程度。

    (4)进度风险:项目进度能够被维持且产品能按时交付的不确定的程度。

    每一个风险驱动因子对风险因素的影响均可分为四个影响类别——可忽略的、轻微的、严重的及灾难性的。
第1页 第2页 第3页
发表评论
网名:
评论:
验证:
共有0人对本文发表评论查看所有评论(网友评论仅供表达个人看法,并不表明本站同意其观点或证实其描述)
赞助商链接
关于我们 - 联系我们 - 免责申明 - 人才招聘 - 战略合作