软件项目风险管理
软件项目风险管理-PPT

风险影响项目目标得严重程度 从无影响到无穷大
风险后果度量
高、中、低 极高、高、中、低、极低 灾难,严重,轻微,可忽略 等等
风险概率及后果估计-矩阵图
P Low
R I
High L
Medium High
H
H
Medium L Low L
H
H
M
M
风险评估得方法-定量风险评估
1. 盈亏平衡分析 2. 模拟 3. 访谈 4. 决策树分析 5. 量化风险条目检查表 6. 。。。。。。
间得关系,行动方案得后果以及发生得概率 提供选择一个最佳得方案得依据
决策树分析与EMV ( Expected Monetary Value)
损益期望值就是决策树得一种计算值 根据风险发生得概率计算出一种期望得损益 例如: 某行动方案成功得概率就是50%,收益就是
10 EMV=10*50%=5
风险规划得主要策略
1. 回避风险 2. 转移风险 3. 损失控制 4. 自留风险
-回避风险
回避风险就是对所有可能发生得风险尽可能得 规避,采取主动放弃或者拒绝使用导致风险得方 案
例如放弃采用新技术
-回避风险
注意事项
对风险有足够得认识 当其她风险策略不理想得时候,可以考虑 可能产生另外得风险 不就是所有得情况都适用得
0、5*-2=-1元
0、25*-2=-0、5元
GameB:EMV=0、5
量化检查表
McFarlan’s Risk Questionnaire
1. What is the project estimate in calendar (elapsed) time?
( ) 12 monthsce changes Low = 1
软件项目风险管控

软件项目风险管控一、概述软件项目风险管控是指在软件开发过程中,针对可能出现的风险进行预测、评估、应对和监控的一系列管理活动。
通过有效的风险管控,可以降低项目失败的风险,提高项目的成功率和交付质量。
二、风险识别与评估1. 风险识别在项目启动阶段,组织相关人员进行风险识别工作。
可以通过头脑风暴、问卷调查、经验总结等方法,识别出可能存在的风险。
例如,技术风险、需求变更风险、人力资源风险等。
2. 风险评估对识别出的风险进行评估,确定其对项目目标的影响程度和发生概率。
可以使用定性和定量的方法进行评估。
定性评估可以使用风险矩阵,将风险按照影响程度和发生概率进行分类。
定量评估可以使用统计分析和模型计算,给出风险的具体数值。
三、风险应对策略1. 风险规避采取措施避免风险的发生。
例如,技术风险可以通过技术验证和原型开发来降低;需求变更风险可以通过明确变更管理流程来规避。
2. 风险转移将风险转移给其他方。
例如,通过购买保险来转移项目执行过程中可能发生的风险。
3. 风险减轻采取措施降低风险的影响程度和发生概率。
例如,加强项目团队的培训,提高成员的技术能力,减少人力资源风险。
4. 风险接受对于无法避免或转移的风险,项目组需要明确接受并做好应对准备。
例如,市场需求变化风险是无法完全避免的,项目组需要及时调整项目计划和资源分配。
四、风险监控与控制1. 风险监控定期对项目风险进行监控,及时发现新的风险和变化的风险。
可以通过项目会议、风险报告和风险评估工具进行监控。
2. 风险控制针对已经发生的风险,采取措施进行控制和应对。
可以制定风险应急预案,明确责任人和应对措施。
同时,及时跟踪风险的变化,调整项目计划和资源分配。
五、风险管理工具1. 风险登记簿记录识别的风险信息,包括风险描述、责任人、应对策略等。
可以通过表格或软件工具进行管理。
2. 风险评估工具使用风险矩阵、统计分析和模型计算等工具,对风险进行定性和定量评估。
3. 风险报告定期向项目相关方汇报风险情况,包括风险的变化、应对措施的实施情况等。
软件项目风险管控

软件项目风险管控一、引言软件项目风险管控是指在软件开辟过程中,对可能影响项目成功的风险进行识别、评估、规划和监控的过程。
通过有效的风险管控措施,可以匡助项目团队及时发现和应对潜在的风险,保证项目按时、按质地完成。
二、风险识别1. 项目范围风险项目范围不明确、需求变更频繁等问题可能导致项目进度延误、成本超支等风险。
2. 技术风险技术选型不当、技术难点无法解决等问题可能导致项目无法按计划实施、质量问题等风险。
3. 人员风险项目团队成员离职、能力不足等问题可能导致项目进度受阻、质量下降等风险。
4. 管理风险项目管理不当、沟通不畅等问题可能导致项目进度延误、质量问题等风险。
三、风险评估1. 风险概率评估根据历史数据、专家经验等,对各类风险发生的概率进行评估,分为高、中、低三个等级。
2. 风险影响评估根据风险发生后对项目的影响程度,包括项目进度、成本、质量等方面进行评估,分为高、中、低三个等级。
3. 风险优先级评估综合考虑风险概率和影响,确定风险的优先级,以便制定相应的应对策略。
四、风险规划1. 风险避免策略针对高优先级的风险,采取措施避免其发生,如明确项目范围、加强需求管理等。
2. 风险减轻策略针对中优先级的风险,采取措施减轻其发生的可能性和影响,如技术评估、培训团队成员等。
3. 风险应对策略针对低优先级的风险,制定应对计划,如备用方案、应急预案等。
五、风险监控1. 风险跟踪定期对已识别的风险进行跟踪,了解其发展情况,及时调整风险管理策略。
2. 风险报告定期向项目相关方汇报风险情况,包括风险的识别、评估、规划和应对情况,以及项目的风险状况。
3. 风险应对在风险发生时,根据事先制定的应对策略,及时采取相应的措施,最大限度地减轻风险的影响。
六、总结软件项目风险管控是保证项目成功的重要环节。
通过风险识别、评估、规划和监控,可以及时发现和应对潜在的风险,确保项目按时、按质地完成。
在实施风险管控过程中,需要项目团队密切合作,制定合理的风险管理策略,并及时调整和优化,以提高项目成功的概率。
软件项目风险管控

软件项目风险管控引言概述:软件项目的开辟过程中,风险是无法避免的。
为了确保项目的顺利进行和成功交付,软件项目风险管控是至关重要的。
本文将详细介绍软件项目风险管控的五个关键部份,包括风险识别、风险评估、风险应对、风险监控和风险控制。
一、风险识别:1.1 项目需求风险:识别可能存在的需求变更、需求不明确或者需求冲突等风险,并及时与项目相关方进行沟通和确认。
1.2 技术风险:识别可能存在的技术难题、技术选型不当或者技术人员不足等风险,并制定相应的应对措施。
1.3 人员风险:识别可能存在的人员流动、人员能力不足或者人员协作问题等风险,并采取措施来解决或者减轻风险。
二、风险评估:2.1 风险概率评估:评估每一个风险事件发生的概率,以确定其可能性大小,可以采用专家判断、历史数据分析等方法进行评估。
2.2 风险影响评估:评估每一个风险事件发生后可能对项目造成的影响,包括成本、进度、质量等方面的影响,以确定其重要性。
2.3 风险优先级评估:结合概率和影响评估结果,确定每一个风险事件的优先级,以便在有限的资源下进行风险应对。
三、风险应对:3.1 风险规避:采取措施避免风险事件的发生,例如明确需求、提前进行技术验证或者加强人员培训等。
3.2 风险转移:将风险转移给其他方,例如购买保险、外包部份工作或者与合作火伴共同承担风险等。
3.3 风险应对计划:制定详细的风险应对计划,包括具体的应对措施、责任人和时间表,以便在风险事件发生时能够及时有效地应对。
四、风险监控:4.1 风险跟踪:跟踪已识别的风险事件的发展情况,及时了解其发展趋势和可能的影响,以便及时采取相应措施。
4.2 风险报告:定期向项目相关方报告风险情况,包括已识别的风险、已采取的应对措施和风险的变化情况等。
4.3 风险沟通:与项目相关方进行风险沟通,包括风险的认识、风险的影响和风险应对的发展情况等,以确保项目各方对风险有清晰的认识。
五、风险控制:5.1 风险回顾:对已发生的风险事件进行回顾,总结经验教训,以便在类似的项目中能够更好地应对风险。
软件工程中的软件项目风险管理与控制

软件工程中的软件项目风险管理与控制软件项目风险管理是软件工程中一个至关重要的环节,它旨在识别、分析和控制软件项目中的各种风险,确保项目能够按时、按质、按预算完成。
本文将深入探讨软件工程中的软件项目风险管理与控制,并提供一些有效的方法和技巧。
一、软件项目风险管理的重要性在软件项目开发过程中,各种风险可能随时出现,包括技术风险、时间风险、成本风险等。
如果不对这些风险进行有效管理和控制,可能会导致项目延期、超支甚至项目失败。
因此,软件项目风险管理是确保项目成功的关键因素之一。
二、软件项目风险管理的基本步骤1. 风险识别:通过对项目进行全面细致的分析和评估,确定可能存在的各种风险,包括技术风险、进度风险、需求变更风险等。
可以借助SWOT分析、头脑风暴等方法来辅助识别风险。
2. 风险分析:对已识别的风险进行进一步分析,确定其可能带来的影响程度和概率。
可以使用风险矩阵、树状图等工具来进行风险分析,从而为后续的风险控制提供依据。
3. 风险评估:综合考虑风险的影响程度和概率,对各个风险进行评估,确定其优先级和重要性。
可以采用定性和定量的方法进行风险评估,以便更好地制定风险控制策略。
4. 风险控制:基于风险评估的结果,制定相应的风险控制策略和计划。
对于高优先级的风险,要采取积极有效的措施来降低其发生的概率或减轻其影响。
可以采用避免、减轻、分担、转移等控制策略来应对不同类型的风险。
5. 风险监控:及时跟踪项目中的各项风险,监控其变化和演化过程。
在项目执行中,要不断评估风险的实际情况,并根据需要进行相应的调整和改进。
三、软件项目风险管理的常用技术工具1. WBS(Work Breakdown Structure):工作分解结构是将整个软件项目分解成多个可管理的工作单元的过程。
通过建立WBS,可以更好地进行风险识别、风险分析和风险控制,确保项目能够按时、按质地完成。
2. Gantt图:甘特图是一种显示任务、里程碑和关键路径的项目进度管理工具。
如何进行软件项目风险管理与应对

如何进行软件项目风险管理与应对软件项目风险管理是软件开发过程中非常重要的一个环节,它帮助团队在项目执行过程中及时发现、评估和应对潜在的风险,从而确保项目能够按时、按质量完成。
本文将介绍软件项目风险管理的基本概念、流程和方法,以及如何应对软件项目风险。
一、软件项目风险管理概述1.1风险概念及分类在软件项目中,风险指的是可能在项目执行过程中导致项目目标无法实现或导致项目失败的不确定性因素。
风险可以分为内部风险和外部风险。
内部风险是由项目开发团队内部因素引起的,如开发技术不足、团队协作差等。
外部风险是由项目外部环境引起的,如市场变化、政策法规变动等。
1.2软件项目风险管理的重要性软件项目风险管理能够帮助团队在项目开始之前评估潜在风险,制定相应的风险应对策略,以减少风险带来的不利影响。
在项目执行过程中,风险管理能够及时发现和应对变化,确保项目按时完成。
同时,风险管理还能提高团队的风险意识和应变能力,有利于团队长期发展。
二、软件项目风险管理流程2.1风险识别风险识别是软件项目风险管理的第一步,团队需要收集项目相关信息,分析项目的关键因素,识别潜在风险。
常见的风险包括技术风险、进度风险、成本风险、需求风险等。
2.2风险评估风险评估是根据风险的概率和影响程度对风险进行评估,确定各个风险的优先级。
在评估风险时,团队还需综合考虑风险的相互关联性和可能对项目造成的损失。
2.3风险应对风险应对是根据风险评估的结果,制定相应的风险应对策略。
常见的风险应对策略包括规避、转移、减轻和接受风险。
团队需要制定详细的应对方案,并明确责任人和时间节点。
风险监控是指在项目执行过程中,不断监测风险的变化,并根据风险变化情况及时调整风险应对策略。
团队需要及时更新风险登记表,并定期进行风险评估和风险控制。
三、软件项目风险应对方法3.1规避风险规避风险是通过制定严格的项目计划和管理措施,避免潜在风险的发生。
团队可以通过提前分析和解决潜在问题、加强项目管理和团队协作等方式规避风险。
软件项目开发管理中常见风险及措施

软件项目开发管理中常见风险及措施一、需求管理常见风险:1.需求变更频繁,导致项目延期或超出预算。
2.需求不明确,导致开发出的功能与用户期望不符。
3.客户需求与业务目标不一致,导致项目价值降低。
应对措施:1.确立明确的需求变更流程,所有变更需经过评估和批准。
2.定期进行需求评审,确保需求明确无误。
3.加强与客户的沟通,确保需求与业务目标一致。
二、技术评估常见风险:1.技术选型不当,导致项目难以推进。
2.技术难题无法解决,导致项目失败。
3.技术更新迭代快速,导致项目落后。
应对措施:1.在项目初期进行充分的技术调研和评估,选择适合项目的技术栈。
2.组建技术团队时,考虑团队成员的技术能力和经验。
3.持续关注技术动态,确保项目与技术发展保持同步。
三、人力资源规划常见风险:1.人力资源不足,导致项目延期。
2.团队成员技能不匹配,导致开发效率低下。
3.团队成员流失,导致项目中断。
应对措施:1.根据项目需求,合理规划人力资源,确保人力充足。
2.在招聘时,注重候选人的技能和经验,确保团队能力匹配。
3.建立健全的激励机制,降低团队成员流失率。
四、时间管理常见风险:1.项目进度延误,导致客户不满。
2.时间安排不合理,导致团队成员压力过大。
应对措施:1.制定详细的项目时间计划,明确各阶段的任务和时间节点。
2.定期进行项目进度评估,及时调整时间计划。
3.为团队成员合理安排工作任务,避免过度压力。
五、预算管理常见风险:1.预算超支,导致项目成本增加。
2.预算分配不合理,导致资源浪费。
应对措施:1.制定详细的预算计划,明确各项费用的预算金额。
2.定期进行预算审查,确保预算使用合理。
3.优化资源配置,避免资源浪费。
六、沟通机制常见风险:1.信息传递不畅,导致工作重复或遗漏。
2.沟通不及时,导致问题无法得到及时解决。
应对措施:1.建立健全的沟通机制,确保信息畅通无阻。
2.定期召开项目会议,及时分享项目进展和问题。
3.鼓励团队成员之间的沟通和协作,共同解决问题。
如何进行软件项目风险管理与应对

如何进行软件项目风险管理与应对一、引言软件项目开发是一项复杂的任务,其中存在着各种可能的风险。
风险管理是确保项目顺利进行的关键步骤之一。
本文将介绍软件项目风险管理的基本概念以及针对不同风险的应对措施。
二、软件项目风险管理1.风险的定义风险是指潜在的不确定因素,可能给项目带来负面影响。
在软件项目中,常见的风险包括技术风险、进度风险、成本风险和需求风险等。
2.风险管理的步骤风险管理一般包括风险识别、风险评估、风险控制和风险监控等步骤。
在识别阶段,项目团队需要对项目可能面临的各种风险进行全面分析。
在评估阶段,项目团队需要对识别出的风险进行评估,确定每种风险的概率和影响程度。
在控制阶段,项目团队需要针对不同风险制定相应的控制措施。
在监控阶段,项目团队需要对实施的控制措施进行跟踪和监控,确保其有效性。
三、风险的分类与应对措施1.技术风险技术风险是指软件项目在技术方面可能面临的挑战和障碍。
常见的技术风险包括技术选型风险、技术实施风险和技术演进风险等。
对于技术选型风险,项目团队需要在项目开始阶段对技术选型进行仔细分析和评估。
可以通过技术调研、原型开发和实验验证等方式来降低技术选型风险。
对于技术实施风险,项目团队需要确保技术实施的可行性和可靠性。
可以通过技术评审、代码审查和持续集成等方式来降低技术实施风险。
对于技术演进风险,项目团队需要关注技术的变化和发展趋势。
可以通过持续学习、技术更新和团队培训等方式来降低技术演进风险。
2.进度风险进度风险是指软件项目在进度方面可能面临的延迟和滞后。
常见的进度风险包括任务拖延、资源不足和沟通不畅等。
对于任务拖延风险,项目团队需要对项目进度进行合理规划和安排。
可以通过任务分解、评估优先级和追踪进度等方式来降低任务拖延风险。
对于资源不足风险,项目团队需要确保项目所需的资源得到充分保障。
可以通过资源调配、资源补充和资源共享等方式来降低资源不足风险。
对于沟通不畅风险,项目团队需要建立有效的沟通机制和沟通渠道。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目 录 一、风险管理概述 (4)1.1软件项目风险 (4)1.2软件项目风险管理 (4)1.3软件项目风险管理模型.............................................................................. (6)1.4小结...................................................................................................7 二、软件项目风险管理发展历程 (7)三、经典风险管理模型 (9)3.1 Boehm 和Charette 的风险管理框架 (9)3.2CMU/SEI 的CRM 持续风险管理模型 (10)软件项目风险管理资料【最新资料,WORD 文档,可编辑修改】3.3Riskit方法 (11)3.4SoftRisk风险管理模型 (14)3.5IEEE风险管理标准 (15)3.6基于CMM/CMMI的软件项目风险管理框架 (15)3.7Microsoft的MSF风险管理模型 (16)3.8比较经典风险管理模型 (17)四、软件项目风险管理的研究方法、技术和工具 (18)4.1软件项目风险识别方法 (18)4.2网络分析模型 (21)4.3系统动力学仿真技术 (22)4.4基于成本估算模型的风险评估方法 (23)4.5其他方法体系 (24)五、我国软件项目风险管理的研究 (24)5.1研究现状 (24)5.2思考与建议 (25)【参考文献】………………………………………………………………………………错误!未定义书签。
引言近几年来软件开发技术、工具都有了很大的进步,但是软件项目开发超时、超支、甚至不能满足用户需求而根本没有得到实际使用的情况仍然比比皆是。
软件项目开发和管理中一直存在着种种不确定性,严重影响着项目的顺利完成和提交。
但这些软件风险并未得到充分的重视和系统的研究。
直到20世纪80年代,Boehm比较详细地对软件开发中的风险进行了论述,并提出软件风险管理的方法。
Boehm认为,软件风险管理指的是“试图以一种可行的原则和实践,规范化地控制影响项目成功的风险”,其目的是“辨识、描述和消除风险因素,以免它们威胁软件的成功运作”。
在此基础上,业界对软件风险管理的研究开始慢慢丰富起来,理论上对风险进行了一些分类,提出了风险管理的思路;实践上也出现了一些定量管理风险的方法和风险管理的软件工具。
虽然业界对风险管理表现了极大的兴趣,做出了不少努力,但似乎很少开发项目的组织真正积极地在软件开发过程中使用风险管理的方法。
1995年IWSED (International Workshop on Software Engineering Data)会议做出的调查显示:风险管理技术没有得到广泛应用的原因并不是大家不相信这种技术的实效性,而是对风险管理的技术和实践缺乏了解。
因此,我们认为很有必要对风险管理进行研究。
一、风险管理概述1.1软件项目风险IEEE给出了风险的定义:一种事件、状态发生的可能性,这种可能性会带来严重的后果或者潜在的问题。
风险是一种客观存在,风险与效益同存,只有正视风险才能有效地规避风险。
而软件风险是软件项目管理和开发所出现的不确定事件,并可能会给项目计划和系统质量带来危害或损失.[1]归纳起来,软件项目风险大致可分为3类:[2]◆项目风险:潜在的预算、进度、人力、资源、客户及需求等方面的问题以及它们对软件项目的影响;◆技术风险:潜在的设计、实现、接口、验证和维护等方面的问题,威胁待开发软件的质量和交付时间;◆产品质量风险:指因软件质量问题而造成的风险,涉及各种缺陷、错误及对其进行改进维护的风险。
1.2软件项目风险管理由于软件项目开发和管理中的种种不确定性,使软件业成为高风险的产业。
有调查显示,有l5%一35%的软件项目被中途取消,剩下的项目不是超期就是超出预算,或者无法达到预期的目标。
对很多失败的软件开发项目进行事后分析说明:如果在项目刚开始时就关注于识别或解决项目中的高风险因素,那么就会很大程度地减少甚至避免这种失败。
[1]软件风险管理是一种软件工程实践,它包括过程、方法和工具。
利用这些过程、方法和工具去完成以下工作:持续评估风险、确定风险优先级、实施策略处理风险。
[1] 它是软件项目管理的一个子集。
项目管理方法的精髓是提供了一种结构化的模式,来指导项目经理进行项目管理,来分析和处理项目管理过程中的问题。
风险管理方法,也是这样的一个结构化的模式,指导项目经理展开项目风险管理方面的工作。
风险管理涉及的主要过程包括:风险识别,风险量化,风险应对计划制定和风险监控。
如图1所示,中心是风险管理过程的四部曲,外围是在风险管理过程中发生交互的相关信息。
表1中显示了风险管理四部曲常用的工具和方法。
图1:风险管理过程中与外界的信息交互◆风险识别:风险识别包括确定风险的来源,风险产生的条件,描述其风险特征和确定哪些风险事件有可能影响本项目。
风险识别不是一次就可以完成的事,应当在项目的自始至终定期进行。
◆风险量化:涉及对风险及风险的相互作用的评估,是衡量风险概率和风险对项目目标影响程度的过程。
风险量化的基本内容是确定那些事件需要制定应对措施。
◆风险应对计划制定:针对风险量化的结果,为降低项目风险的负面效应制定风险应对策略和技术手段的过程。
风险应对计划依据风险管理计划、风险排序、风险认知等依据,得出风险应对计划、剩余风险、次要风险以及为其它过程提供得依据。
◆风险监控:涉及整个项目管理过程中的风险进行应对。
该过程的输出包括应对风险的纠正措施以及风险管理计划的更新。
表1:风险管理每个步骤使用的工具和方法1.3软件项目风险管理模型如1.2所述,项目风险管理主要包含四个步骤,在这个共同的基础上有些模型强调量例如,图2典的风险管理模型。
图2:美国项目管理协会提出的风险管理模型1.4小结下面的章节主要从这几个方面展开讨论:第二章我们从历史发展的角度来看风险管理的过程,经典的风险管理模型我们将在第三章介绍,在第四章中,我们将介绍风险管理常用的研究分析方法和工具,最后概述我国的软件项目风险管理的现状,并提出几点建议。
二、软件项目风险管理发展历程[4]◆19世纪50年代,软件伴随着第一台电子计算机的问世诞生了。
早期的软件开发并无系统的方法可以遵循,软件设计是在某个人的头脑中完成的一个隐藏的过程。
大多数软件是由使用该软件的个人或机构研制的,软件往往带有强烈的个人色彩。
而且,除了源代码往往没有软件说明书等文档。
这个时期软件开发基本处于起步阶段,关于软件项目风险的管理研究工作尚未出现。
◆20世纪60年代中期到70年代中期,软件开始作为一种产品被广泛使用。
软件的数量急剧膨胀,软件需求日趋复杂,维护的难度越来越大,开发成本令人吃惊地高,而失败的软件开发项目却屡见不鲜。
“软件危机”就从这时出现了。
为了克服这一危机,在1968,1969年连续召开的两次着名的NATO会议上提出了软件工程这一术语,并在以后不断发展、完善。
◆20世纪80年代,软件已经历了程序设计、程序系统阶段,开始向软件工程阶段发展。
这一时期的开发技术和手段更加先进,对管理水平也提出了较高的要求。
并出现了软件生存周期(Life Cycle)的概念,它包括计划、需求分析、设计、程序编写、测试和运行维护6个步骤。
由于软件危机而引发出的一些对软件负面的结论,因此就存在软件风险问题。
1989年由IEEE出版Barry W.Boehm编写的《Software Risk Management》(软件风险管理)是第一本比较深人地专门探讨风险管理的书籍。
随后,越来越多的机构开始研究软件项目风险管理。
其中美国卡内基一梅隆大学的软件工程研究SEI (Software Engineering Institution)提出T风险管理模型CRM(Continuous Risk Management),还多次举行研究软件风险管理的年会,一些院校也将风险管理纳人软件项目管理中进行讲授。
◆20世纪90年代至今,以网络计算为特征的信息高速公路得到了很快地发展。
软件不仅在规模上快速地发展扩大而且其复杂性也急剧增加,开发的成本和进度变得更加难以预料。
软件开发成功与否已不再仅是技术上的问题。
软件项目管理的地位突显出来。
在此基础上,软件项目风险管理研究开始慢慢丰富起来,理论上对风险进行了一些分类,提出了风险管理的思路;实践上也出现了一些定量管理风险的方法和软件工具。
是否具有专门的风险管理已经成为判断一个软件开发组织成熟与否的主要指标之一。
ISO提出的SPICE(Software Process Improvement Capability Determination)将风险管理作为评估的一部分。
国内学者对软件项目风险的研究也日趋丰富起来,在软件项目管理相关书籍中开始将风险管理作为单独一章,进行探讨。
图3:软件项目风险管理发展历程三、经典风险管理模型3.1 Boehm 和Charette 的风险管理框架Boehm 用公式对风险进行定义,其中RE = P(UO)* L(UO) 表示风险或者风险所造成的影响,P(UO)表示令人不满意的结果所发生的概率,表示糟糕的结果会产生的破坏L(UO)性的程度。
Boehm 将软件项目风险管理分为风险评估和风险控制两大部分,其中风险评估又分为风险识别、风险分析和风险的优先级排序,风险控制又分为风险管理计划、风险解决和风险监控。
Boehm 思想的核心是10大风险因素列表。
虽然其理论存在一些不足,但Boehm毕竟是软件项目风险管理的开创者。
在其之后,更多的组织和个人开始了对风险管理的研“软件危机”就从这时出现了。
为了克服这一危机,提出了“软件工程”这一术语 出现专门关于软件风险管理的书籍,越来越多的机构开始研究风险管理 理论上对风险进行了一些分类,提出了风险管理的思路;实软件项目风险的管理研究工究,软件项目风险管理的重要性日益得到认同。
软件项目风险管理的另一位创始人Charete构建的风险管理框架圈,则直接将其分为风险分析和风险管理两部分,其中风险分析包括识别、估算和评价,风险管理包括计划、控制和监控.二者的理论框架如表1所示.[5]从本质上讲,二者风险管理框架基本相同.从内容上看,与其他工程项目风险管理也没有实质性差别.表2:Boehm和Charette的风险管理框架比较3.2 CMU/SEI的CRM持续风险管理模型CMU/SEI的软件风险管理原则包括:全局观点积极的策略开放的沟通环境综合管理持续的过程共同的目标协调工作具体来说是要:不断地评估可能造成恶劣后果的因素决定最迫切需要处理的风险实现控制风险的策略评测并确保风险策略实施的有效性CRM模型要求在项目生命期的所有阶段都关注风险识别和管理,它将风险管理划分为五个步骤:风险识别分析计划跟踪控制它强调的是对风险管理的各个组成部分的沟通.(如图4)图4:CRM风险管理模型3.3 Riskit方法如果组织在项目早期采用系统化的风险管理过程和技术,那么组织就有能力避免很多问题。