- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
软件工程风险管理
一、风险管理概述
软件风险是指软件开发过程中及软件产品本身可能造成的伤害或损失。风险关注未来的事情,这意味着,风险涉及选择及选择本身包含的不确定性,在软件开发过程及软件产品都要面临各种决策的选择。风险是介于确定性和不确定性之间的状态,是处于无知和完整知识之间的状态。另一方面,风险将涉及思想、观念、行为、地点等因素的改变。
当在软件工程领域考虑风险时,我们要关注以下的问题:什么样的风险会导致软件工程的彻底失败?用户需求、开发技术、目标计算机、以及所有其它与工程有关的因素的改变将会对按时交付和总体成功产生什么影响?对于采用什么方法和工具,需要多少人员参与工作的问题,我们如何选择和决策?对软件质量要到达什么程度才是“足够的”?
当没有方法消除风险,甚至连试图降低该风险也存在疑问时,这些风险就是真正的风险了。在我们能够标识出软件工程中的真正风险之前,识别出所有对管理者和开发者而言均为明显得风险是很重要的。
二、被动和主动的风险策略
被动风险策略是针对可能发生的风险来监督工程,直到它们变成真正的问题时,才会拨出资源来处理它们,更普遍的是,软件工程组对风险不闻不问,直到发生了错误才赶紧采取行动,试图迅速地纠正错误。这种管理模式常常被称为“救火模式”。当补救的努力失败后,工程就处在真正的危机之中了。
对于风险管理的一个更聪明的策略是主动式的。主动策略早在技术工作开始之前就已经启动了――标识出潜在地风险,评估它们出现的概率及产生的影响,对风险按重要性进行排序,然后,软件工程组建立一个方案来管理风险。主动策略风险管理的主要目标是预防风险。但是,因为不是所有的风险都能够预防,所以,工程组必须建立一个应付意外事件的方案,使其在必要时能够以可控的及有效的方式作出反响。
三、软件风险
1、软件风险包含两个特征:
不确定性——刻划风险的事件可能发生也可能不发生,没有100%发生的风险。
损失——如果风险变成了现实,就会产生恶性后果或损失。
2、进行风险分析时,重要的是量化不确定的程度和与每个风险相关的损失的程度。
为了实现这点,必须考虑以下几种不同类型的风险:
工程风险:工程风险是指潜在的预算、进度、人力〔工作人员和组织〕、资源、客户、需求等方面的问题以及它们对软件工程的影响。工程风险威胁工程方案,如果风险变成现实,有可能会拖延工程的进度,增加工程的本钱。工程风险的因素还包括工程的复杂性、规模、结构的不确定性。
技术风险:是指潜在地设计、实现、接口、验证和维护等方面的问题。此外规约的二义性、技术的不确定性、陈旧的技术、以及“过于先进”的技术也是风险因素。技术风险威胁要开发的软件的质量及交付时间。如果技术风险变成现实,那么开发工作可能变得很困难或者不可能。
商业风险:商业风险威胁到要开发软件的生存能力。商业风险常常会危害工程或产品。
五个主要的商业风险是:
〔1〕开发一个没有人真正需要的优秀产品或系统〔市场风险〕;
〔2〕开发的产品不再符合公司的整体商业策略〔策略风险〕;
〔3〕建造了一个销售部门不知道如何去卖的产品;
〔4〕由于重点的转移或人员的变动而失去了高级管理层的支持〔管理风险〕;
〔5〕没有得到预算或人力上的保证〔预算风险〕。
3、风险分为以下方式:
〔1〕风险,是通过仔细评估工程方案、开发工程的商业及技术环境、以及其它可靠的信息来源〔如:不现实的交付时间,没有需求或软件范围的文档、恶劣的开发环境〕之后可以发现的那些风险。
〔2〕可预测风险,能够从过去工程的经验中推测出来〔如:人员调整,与客户之间无法沟通,由于需要进行维护而使开发人员精力分散〕。
〔3〕不可预测风险,它们可能、也会真的出现,但很难事先识别出它们来。
四、识别风险
识别风险是试图系统化地确定对工程方案〔估算、进度、资源分配〕的威胁。通过识别和可预测的风险,工程管理者就有可能防止这些风险,且当必要时控制这些风险。
每一类风险可以分为两种不同的类型:一般性风险和特定产品的风险。一般性风险对每一个软件工程而言都是一个潜在地威胁。特定产品的风险只有那些对当前工程的技术、人员、及环境非常了解的人才能识别出来。为了识别特定产品的风险,必须检查工程方案及软件范围说明,从而了解本工程中有什么特殊的特性可能会威胁到工程方案。
一般性风险和特定产品的风险都应该被系统化地标识出来。识别风险的一个方法是建立风险条目检查表。该检查表可以用来识别风险,并可以集中来识别以下常见子类型中的及可预测的风险:
产品规模——与要建造或要修改的软件的总体规模相关的风险。
商业影响——与管理或市场所加诸的约束相关的风险。
客户特性——与客户的素质以及开发者和客户定期通信的能力相关的风险。
过程定义——与软件过程被定义的程度以及它们被开发组织所遵守的程度相关的风险。
文档评论(0)