软件工程课件:6-第六讲(1).ppt

上传人(卖家):罗嗣辉 文档编号:2046133 上传时间:2022-01-21 格式:PPT 页数:57 大小:475KB
下载 相关 举报
软件工程课件:6-第六讲(1).ppt_第1页
第1页 / 共57页
软件工程课件:6-第六讲(1).ppt_第2页
第2页 / 共57页
软件工程课件:6-第六讲(1).ppt_第3页
第3页 / 共57页
软件工程课件:6-第六讲(1).ppt_第4页
第4页 / 共57页
软件工程课件:6-第六讲(1).ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、毛新军毛新军http:/ 计算机科学与技术系计算机科学与技术系602教研室教研室 0731-(45)73649软件项目管理课程软件项目管理课程 之之Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理21.项目案例2.什么是软件风险?3.如何进行风险管理?4.风险评估5.风险控制6.小结Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理3案例角色和人物小王:软件项目负责人小王:软件项目负责人老王:公司技术老总老王:公司技术老总开发小组:小李,老赵,小田,小谢开发小组:小李,老赵,小田,小谢Copyri

2、ght Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理4n项目已成功实施1个月,某天小谢突然告诉小王,他已办理好了去德国的签证,2周后他会辞职离开公司前往德国留学 (人员) 小谢的离开显然将会影响项目组的正常运作,影响项目的进度,为此将会给项目的实施带来损失 可以想象,2周以后小谢的离开将会带来一系列问题:谁来接替小谢的工作?在此之前谁来负责交接小谢的工作?如何尽可能的避免由此给项目组带来的损失(包括进度损失和工作损失等) 尽管还没发生,但必须考虑如何避免问题的发生,以及一旦发生后该采取得措施,以便将损失减少到最少Copyright Xinjun Mao 200

3、5第第6讲讲 软件开发的风险管理软件开发的风险管理5n按照软件开发计划,需求分析应该在12月31日之前完成,然而在软件项目实施过程中项目经理发现,由于原先对工作量估算过于乐观,需求分析在12月31日之前已经不可能完成(计划) 显然,原先计划制定的不科学和不准确,导致了实施过程中进度难以控制,如果强行按照计划来执行显然是不可行的,为此,必须对计划重新进行分析和调整Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理6n在软件设计阶段,软件设计负责人老王发现,用户需求中的某项需求(例如,将已有word文档的内容显示在Web页面上)至今尚未找到解决的技术

4、途径(技术) 显然,该问题将直接影响软件项目的后续开发工作,影响到软件项目能否成功完成Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理7n在需求分析过程中,老王带领的需求分析小组和用户在进行交流的过程中发生了矛盾,出现了争吵,用户方说将不再配合需求分析小组的工作,而且他们确实没有配合开发方的工作(合作) 显然,开发方和用户方出现这种状况显然是双方没有想到的 这种状况延续下去必将对软件项目的实施产生影响,影响软件项目的进度,甚至会导致项目失败Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理8n风险

5、在项目实施过程中大量存在n软件风险形式多样n软件风险事先难以确定n软件风险会对软件项目的实施产生不良影响n如果不对风险进行良好的管理,项目就很难保证按照计划、在成本和进度范围内,开发出高质量的软件产品,甚至会导致项目失败Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理9n什么是软件风险?n有哪些形式的软件风险?n如何管理软件风险?Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理101.项目案例2.什么是软件风险?3.如何进行风险管理?4.风险评估5.风险控制6.小结Copyright Xinju

6、n Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理11n什么是软件风险? 使软件项目的实施受到影响和损失、甚至导致失败的、可能会发生的事件 例如,人员的临时流失,计划过于乐观,设计的低劣n软件风险的特点 事先难以确定 带来损失,影响项目实施,甚至会导致项目失败Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理121.项目案例2.什么是软件风险?3.如何进行风险管理?4.风险评估5.风险控制6.小结Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理131.什么是风险管理?2.风险进行

7、管理的方式3.如何进行风险管理?Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理14n在风险影响软件项目成功实施前,对它进行识别和处理,并预防和消除风险的发生 识别风险(会有哪些风险?) 预防和消除风险(最好别让风险发生) 制定风险发生后的处理措施(万一发生该怎么办?)Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理15n危机管理 救火模式,风险造成麻烦后才着手进行处理 例如,小谢离开公司1个月后,其他小组需要小谢所负责子系统的模块以便进行集成和测试,但是相关代码还没写,此时已经影响其他小组计划

8、和项目进度,为此抽调其他人接替小谢工作n失败处理 察觉到了风险之后采取措施,但只是在风险发生之后 例如,小谢出走的第二天,公司决定抽调其他人员来接替n风险缓解 识别了风险,并且事先制定好风险发生后的补救措施,但是不做任何防范措施。 例如,知道不好事件可能会发生,等它发生。小谢要走,小张接替Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理16n风险预防 将风险识别和风险防范作为软件项目的一部分加以规划和执行 例如,知道哪些不好事件可能会发生,制定好了万一发生的应对措施,同时采取措施防止它发生。 小谢要走,小张接替,同时和小谢商量,做工作,能否等到

9、项目完成之后再走n消灭根源 识别和消除可能产生风险的根源 例如,知道哪些不好事件可能会发生,制定好了万一发生的应对措施,同时采取措施消除风险根源,杜绝风险的发生 小谢要走,小张接替,同时给小谢提供更多的学习机会Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理17风险管理风险管理风险评估风险评估风险控制风险控制风险识别风险识别风险分析风险分析风险优先级风险优先级风险管理计划风险管理计划风险化解风险化解风险监控风险监控Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理18n风险评估 风险识别:识别风险

10、,形成风险列表 风险分析:判定每一个风险出现的概率、产生的影响及其重要性 风险优先级:按照每个风险的重要性排出一个风险优先级n风险评估是风险控制的基础Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理19n风险控制 风险管理计划:针对各个重要风险制定风险管理计划,确保各个单独的风险管理计划之间以及它们与相互计划之间的一致性 风险化解:执行风险管理计划,以缓解或消除风险 风险监控:监控风险化解的过程,可能会识别出新的风险Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理201.项目案例2.什么是软件风

11、险?3.如何进行风险管理?4.风险评估5.风险控制6.小结Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理211.风险识别2.风险分析3.风险优先级Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理22n风险的类别 计划编制 组织和管理 开发环境 最终用户 客户 承包商 需求 产品外部环境 人员 设计和实现 过程Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理23n计划、资源和产品的定义完全由客户或上层领导决定,忽略了项目组的意见,并且这些决定不完

12、全一致n计划忽略了必要的任务和活动n计划不切实际n计划基于特定小组成员,而这样的小组成员根本得不到n产品规模估算过于乐观n工作量估算过于乐观n进度的压力造成生产率的下降n目标日期提前,但没有相应地调整产品范围和可用资源n一个关键任务的延迟导致其他相关任务的连锁反应nCopyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理24n缺乏强有力、有凝聚力的领导(项目组、企业)n解雇员工导致项目小组能力下降n削减预算打乱项目计划n仅由管理层和市场人员进行技术决策,导致进度延长n低效的项目组组织结构降低生产率n管理层审查/决策的周期比预期时间长n管理层作出了打击项

13、目组积极性的决定n非技术的第三方的工作比预期要长(如, 采购硬件设备)n计划性太差,无法适应期望的开发速度n项目计划由于压力而放弃,导致开发混乱n管理方面的英雄主义,忽视客观确切的状态报告,降低发现和改正问题的能力Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理25n设施不能及时到位n设施到位,但不配套n开发工具未能及时到位n开发工具不如期望的那样有效,开发人员需要更多的时间,或者更换工具n开发工具的学习期比预期的要长n开发工具的选择不是基于技术需求,不能提供计划要求的功能Copyright Xinjun Mao 2005第第6讲讲 软件开发的

14、风险管理软件开发的风险管理26n最终用户坚持新的需求n最终用户对最后交付的产品不满意,要求重新设计和重做n最终用户不买进项目产品,无法提供后续支持n最终用户的意见未被采纳,造成产品最终无法满足用户要求Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理27n客户坚持新的需求n客户对规划、原型和规格的审核/决策超出预期n客户没有参与规划、原型和规格的审核,导致需求不稳定,以及长时间的变更n客户答复的时间比预期的要长n客户坚持技术决策而导致计划延长n客户对开发进度管理过细,导致实际进度变慢n客户提供的组件无法与开发的产品匹配,导致需要额外的设计和集成工

15、作n客户提供的组件质量欠佳,导致额外的测试、设计或者功能不完善Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理28n客户要求的支持工具与环境不兼容,性能差或者不完善,导致生产率降低n客户不接受交付的软件,尽管它满足了所有的规格n客户期望的开发速度是开发人员所无法达到的Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理29n承包商没有按照承诺交付产品n承包商提供的产品质量低下,必须花时间改进质量n承包商提供的产品性能达不到要求Copyright Xinjun Mao 2005第第6讲讲 软件开发的风

16、险管理软件开发的风险管理30n需求已经成为项目基准,但仍在变化n需求定义欠佳:不清晰、不准确、不一致n增加额外的需求Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理31n错误发生率高的模块,需要更多的时间对它进行测试、设计和实现n矫正质量低下的不可接受的产品需要更多的时间对它进行测试、设计和实现n由于功能错误,导致需要重新进行设计和实现n开发额外不需要的功能延长了进度n要满足产品规模和速度要求,需要更多的时间n严格要求与现有系统兼容,需要更多的时间n要求软件重用,需要更多的时间nCopyright Xinjun Mao 2005第第6讲讲 软件

17、开发的风险管理软件开发的风险管理32n产品依赖政府规章,而规章的改变不可预期n产品依赖草拟中的技术标准,而最后的标准不可预期Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理33n招聘人员所需的时间比预期要长n作为人员参与工作的先决条件(如培训、其他项目的完成等)不能按时完成n开发人员与管理层关系不佳导致决策迟缓、影响全局n项目组成员没有全身心地投入到项目中,因而无法达到所需的产品功能和性能需求n缺乏激励措施、士气低下,降低生产能力n缺乏必要的规范,增加工作失误,重复工作,降低工作质量n缺乏工作基础(语言、经验、工具等)n项目结束前,项目组成员离

18、开项目组Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理34n项目后期,加入新的开发人员,额外的培训和沟通降低了项目组成员的开发效率n项目组成员不能有效的在一起工作n由于项目组成员之间的冲突,导致沟通不畅,设计欠佳,接口错误和额外重复的工作n有问题的项目组成员没有调离项目组,影响其他成员的积极性n项目组的最佳人选没有加入项目组,或者加入项目组但没有合理使用n关键任务只能兼职参与n项目人员不足Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理35n任务的分配和人员的技能不匹配n人员工作的进展比预期的

19、要慢n项目管理人员怠工导致计划和进度失效n技术人员怠工导致工作遗漏、质量低下,工作需要重做Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理36n设计过于简单,考虑不仔细、不全面,导致重新设计和实现n设计过于复杂,导致一些不必要的工作,影响效率n设计质量低下,导致重新设计和实现n使用不熟悉的方法,导致需要额外的培训时间n产品使用低级语言编写,导致效率较低n分别开发的模块无法有效集成,需要重新设计和实现Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理37n跟踪不准确,导致无法预知项目进展是否落后于计

20、划n前期的质量保证行为不真实,导致后期的重复工作n质量跟踪不准确,导致无法得知影响进度的质量问题n不能有效遵循标准,导致沟通不足,质量问题和重复工作n风险管理粗心,导致没有发现重大的项目风险nCopyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理38编号编号 风险名称风险名称 1 计划过于乐观 2 由于要完全支持自动从主机更新数据而造成额外的需求 3 由于市场变化而需额外的需求 4 图形格式子系统接口不稳定 5 设计欠佳,需要重新设计 Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理391.评估风险发

21、生的概率2.估算风险造成损失的大小3.计算风险危险度(Risk Explosure)Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理40n主观性较强,采用方法 熟悉系统、有经验的人参与评估 多人独立评估,综合折中 采用分类:非常可能(0.8-1.0), 很可能(0.6-0.8),或许(0.40.6),不太可能(0.2-0.4),不可能(0-0.2)Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理41 编编号号 风风险险名名称称 发发生生概概率率 1 计划过于乐观 50 2 由于要完全支持自动从主

22、机更新数据而造成额外的需求 5 3 由于市场变化而需额外的需求 35 4 图形格式子系统接口不稳定 25 5 设计欠佳,需要重新设计 15 Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理42n可以基于“进度”,“成本”或者“工作量”来进行估算编号编号 风险名称风险名称 发生概率发生概率 损失损失(人周人周) 1 计划过于乐观 50 5 2 由于要完全支持自动从主机更新数据而造成额外的需求 5 20 3 由于市场变化而需额外的需求 35 8 4 图形格式子系统接口不稳定 25 4 5 设计欠佳,需要重新设计 15 15 Copyright Xi

23、njun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理43n风险危险度 = 风险概率 风险损失 编编号号 风风险险名名称称 发发生生概概率率 损损失失(人人周周) 危危险险度度(周周) 1 计划过于乐观 50 5 2.5 2 由于要完全支持自动从主机更新数据而造成额外的需求 5 20 1.0 3 由于市场变化而需额外的需求 35 8 2.8 4 图形格式子系统接口不稳定 25 4 1.0 5 设计欠佳,需要重新设计 15 15 2.25 Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理44n统计表明,项目80%成本用于解决2

24、0%的问题n风险管理重点关注20重要的部分n根据风险的危险度确定风险的重要性,忽略其他的部分Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理45编号编号 风险名称风险名称 发生概率发生概率 损失损失(人周人周) 危险度危险度(周周) 3 由于市场变化而需额外的需求 35 8 2.8 1 计划过于乐观 50 5 2.5 5 设计欠佳,需要重新设计 15 15 2.25 2 由于要完全支持自动从主机更新数据而造成额外的需求 5 20 1.0 4 图形格式子系统接口不稳定 25 4 1.0 Copyright Xinjun Mao 2005第第6讲讲

25、 软件开发的风险管理软件开发的风险管理461.项目案例2.什么是软件风险?3.如何进行风险管理?4.风险评估5.风险控制6.小结Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理471.风险管理计划2.风险化解3.风险监控Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理48n针对每一个重要的风险,制定一个处理该风险的计划 风险由谁引起 表现形式是什么 可能什么时候发生 为什么发生 如何避免或者消除它的发生 发生后的处理措施Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险

26、管理软件开发的风险管理49n例子,小谢将在项目实施过程中离开公司 *项目组的小谢 项目组成员小谢由于出国离开公司 小谢可能会在6月1日前后出国 为了进一步学习和深造 和小谢协商能否在项目结束之后(大约7月中旬)离开 如果离开,计划让小王接替他的工作,同时让小刘分担小王的一部分工作Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理50n风险化解方式 避免风险:推迟小谢的离开时间 将风险从系统的一部分转移到另一部分:让客户来做 消除发生风险的根源:加薪 发布风险:不会突然和惊讶 接受和控制风险:接受并提供处理计划,安排小王接替小谢的工作 记录风险:为

27、将来项目风险管理提供历史数据Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理51 风险描述风险描述 控制方法控制方法 人员薄弱 招募顶级人才,培训,团队建设,项目开始前招聘或预定关键成员 承包商失败 检查参考资料,外包前检查承包商的能力,积极管理承包商 设计低劣 要有清晰的设计活动和设计时间,进行设计检查 计划过于乐观 估算要科学,利用工具,借鉴历史数据 质量低劣 制定质量保证计划,落实质量保证计划,安排专人负责质量保证 Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理52n检查风险的化解程度及

28、其变化(概率、损失)n风险监控的方式 监控和跟踪重要的(前10个)风险,记录风险危险度的变化以及风险化解的进展 中间审查,在每个里程碑后进行小规模的走查 任命风险官员(适合于大项目),警告项目风险,防止项目经理和开发人员忽略计划中的风险管理Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理53 本周本周排序排序 上周上周排序排序 监控监控周数周数 风险描述风险描述 化解进展化解进展 1 1 5 功能蔓延 采取分阶段交付的方式, 需和市场人员和最终用户解释 2 5 5 设计低劣 按已定规范设计,进行审核 3 2 4 测试负责人未到位 候选人员名单已

29、经报给公司主管, 最晚将于下周确定 Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理541.项目案例2.什么是软件风险?3.如何进行风险管理?4.风险评价5.风险控制6.小结Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理55n在项目实施过程中风险大量存在n风险影响项目的成功实施,严重时可导致项目失败n必须对项目中的各种可能的风险进行管理 知道会有哪些风险:评估? 如何去缓解和消除风险,当风险发生时如何处理? 在项目实施过程中对风险进行监控Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理56n理解 软件风险及其相关概念 软件开发风险存在的必然性 在软件开发过程中进行风险管理的重要性和必要性n掌握 对软件风险进行管理的方法n运用 在软件项目开发过程中进行风险管理Copyright Xinjun Mao 2005第第6讲讲 软件开发的风险管理软件开发的风险管理57Practice, Practice, and Practice

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(软件工程课件:6-第六讲(1).ppt)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|