版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件项目管理第7章项目风险管理KerryZhuZhu.Kerry@G/Kerryzhu很多时候,在市场压力或领导的强迫下,项目经理/组开始死亡之旅,走向失败
第7章项目风险管理7.1项目风险带来的警示7.2什么是风险管理7.3风险管理模型7.4风险识别7.5风险评估7.6风险监控和规避7.7风险管理高级技术7.8风险管理最佳实践警示一:超级战舰瓦萨号
耗资巨大、耗时3年、排水量高达一千多吨的超级战舰,在出海十分钟后就在家门口沉没
警示二:中程喷气式客机“彗星”号
正当英国准备用“彗星”号大展宏图之际,噩梦却开始了,接连出现了几次重大的空难事故警示三:管理信息系统
用了3个月完成功能开发,1个月部署和试运行,第5个月完成实际数据导入。当正式运行时,系统就出现了严重的性能问题,随后的5个月里都耗在了系统的性能调优上。关注系统的功能和用户界面,而没有关注系统的非功能特性计过程中,缺乏有经验的系统架构设计师,也没有为此召开专门的设计评审会第7章项目风险管理7.1项目风险带来的警示7.2什么是风险管理7.3风险管理模型7.4风险识别7.5风险评估7.6风险监控和规避7.7风险管理高级技术7.8风险管理最佳实践什么是风险Webster’sDictionary:风险是遭受损失、伤害、破坏的可能性。风险是不利的情况(或损失)发生的不确定性(不期望发生事件的客观不确定性)。风险是在给定情况下和特定时间内,那些可能发生的结果之间的差异,差异越大则风险越大。
具有不确定性,必然发生的事情不是风险。不期望发生的事情。客观存在的,不以人的意志为转移。是相对的,尽管风险是客观存在的,但它却依赖于决策目标。主要取决于两个要素:行动方案和未来环境状态。项目风险的特点一个事件概率影响原因征兆所有者项目风险函数表达式项目风险具有不同的组成要素,如项目不希望发生的事件、事件发生的概率、事件的后果等。每个项目的风险可定义为不确定性和后果的函数:风险=f(事件,不确定性,后果)风险=f(事故,安全措施)降低风险的思路损失概率(可能性)风险增大高度风险区中度风险区低度风险区什么是风险管理?未来是我们所关心的——什么样的风险会导致软件项目彻底失败呢?改变也是我们所关心的——用户需求、开发技术、目标计算机、以及所有其他与项目相关的因素的改变将会对按时交付和总体成功产生什么影响呢?最后,我们必须抓住机会——我们应该采用什么方法及工具?需要多少人员参与工作?对质量的要求要达到什么程度才是“足够的”?定义软件风险管理为“试图以一种可行的原则和实践,规范化地控制影响项目成功的风险,其目的是辨识、描述和消除风险因素,以免它们威胁软件的成功运作”
项目风险管理是指对项目风险从识别到分析乃至采取应对措施等一系列过程,包括风险识别、风险量化、风险对策和风险监控,从而将积极因素所产生的影响最大化和使消极因素产生的影响最小化,或者说达到消除风险、回避风险和缓解风险的目的。
风险管理的涵义根据美国项目管理学会(PMI)的报告,风险管理有三个涵义:
系统识别和评估风险因素的形式化过程。识别和控制能够引起不希望的变化的潜在领域和事件的形式、系统的方法。在项目期间识别、分析风险因素,采取必要对策的决策科学和决策艺术的结合。
项目风险管理内容RiskManagementPlanning-风险管理计划RiskIdentification-风险识别QualitativeRiskAnalysis-风险定性分析QuantitativeRiskAnalysis-风险定量分析RiskResponsePlanning-风险应对计划Riskmonitoringandcontrol-风险监控风险管理的内容风险管理过程应对风险的基本措施规避。通过变更项目计划消除风险或风险的触发条件,使目标免受影响。转移。不能消除风险,而是将项目风险的结果连同应对的权利转移给第三方。弱化。将风险时间的概率或结果降低到一个可以接受的程度,其中降低发生的概率更为有效。接受。不改变项目计划,而考虑发生后如何应对第7章项目风险管理7.1项目风险带来的警示7.2什么是风险管理7.3风险管理模型7.4风险识别7.5风险评估7.6风险监控和规避7.7风险管理高级技术7.8风险管理最佳实践Boehm模型
CMMI模型MSF模型分析和排优先级主要风险列表Topn
Risks计划和进度安排识别风险描述控制l学习风险知识库,
概念和过程跟踪和报告TOPN风险示例表
本周上周
总周数
风险
风险解决的情况
115需求的逐渐增加利用用户界面原型来收集需求;将需求说明书置于明确的变更控制程序之下;运用分阶段交付的方法245有多余的需求或开发人员项目计划书明确说明软件中不需要包含哪些东西设计的重点放在最小化用检查表完成设计评审324发布的软件质量低开发用户界面原型,更好验证用户的需求对所有的需求、设计和代码进行技术评审;制定测试计划,以确保系统测试能测试所有的功能;系统测试由独立的测试员来完成433开发和测试人员之间的摩擦建立以质量为中心的企业文化采用敏捷方法,建立合适的流程加强沟通Riskit模型
提供风险的明确定义:损失的定义建立在期望的基础上,即项目的实际结果没有达到项目相关者对项目的期望的程度;明确定义目标、限制和其它影响项目成功的因素采用图形化的工具Riskit分析图对风险建模,定性地记录风险;使用应用性损失的概念排列风险的损失;不同相关者的观点被明确建模。第7章项目风险管理7.1项目风险带来的警示7.2什么是风险管理7.3风险管理模型7.4风险识别7.5风险评估7.6风险监控和规避7.7风险管理高级技术7.8风险管理最佳实践7.4风险识别7.4.1软件风险因素7.4.2风险的分类7.4.3风险识别的输入7.4.4风险识别的方法和工具7.4.5如何更好地识别风险政府客户供货商分包商潜在的客户最终用户项目经理团队发起人竞争者组织集中管理同事其他的项目自然环境项目风险来源人员时间资金技术其他要素信用风险项目参与方的信用及能力建设和开发风险自然资源和人力资源项目生产能力和效率投资成本竣工延期不可抗力市场和运营风险市场竞争市场准入市场变化技术变化经营决策失误金融风险汇率、利率变动通货膨胀贸易保护政治风险体制变化政策变化法律法规变化法律风险有关法律法规不完善对有关法律法规不熟悉法律纠纷及争议难以解决环境风险常见的项目风险因素软件风险因素风险的分类内在风险和外在风险需求风险、设计风险、编程风险、测试风险和维护风险技术风险、管理风险、人员风险和组织风险进度风险、成本风险和质量风险风险分类之二后果:纯粹风险、投机风险(损失或获利)来源:自然风险、人为风险形态:静态、动态可否管理:可管理、不可管理影响范围:局部、全局承担者:政府、投资、业主、承包商、供应商、担保等软件项目的各类风险组织和管理风险
需求风险合同风险项目计划方面的风险设计和实施(包括编程、测试)风险人员风险过程风险风险识别的输入清楚项目产品的特性需求以及项目范围在项目计划过程中,特别是工作量/进度估算中去识别风险项目历史数据是最好的输入之一各阶段典型风险事件启动阶段计划阶段执行阶段收尾阶段缺少相应专业的专家对需求界定不清没有做可行性研究目标不清没有风险管理计划仓促计划缺少管理层支持职能界定差项目队伍缺乏经验人员技能不够材料短缺人员误工天气影响范围改变项目进度改变环境要求没有适当的控制体系产品或服务质量差客户不能接受成果现金流出现问题风险发生最高时期风险影响最高时期机会和风险得失量时间各阶段典型的风险事件风险价值风险识别的方法和工具头脑风暴
风险库
检查表
如何更好地识别风险?不妨多问问几个问题不断维护/更新风险清单逐个审视项目的前提、假设和制约因素找到类似的先例第7章项目风险管理7.1项目风险带来的警示7.2什么是风险管理7.3风险管理模型7.4风险识别7.5风险评估7.6风险监控和规避7.7风险管理高级技术7.8风险管理最佳实践7.5风险评估7.5.1风险度量的内容7.5.2风险分析技术传统行业分析评估示例风险分析风险度量的内容风险发生的可能性度量
风险发生后果度量
风险影响范围度量
风险发生时间度量
风险危害=可能性×后果严重程度×范围风险发生的概率和影响示例风险概率影响关键设计者转到另外项目中高在验收前用户改变高中不可能得到领域专家做分析高高平台有大量错误非常低高硬件进口过度地延期高高人员连续性低于平均水平高中开发过程不合适非常低低风险评估级别示例风险分析技术情景分析和专家决策方法损失期望值法,评分矩阵
模拟仿真法,数学模拟或系统模型风险评审技术(VentureEvaluationReviewTechnique,VERT),网络仿真系统
敏感性分析法AHP法风险分解过程工作描述工作分解结构(工作包)风险分类与辨识构造风险层次框架图构造因素因子判断矩阵,利用专家评判求出重要性权重值构造子因素风险危害程度判断矩阵,求出子因素风险危害程度值一致性检验求出每一工作包的风险度项目总风险决策与管理NOYESAHP法(风险清单)示例WBS#风险事件概率影响严重度评级1.1用户界面不够友好0.5客户不满意中32.1需求不够明确0.7功能不满足要求高23.1设计不合理0.6性能、可靠性存在隐患高24.2测试不完全0.8用户发现缺陷高15.2文档没有写作0.4维护困难中4第7章项目风险管理7.1项目风险带来的警示7.2什么是风险管理7.3风险管理模型7.4风险识别7.5风险评估7.6风险监控和规避7.7风险管理高级技术7.8风险管理最佳实践7.6风险监控和规避7.6.1风险应对7.6.2风险监控风险变化趋势图尽早识别风险、尽早采取应对实施风险应对避免风险的最好方法是不继续执行项目,需要判断是否值得承担这么多风险来取得项目的收益规避风险可以设置几道防线让最有能力控制风险的一方承担风险应该尽量把风险分配给那些受风险影响最小的方面技术性措施应体现可行、适用、有效性原则组织管理性措施主要是贯彻综合、系统、全方位原则和经济、合理、先进性原则经济性措施主要有合同方案设计、保险方案设计、管理成本核算等风险监控过程风险监控可以通过设置控制基线来实现,即确定各类风险的阈值或警戒线防微杜渐
风险监控措施建立并及时更新项目风险列表及风险排序风险应对审计对突发的风险或“接受”风险采取适当的应变措施建立报告机制,及时将项目中存在的问题反映到项目管理层。定期召集项目干系人对风险状况进行评估,以发现新风险引入第三方咨询,定期对项目进行质量检查,以防范大的风险。第7章项目风险管理7.1项目风险带来的警示7.2什么是风险管理7.3风险管理模型7.4风险识别7.5风险评估7.6风险监控和规避7.7风险管理高级技术7.8风险管理最佳实践7.7风险管理高级技术7.7.1VERT技术7.7.2蒙特卡罗法7.7.3SWOT分析法7.7.4关键链技术原则、框架、流程方法风险管理的主要技术
VERT技术风险信息系统的成本分析法(RiskInformationSystemCostAnalysis,RISCA)全面风险评估成本风险网络(TotalRiskAccessingCostAnalysisNet,TRACENET)
在PERT(计划评审技术)、GERT(图形~)基础上发展起来属于数学的随机网络模型,通过带有时间、费用和性能等变量值的弧和节点,按照其相互关系连接起来的网状图
弧/活动的类别
普通弧,VERT的直接组成部分,带有以概率分布的时间、费用和性能等参数值。传送弧,仅作为各种参数通道,时间上的和先后次序的约束,但不赋参数值。自由弧,不会直接表示出来,而是被其它活动引用。排放弧,输出端,使流量通过这个活动传出系统。节点的类别
建模确定决策的环境,包括被分析系统的问题、决策目标、变量和约束条件及可接受的风险水平按工作进程与风险分析需要画出流程图在流程图的基础上绘制VERT网络图确定弧和节点的数据,并在仿真运行中加以检验和修正著名的投针实验Buffon'sNeedle
/stat/objects/experiments/BuffonNeedleExperiment.xhtml
蒙特卡罗法
对每一项活动,输入最小、最大和最可能估计数据,并为其选择一种合适的先验分布模型;根据上述输入,利用给定的某种规则并通过计算机进行充分大量的随机抽样;根据概率统计原理,对随机抽样的数据进行处理和计算(Max/Min/Average/σ)自动生成(累积)概率分布曲线依据累积概率曲线进行项目风险分析随机模拟方法,统计实验计算法示例示例二SWOT分析法内部因素外部因素SWOT示例积极消极
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论