0服务外包软件项目组织与管理八朱建凯1引言-软件项目中的风险不断变换的需求低劣的计划和估算不可信赖的承包人欠缺的管理经验人员问题技术失败政策的变化性能欠佳。。。2引言Rothfeder1988:对600家成功的公司调查,35%有项目失控的经历Jones1991:大型项目按时完成的概率几乎为0,被取消的概率与赌博一样TomGilb:如果你不主动地击败风险,他们就会主动击败你的3软件项目管理第八章软件项目风险管理4本章要点一、软件项目风险基本概念二、软件项目风险管理的过程三、软件项目风险管理计划四、案例分析5风险的定义损失发生的不确定性;对潜在的,未来可能发生损害的一种度量,如果它确实发生了,则它的发生会对项目产生有害的或者负面的影响6项目风险的三要素1.触发的事件2.事件发生的概率3.事件的影响7风险图示项目风险8风险类型预测角度已知风险-Knownknown可预测风险-Knownunknown不可预测风险-unknownunknown范围角度人员风险、开发环境风险技术风险、产品风险、过程风险商业风险、管理风险、客户风险9风险的基本性质风险的客观性风险的不确定性风险的不利性风险的可变性风险的相对性风险同利益的对称性10本章要点一、软件项目风险基本概念二、软件项目风险管理的过程三、软件项目风险管理计划四、案例分析11风险管理的四个过程风险识别评估风险的概率评估风险的损害风险监控制定风险应对计划121--风险识别风险识别是试图通过系统化地确定对项目计划的威胁,识别已知和可预测的风险。13风险识别输入标识风险按照一定的标准对风险分类排序评审风险风险表14方法及工具德尔菲方法头脑风暴法情景分析法面谈法风险条目检查表15风险条目检查表检查表法是利用检查表作为风险识别的工具检查表法是根据风险要素建立软件项目的风险条目列表列表中列出所有与风险因素有关的提问可以使管理者集中识别常见的类型中的已知和可预测的风险有研究表明:IT项目常常存在一些共同的风险源16基于关键域的风险识别检查表1.产品规模2.商业影响3.需求相关4.客户相关5.过程定义6.开发技术7.开发环境8.人员数目及经验17风险条目检查表举例(1)代号风险类别风险内容相关说明XQ01需求风险对软件缺少清晰的认识在软件项目早期忽视了这些不确定性,并且在软件项目进展过程当中得不到解决,如果不控制与需求相关的风险因素,那么时间拖越长,将来的弥补所付出的成本越大、风险也越大。XQ02对产品需求缺少认同XQ03做需求分析时客户参与不够XQ04客户没有优先需求XQ05缺少有效的需求变化管理过程XQ06对需求的变化缺少相关分析GL01管理风险计划和任务定义不够充分定义了项目追踪过程并且明晰项目角色和责任,就能处理这些管理风险因素。GL02实际项目状态不够明确GL03项目所有者和决策者分不清GL04对用户不切实际的承诺GL05员工之间的冲突18风险条目检查表举例(2)代号风险类别风险内容相关说明JS01技术风险缺乏相关技术培训软件技术的飞速发展和经历丰富员工的缺乏,意味着项目团队可能会因为技术的原因影响软件项目的成功JS02对方法、工具理解得不够JS03应用领域的经验不够JS04出现新的技术和开发方法WB01外部风险与外部转包商的关系不明确无法很好地控制外部的相关性,但可识别和预防。WB02不可抗力因素的存在WB03相关政策、法规的稳定性不够192--风险评估确定风险发生概率的估计和评价,项目风险后果严重程度的估计和评价,项目风险影响范围的分析和评价,以及对于项目风险发生时间的估计和评价。20风险评估分析风险发生的概率,确定发生的可能性(P)风险后果,发生后对项目目标的影响(I)风险值,风险的严重程度R=F(P,I)21风险评估确定优先次序按风险的严重性排序确定最需要关注的TOP10风险22风险评估的方法-定性风险评估定性评估风险概率及后果23风险概率风险概率值:没有可能(0)确定(1)风险概率度量:高、中、低极高、高、中、低、极低不可能,不一定,可能和极可能等等24风险后果(影响)风险后果风险影响项目目标的严重程度从无影响到无穷大风险后果度量高、中、低极高、高、中、低、极低灾难,严重,轻微,可忽略等等25风险概率及后果估计-矩阵图PRILowMediumHighHighLHHMediumLHHLowLMM26风险评估的方法-定量风险评估1.盈亏平衡分析2.模拟3.访谈4.决策树分析5.量化风险条目检查表6.。。。。。。27访谈确定概率分布模型领域专家访谈,信息采集28举例-基于正态分布进度风险评估-2SD+2SD-3SD-1SD+1SD+3SD68.3%95.5%99.7%ET=E+1SD=13.5+1.07=14.5P=50%+68.3%/2=85%29决策树分析决策树分析是一种图表分析方法提供项目所有可供选择的行动方案,行动方案之间的关系,行动方案的后果以及发生的概率提供选择一个最佳的方案的依据30决策树分析与EMV(ExpectedMonetaryValue)损益期望值是决策树的一种计算值根据风险发生的概率计算出一种期望的损益例如:某行动方案成功的概率是50%,收益是10EMV=10*50%=531决策树分析例子—风险值?EMV=0失败:P=30%,outcome=-200,000成功:P=70%高性能:P=30%,outcome=550,000EMV=550,000*30%=165000低性能:P=70%,outcome=-100,000EMV=-100,000*70%=-70000EMV=95,000*70%=66500实施后:EMV=6,500不实施EMV=-200,000*30%=-6000032决策树分析例子33课堂练习利用决策树风险分析技术来分析如下两种情况的,以便决定你会选择哪种方案:(要求画出决策树)方案1:随机投掷硬币两次,如果两次投掷的结果都是硬币正面朝上,你将获得10元;投掷的结果背面每朝上一次你需要付出1.5元。方案2:随机投掷硬币两次,你需要付出2元;如果两次投掷的结果都是硬币正面朝上,你将获得10元。34课堂练习课堂练习0.25*10=2.5元0.5*-1.5=-0.75元0.25*-3=--0.75元GameA:EMV=10.25*8=2元0.5*-2=-1元0.25*-2=-0.5元GameB:EMV=0.510元-1.5元8元=10-2-2元-2元-3元35量化检查表36McFarlan’sRiskQuestionnaire1.Whatistheprojectestimateincalendar(elapsed)time?()12monthsorlessLow=1point()13monthsto24monthsMedium=2points()Over24monthsHigh=3points2.Whatistheestimatednumberofpersondaysforthesystem?()12to375Low=1point()375to1875Medium=2points()1875to3750Medium=3points()Over3750High=4points3.Numberofdepartmentsinvolved(excludingIT)()OneLow=1point()TwoMedium=2points()ThreeormoreHigh=3points4.Isadditionalhardwarerequiredfortheproject?()NoneLow=0points()CentralprocessortypechangeLow=1point()Peripheral/storagedevicechangesLow=1()TerminalsMed=2()Changeofplatform,forexampleHigh=3PCsreplacingmainframes37排序输入风险事件可能性影响风险值采取的措施1系统设计评审没有足够的时间进行产品测试70%50%35%2WBS对需求的开发式系统标准没有合适的测试案例20%80%16%3需求和计划采用新技术可可能导致进度的延期50%30%15%。。。风险评估结果实例383--风险规划针对风险分析的结果,为提高实现项目目标的机会,降低风险的负面影响而制定风险应对策略和应对措施的过程,即制定一定的行动和策略来对付、减少、以至于消灭风险事件39风险规划的主要策略1.回避风险2.转移风险3.损失控制4.自留风险40-回避风险回避风险是对所有可能发生的风险尽可能的规避,采取主动放弃或者拒绝使用导致风险的方案例如放弃采用新技术41-回避风险注意事项对风险有足够的认识当其他风险策略不理想的时候,可以考虑可能产生另外的风险不是所有的情况都适用的42-转移风险转移风险是为了避免承担风险损失,有意识将损失或与损失有关的财务后果转嫁出去的方法:例如出售分包开脱责任合同保险43-损失控制n损失预防损失抑制44-自留风险由项目组织自己承担风险事故所致损失的措施。自留风险的类型主动自留风险和被动自留风险全部自留风险和部分自留风险45实例人员的频繁流动是一项风险,基于过去的历史和管理经验,频繁流动可能性的估计值为70%,开发时间增加15%,总成本增加12%,为了缓解这一风险,项目经理是采取的策略:46实例-采取的策略与现有人员讨论人员流动的原因项目启动时,做好会出现人员流动的准备,采取一些技术以确保人员的一旦离开后,项目仍然能继续建立良好的项目组织和通信渠道,以使大家能够了解每个有关的开发活动的信息指定文档标准并建立相应的机制,以保证文档能够及时建立对所有工作组织细致的评审,使大多数人能够按计划进度完成自己的工作47风险管理应对计划排序输入风险事件可能性影响风险值采取的措施1系统设计评审没有足够的时间进行产品测试70%50%35%1.采取加班的方法2.修改计划去掉一些任务3.与客户商量延长一些时间2WBS对需求的开发式系统标准没有合适的测试案例20%80%16%找专业的测试公司完成测试工作3需求和计划采用新技术可可能导致进度的延期50%30%15%1.培训开发人员2.找专家作指导3.采取边开发边学习的方法,要求他们必须在规定的时间内掌握技术。。。484--控制风险-项目跟踪控制实施和跟踪风险管理计划,保证风险计划的执行,评估削减风险的有效性。针对一个预测的风险事实上是否发生了,确保针对某个风险而制定的风险消除步骤正在合理使用监视剩余的风险和识别新的风险,收集可用于将来的风险分析信息49本章要点一、软件项目风险基本概念二、软件项目风险管理的过程三、软件项目风险管理计划四、案例分析50风险管理计划风险应对计划(top10清单)岗位职责时间预算追踪等等51任务可能的风险产生的阶段产生的原因避免的措施发生后的处理制定设计阶段的规范和标准时间风险项目准备需制定的规范和标准较多,而同时需完成其他工作,使得可使用的时间和资源有限开发环境确认资源风险系统设计由于设备未到位导致延误开发管理系统设计技术风险系统设计基于TeMIP平台开发SDH专网管理系统对于公司乃至国内都是全新的课题,由于技术的掌握程度和经验的欠缺在系统设计前请TeMIP专家进行相关培训对功能规格和系统设计的调整时间风险α0版本开发评测结果对功能规格和系统设计影响较大α0版本开发时间风险α0版本开发由于学习曲线过长延误时间系统测试资源风险α0版本开发开发人员与SQA人员对工作站和服务器使用的争夺MD现场调试资源风险α1版本开发由于设备问题延误现场调试现场运行环境确认资源风险α2版本开发由于设备问题延误验收测试的进行任务可能的风险产生的阶段产生的原因避免的措施发生后的处理制定设计阶段的规范和标准时间风险项目准备需制定的规范和标准较多,而同时需完成其他