当前位置:文档之家› 软件项目风险管理

软件项目风险管理

项目风险管理
1、风险管理模型及过程
(1)风险管理贯穿项目管理的各个阶段和各个领域,风险管理是项目管理中最容易
被忽略而且是最难以管理的环节。它是在项目进行过程中不断对风险进行识别、评
估。、制定策略、监控风险的过程。风险管理对选择项目、确定项目范围和编制显示
的进度计划和成本估算有积极的影响。风险管理有助于利益相关者了解项目的本质,
使团队成员参与确定优势和劣势,并有助于结合其他项目管理知识领域。

(2)现有软件项目风险管理模型
模型一 BarryBoehm理论:20世纪80年代,软件风险管理之父Boehm认为,软
件风险管理这门学科的出现就是试图将影响项目成功的风险形式化为一组易用的原则
和实践的集合,目标是在风险成为软件项目返工的主要因素并由此威胁到项目的成功
运作前,识别、描述并消除这些风险项。他将风险管理过程归纳成两个基本步骤,即
风险评估和风险控制。其中风险评估包括风险识别、风险分析、风险排序;风险控制
包括制定风险管理计划、解决风险、监控风险。

模型二 SEI的CRM(持续风险管理)模型:SEI提出的CRM模型要求在项目生命周
期的所有阶段都关注风险识别和管理,它将风险管理划分为识别、分析、计划、跟踪
和控制5个步骤,并采取不同的策略。

模型三 Riskit:如果组织在项目早期采用系统化的风险管理过程和技术,那么
组织就有能力避免很多问题。Riskit方法能提供这种系统化的风险管理过程和技术,
它由Mary-land大学提出的,旨在对风险的起因、触发事件及其影响等进行完整的体
现和管理,并使用合理的步骤评估风险。对于风险管理中的每个活动,Riskit都提供
了详细的活动执行模板,包括活动描述、进入标准、输入、输出、采用的方法和工具、
责任、资源、退出标准。Riskit风险管理过程在项目生命期内,这些活动可以重复多
次。

模型四 SofiRisk风险管理模型:SoftRisk模型是由Keshlaf和Hashim提出的,
它基于这样一种观念:记录并将注意力集中在高可能性和高破坏性的风险上是进行风
险管理的有效途径。这样可以节省软件开发过程中的时间成本和人力成本,并可有效
减轻风险的破坏性。此模型确保在软件项目进行中持续地进行风险管理。

模型五 IEEE风险管理标准:IEEE风险管理标准定义了软件开发生命周期中的风
险管理过程。该风险管理过程是一个持续的过程,系统地描述和管理在产品或服务的
生命周期中出现的风险,包括计划并实施风险管理、管理项目风险列表、分析风险、
监控风险、处理风险、评估风险管理过程等。

模型六 CMMI(软件能力成熟度模型集成)的风险管理过程域:CMMI是由SEI在
CMM基础上发展而来,并在全世界推广实施的一种软件能力成熟度评估标准,主要用
于指导软件开发过程的改进和进行软件开发能力评估。风险管理过程域是在CMMI第
三级一一已定义级中的一个关键过程域。CMMI认为风险管理是一种连续的前瞻性的过
程。它要识别潜在的可能危及关键目标的因素,以便策划应对风险的活动并在必要时
实施这些活动,缓解不利影响,最终实现组织目标。CMMI的风险管理被清晰地描述为
实现三个目标,每个目标的实现又通过一系列的活动来完成。

模型七 Microsoft的MSF风险管理模型:MSF的风险管理认为,风险管理必须是
主动的,它是正式的系统的过程,风险应被持续评估、监控、管理,直到被解决或问
题被处理。

(3)风险管理的过程
A)风险识别:是指风险管理人员在收集资料和调查研究之后,运用各种方法对尚
未发生的潜在风险以及客观存在的各种风险进行系统归类和全面识别。风险识别的主
要内容有:识别引起的风险的因素有哪些,什么是主要因素,以及这些风险可能导致
的后果如何。

B)风险评估:是对识别出来的风险事件做进一步分析,对风险发生的概率进行评
估和评价,对项目风险后果的严重程度进行估计和评价,对项目风险影响范围进行分
析和评价,以及对于项目风险发生时间进行估计和评价。是衡量风险概率和风险对项
目目标影响程度的过程。

C)风险规划:是针对风险分析的结果,为提高实现项目目标的机会,降低风险的
负面影响而制定风险应对策略和应对措施的过程,即通过制定一系列的行动和策略来
对付、减少以至于消灭风险事件。

D)风险控制:是指风险管理者采取各种措施和方法,消灭或减少风险事件发生的
各种可能性,或者减少风险事件发生时造成的损失。四种基本方法是:风险回避、损
失控制、风险转移和风险保留。

2、风险清单
教务管理系统项目的主要风险是开发人员对客户需求中的学校管理环境不是很熟
悉,另外,客户要求的进度比较紧,而且具体要求不是很明确,下面的风险列表就是
通过一系列的风险识别、风险评估、风险应对,最后得出项目风险清单。

排序 输入 风险事件 可能性 影响 风险值 风险应对措施

1 客户的需求 需求不明确,增加需求,导致需求蔓延 70% 50% 35%
1)采取加班的方法

2)修改计划去掉的一些任

3)与客户商量延长一些时

2 合同 进度要求紧,合同金额有限 30% 50% 15%
可以请一些实习生做辅助工

作,以成本不高,二可以加
快速度

3 历史项目信息 开发人员对测试工作不重视 30% 40% 12%
1)强制性要求每段代码保

留测试单元2)加入专门的
测试人员

4 任务分解图 供货商、外包商的质量问题 20% 50% 10%
多选择几个可以作为备份的

外包商和供应商

5 开发人员的流动 开发人员的流动 15% 60% 9%
1)注意项目团队的沟通,

及时了解开发人员的动态

2)控制好项目过程中的文

3)从其他项目组借调人员
4)从外部招聘有开发经验
的人员

相关主题