中小型软件项目风险控制和管理研究毕业论文.doc

上传人:laozhun 文档编号:3934013 上传时间:2023-03-28 格式:DOC 页数:40 大小:543KB
返回 下载 相关 举报
中小型软件项目风险控制和管理研究毕业论文.doc_第1页
第1页 / 共40页
中小型软件项目风险控制和管理研究毕业论文.doc_第2页
第2页 / 共40页
中小型软件项目风险控制和管理研究毕业论文.doc_第3页
第3页 / 共40页
中小型软件项目风险控制和管理研究毕业论文.doc_第4页
第4页 / 共40页
中小型软件项目风险控制和管理研究毕业论文.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《中小型软件项目风险控制和管理研究毕业论文.doc》由会员分享,可在线阅读,更多相关《中小型软件项目风险控制和管理研究毕业论文.doc(40页珍藏版)》请在三一办公上搜索。

1、本科毕业设计(论文)论文题目: 中小型软件项目风险控制和管理研究 学生姓名: 学 号: 0905170324 指导教师: 专 业: 计算机科学与技术院 系: 信息学院计算机系完成日期:2012年5月16日中小型软件项目风险控制和管理研究内 容 摘 要从上世纪90年代起,受信息化潮流和国家政策推动的作用,软件产业发展规模迅速,软件项目的科学管理问题日益突出。至今全国的软件公司约有1500家,其中中小型软件企业数占95%以上,中小型软件企业的发展也就成了我们现在着重关心的群体。风险管理与控制是软件项目的重要内容。使风险受控是软件项目风险管理的任务,理解风险、采取主动措施避免或管理风险,是一个软件项

2、目管理者应具备的基本条件,也是中小型企业在激烈的市场竞争中寻求发展的需要。本文从我国中小软件企业的软件项目管理现状出发,在分析CMM/CMMI和其他当前流行的风险管理模型的基础上,提出一种新的项目风险控制管理优化模型,并在此基础上提出风险控制方法,为我国中小型软件企业项目风险管理过程提供建议和参考。关键词:中小型软件企业 软件项目 风险管理 风险控制Risk Control and Management Research of Minor Software ProjectsAbstractSince the 1990s, promoted by information technology t

3、rends and national policy, the scale of the software industry develops rapidly and the scientific management of software projects has become increasingly prominent. So far, there are about 1500 software companies in our country, including minor software companies accounted for more than 95%, the dev

4、elopment of minor software companies have become a focus of concern groups.Risk management and control is important for software projects. Risk controlled is the task of software project risk management, understanding risk and taking proactive measures to avoid or manage risk, is the basic condition

5、 that a software project manager should have, whats more, its a need for small and medium enterprises in the fierce market competition. Starting with the current status of software project management in our countrys minor software companies, this article bases on the risk management model of CMM/CMM

6、I and other popular models, then presents a new risk management model and design idea for software project risk management. Thus that will provide suggestions and reference to risk management process for our countrys minor software companies.Keywords: minor software companies software project risk m

7、anagement risk control目 录一、 绪 论1(一) 研究的目的和意义1(二) 软件项目风险管理发展历程1(三) 主要研究内容2二、 中小型软件项目风险管理体系3(一) 中小型软件项目的特点31. 中小型软件企业的特点32. 项目和项目管理,软件项目的特点3(二) 软件项目风险管理的有关概念41. 风险和风险管理42. 软件项目风险管理4(三) 软件项目风险管理理论体系综述51. Boehm的经典理论体系52. Higuera和Harimes的持续风险管理框架模型63. Hall的六学科模型6(四) 基于 CMM/ CMMI的软件项目风险管理框架7(五) 面向中小型软件企业的

8、项目风险管理体系的构建81. 传统软件项目风险管理体系适应性分析82. 面向中小型软件企业的项目风险管理体系的建立8三、 软件项目的风险识别10(一) 常见风险类别10(二) 软件项目风险识别的程序101. 搜集资料102. 确定风险因素113. 识别风险驱动因子11(三) 软件项目风险识别方法111. 风险清单法112. 风险识别法(TBI)113. 基于分类的问卷调查表法(TBQ)【15】11(四) 面向中小型软件企业的项目风险识别方法121. 风险因素列表法122. SEI的风险分类系统12(五) TCQR软件项目风险识别模型的建立121. 软件项目的四个基本风险因素122. 风险驱动因

9、子133. 用TBQ方法识别风险驱动因子14四、 软件项目风险评估18(一) 软件项目风险评估的概念18(二) 软件项目风险评估的目的18(三) 软件项目风险评估的一般过程18(四) 常用软件项目风险评估方法比较201. 定性评估方法202. 定量评估方法21(五) 面向中小型软件项目的风险评估方法211. 层次分析法(AHP)222. 运用层次分析法进行软件项目风险评估22五、 软件项目风险控制23(一) 软件项目风险控制战略分析23(二) 软件项目风险应对策略24(三) 面向中小型软件项目风险控制策略选择25(四) 软件项目风险优化控制251. 基本思想262. 确定关键任务263. 确定

10、风险控制方案列表274. 基本定义275. 优化模型的建立286. 优化算法设计与实现297. 应用举例30结 论33参 考 文 献34一、 绪 论(一) 研究的目的和意义随着我国软件产业的快速发展,软件企业数量也快速增加,但目前这些软件企业大多数为中小型企业,规模不大,员工人数达到1000人以上的大型企业只占全行业不到1%,而50人以下的小型企业超过全行业的60%【1】。在软件风险管理方面,这些中小型企业同大型企业相比管理本身不够规范,缺少风险管理控制方面的方法和手段,往往把风险管理停留在概念层面,很少进行系统地识别、分析、计划、跟踪和控制软件开发中的风险,即使考虑风险,需要进行有效地应对软

11、件开发过程中的风险时,通常也是以经验为基础,且这些经验往往是零碎的、不完整的,采取的措施也只能是以成本和进度作为指标的反应性危机管理2。由于缺少对软件项目风险的有效管理和控制,软件项目开发超时、超支,甚至不能满足用户需求乃至根本没有得到实际使用的情况经常发生。中小型软件企业由于受人才、资金、技术水平等方面的限制,无法完全照搬大企业的风险管理方法3。本文在进行理论研究的基础上,结合我国中小型软件企业的特点,研究和寻求一种面向中小型软件企业的、适合实际运作、实际管理、过程和模型结合的风险管理方法和技术,构建面向中小型软件企业的项目风险管理方法和控制体系和过程。通过本文的研究,可以对今后中小型软件企

12、业的项目风险管理提供一种模式和方法的探讨,这种降低软件项目开发风险,提高项目管理水平,减少管理失误,有效地实现风险控制,提高软件项目开发的成功率和软件项目的投资回报率具有一定的意义。(二) 软件项目风险管理发展历程在19世纪50年代,软件伴随着第一台电子计算机的问世诞生了。早期的软件开发并无系统的方法可以遵循,软件设计是在某一个人的头脑中完成的一个隐藏的过程【4】。大多数软件是由使用该软件的个人或机构研制的,软件常常带有强烈的个人色彩。而且,除了源代码往往没有软件说明书等文档。这个时期软件开发基本处于起步阶段,关于软件项目风险的管理研究工作尚未出现。20世纪60年代中期到70年代中期软件开始作

13、为一种产品被广泛使用。软件的数量急剧膨胀,软件需求日趋复杂,维护的难度越来越大,开发成本令人吃惊的高,而失败的软件开发项目却屡见不鲜。“软件危机”就从这时出现了。为了克服这一危机,在1968、1969年连续召开的两次著名的NATO会议上提出了软件工程这一术语,并在以后不断发展、完善。到了20世纪80年代,软件已经历了程序设计、程序系统阶段,开始向软件工程阶段发展。这一时期的开发技术和手段更加先进,对管理水平也提出了较高的要求。并出现了软件生存周期(Life Cycle)的概念,它包括计划、需求分析、设计、程序编写、测试和运行维护6个步骤。由于软件危机而引发出的一些对软件负面的结论有:软件开发问

14、题是经济增长的主要障碍;软件失效正在造成几十亿、几百亿的经济损失;用软件工程技术来控制费用及软件质量也无法尽善尽美。因此就存在软件风险问题。1989年由IEEE出版Barry W.Boehm编写的Software Risk Management(软件风险管理)是第一本比较深入地专门探讨风险管理的书籍。随后,越来越多的机构开始研究软件项目风险管理。其中美国卡内基-梅隆大学的软件工程研究SEI(Software Engineering Institution)提出了风险管理模型CRM(Continuous Risk Management),还多次举行研究软件风险管理的年会,一些院校也将风险管理纳入

15、软件项目管理中进行讲授。20世纪90年代至今,以网络计算为特征的信息高速公路得到了很快的发展。基于构建的开发方法使得软件开发的规模进一步扩大。软件不仅在规模上快速地发展扩大,而且其复杂性也急剧增加,开发的成本和进度变得更加难以预料。软件开发成功与否已不再仅是技术上的问题,软件项目管理的地位突显出来。在此基础上,软件项目风险管理研究开始慢慢丰富起来, 理论上对风险进行了一些分类,提出了风险管理的思路;实践上也出现了一些定量管理风险的方法和软件工具。是否具有专门的风险管理已经成为判断一个软件开发组织成熟与否的主要指标之一。ISO提出的SPICE(Software Process Improveme

16、nt Capability Determination)将风险管理作为评估的一部分,而SEI在提出的软件成熟度模型SW CMM第2版中,风险管理已经被添加成为第3级中集成化软件管理的关键过程领域(KPA)。国内学者对软件项目风险的研究也日趋丰富起来,在软件项目管理相关书籍中开始将风险管理作为单独一章进行探讨。(三) 主要研究内容(1).对CMM/CMMI软件项目风险管理框架、Boehm的风险管理理论体系、Higuera和Harimes的持续风险管理框架模型、Hall的六学科模型进行研究,分析各自的特点和局限性。(2).针对中小型软件企业项目开发中风险管理的特点和问题,以项目风险管理理论为基础,

17、提出面向中小型软件企业的、简洁、易用的项目风险管理体系,寻求结构化、系统化和有利于后期量化的风险识别方法。(3).采用层次分析法将定性与定量有机结合起来进行软件项目风险评估;提出一种“收益最大化的软件项目风险优化控制”方法,在软件项目风险控制过程中,通过建立一个软件项目风险优化控制模型,运用动态规划方法,实现软件项目风险管理的最大收益。二、 中小型软件项目风险管理体系(一) 中小型软件项目的特点1. 中小型软件企业的特点中小型软件企业主要指研发人员在200人以下的软件公司,其中人数在30-50人之间的称为小型软件公司,人数在50-200人之间的称为中型软件公司。中小型软件企业特点是研发人员较少

18、、技术力量不强、行业经验积累少、产品多样化、管理不规范、风险意识淡薄、生存能力弱等。现在许多小软件公司都只是靠做一些简单的管理软件,或是承接其他公司的外包模块业务维持生计。只有极少数企业在致力于产品的嵌入式开发,做企业的核心产品。国内的软件企业到2009年为止数量不到15000家,其中中小企业站到95%以上。他们大多都不具备像中软、东软、金山、浪潮、金蝶、用友、速达、瑞星等大公司的特点,在某个行业拥有自己的核心竞争力,有自己的风险控制和管理体系。软件市场的蓬勃发展,刺激更多的软件精英自己创业,打造自己的软件天地,他们为软件市场带来了生机和活力,同时也带来了许多不易解决的问题,这些技术出生的企业

19、管理者们,论技术他们是行家,可论管理,可能还是小学水平,更多的是凭感觉来管理自己的企业。从软件项目的风险控制方面来看,这些特点将给未来企业的发展留下巨大隐患。2. 项目和项目管理,软件项目的特点项目是指组织中所有一次性,有头有尾而非持续性的工作,是为了达到一个特定目的而将人力资源和其他资源结合成一个短期的组织。即项目是为完成某一独特的产品服务所做的一次性努力。它具有以下几个属性:1)、项目有一个独特的目的,每一个项目都应该有一个定义明确的目标;2)、项目是一次性的,具有明确的开始和结尾;3)、项目需要使用资源,这些资源包括人、硬件设施、软件配置和其他设备;4)、项目有一个主要发起人或客户,由他

20、对项目提供方向和资助,同时也会有许多参与项目或项目活动影响的人即干系人;5)、项目含有不确定性,因为每一个项目都是唯一的,有时很难确切定义项目的目标,或准确估计完成项目所需的时间和成本支出,这种不确定性是项目具有高风险性的主要原因之一。项目管理是指在项目活动中运用专门的知识、技能、工具和方法,使项目能够实现或超过项目干系人的需要和期望。项目管理是一门非常广泛,复杂的学科,由一般管理知识和应用领域知识交叉形成的。项目管理理论与系统论、组织理论、经济学、管理学、价值学、计算机技术等学科相互渗透,使得项目管理论发展成为一门完整的交叉学科。(二) 软件项目风险管理的有关概念1. 风险和风险管理风险的概

21、念最早出现于19世纪末的西方经济领域,目前已广泛应用于社会学、经济学、工程学、环境学等领域。风险一词在不同领域有不同的界定,目前尚无统一的定义【5】。但一般认为风险概念应包括以下几方面内涵【6】:1)风险是指事物发生发展过程中某种客观存在的不确定性;2)这种不确定性对主体的决策和价值目标构成了潜在威胁或损失;3)不同主体对同样风险的承受能力与收益大小、投入多少、项目活动的主体地位和拥有的资源有关。风险管理是指辨识、分析和控制风险的活动,这组活动不是孤立的,而是一组系统化、持续化的过程【7】。 软件项目风险管理是指贯穿于软件项目生命周期,保证项目按计划进行的策略、方法、技术和工具的集合,它含有风

22、险辨识、评估、排序、计划、监督和控制活动,并成为软件项目管理的主要部分【8】。任何风险管理过程中,都存在两个重要活动,即风险评估和风险控制。风险评估是一个识别风险来源及评估他们的潜在影响的发现过程;风险控制的目的在于解除风险,是一个开发风险解除计划、监视风险状态、实施风险应对计划和纠正计划中偏差的过程。风险管理在项目管理中有非常重要的地位:(1) 有效的风险管理可以提高项目的成功率。在项目早期就应该进行必要的风险分析,并通过规避风险,降低失败概率,避免返工造成成本上升。(2) 提前对风险制定对策,就可以在风险发生时迅速做出反应,避免忙中出错造成更大损失。(3) 风险管理可以增加团队的健壮性,与

23、团队成员一起作风险分析可以让大家对困难有充分估计,对各种意外有心理准备,不知受挫后士气低落,而项目经理如果心中有数就可以在发生意外时从容应对,大大提高团队成员的信心从而稳定团队。(4) 有效的风险管理可以帮助项目经理抓住工作重点,将主要精力集中于重大风险,将工作方式从被动救火转变为主动防范。2. 软件项目风险管理软件项目风险管理工作就是在风险成为影响软件项目成功的威胁之前,识别、着手处理并消除风险的源头,它是对影响软件项目、过程和产品的风险进行评估和控制的实践过程。中小型软件企业的在风险管理和控制方面的问题主要概括为内部风险和外部风险两类。其中内部风险包括需求变更风险、沟通不良风险、技术风险、

24、进度风险、人员风险、管理风险、成本风险、质量风险和系统运行环境风险等;外部风险包括市场风险、合同风险和分包商风险等。以上各类风险的诱因如下:(1)需求变更风险是软件项目经常发生的事情。项目初期的需求分析至关重要,需求变更是因为项目建设方与项目承建方对产品的具体细节的理解不一致。需求变更可能导致成本增加、信任度降低、项目延期等后果。(2)沟通不良风险是项目组的技术人员与管理层,建设方代表等各方之间沟通不畅所致。项目组的组员可能是临时组建的,包括技术人员和管理人员。他们彼此间没有很好地合作基础,无法保证在工作方面达到配合默契。(3)技术风险是开发软件产品所使用的开发技术,是项目成败的关键因素之一。

25、项目组一定要根据项目状况,选用合适、成熟的技术,千万不要无视项目的个性化要求而选用一些虽然先进,但不成熟或者是开发人员不是很熟悉的技术。(4)延期风险是项目队进度要求有严格规定。项目延期就会造成违约损失。(5)人员风险是项目组的骨干人员的离开导致项目的工作暂时中断。(6)管理风险是项目管理人员缺乏管理经验或者不懂技术,使项目在开展过程中,因管理不善或者与技术人员合作不好而使公司遭受损失。(7)成本风险是公司对软件项目的估计成本低于实际成本,造成企业亏损。(8)质量风险是软件产品是否满足客户的要求,同时还要保证产品稳定运行、数据安全等要素。(9)系统运行环境风险在大部分项目集成和软件开发是分不开

26、的(甚至由不同公司承接)。软件系统对运行的硬件环境和网络环境都有严格的要求,最后系统集成的和组装后是否能在指定的系统环境下运行,是非常关键的。(10)市场风险主要是一些软件产品的社会需求,当所开发产品对市场的预期不准或者同行竞争太激烈导致市场规模达不到预期造成的损失。(11)合同风险是签订的的合同不严谨,项目边界和各方面责任界定不清等是项目成败的重大因素之一。(12)分包商风险是指有些项目可能会涉及到将系统的部分功能(模块)分包出去,这时项目组就需要关注项目的分包商风险。(三) 软件项目风险管理理论体系综述从软件项目风险管理的发展历史来看,Boehm于1989年出版的专著软件风险管理,奠定了该

27、领域的理论基础,在随后近30年中又陆续出现了几种框架体系。现总结如下。1. Boehm的经典理论体系Boehm的突出贡献是他的量化风险的思想,Boehm用风险暴露(Risk Exposure)来评估风险的影响程度【8】。 (2.1)其中RE表示风险或者风险所造成的影响,一般称为风险暴露,P(U0)表示令人不满意的结果所发生的概率,L(U0)表示糟糕的结果会产生的破坏性的程度。Boehm还定义了风险倍率(Risk Reduction Leverage)来评估风险的风险缓解措施的效果: (2.2)在风管理率步骤上,Boehm指出风险管理由风险评估(Risk assessment)和风险控制(Ris

28、k control)两大部分组成,风险评估又可分为风险识别(Risk identufication)、风险分析(Risk analysis)、设置优先级(Risk prioritization)三个步骤,风险控制则包括制定管理计划(Risk-management planning)、解决(Risk resolution)和监管风险(Risk monitoring)三大步骤。Boehm思想的核心是10大风险因素列表。虽然其理论存在一些不足,但Boehm毕竟是软件项目风险管理的开创者。在其之后,更多的组织和个人开始了对风险管理的研究,软件项目风险管理的重要性日益得到认同。2. Higuera和Ha

29、rimes的持续风险管理框架模型Higuera和Harimes提出的软件项目风险管理框架,是美国卡内基 梅隆大学软件工程研究所(SEI)风险管理体系中的一部分。该体系将风险管理划分为风险识别、分析、计划、跟踪、控制 5 个步骤,风险管理的方式是连续循环的,其核心是风险沟通。它要求在项目生命期的所有阶段都关注风险管理,即所谓持续风险管理(CRM) 框架模型【9】(见图2-1):图 2-1 SEI的持续风险管理框架模型SEI的模型在Boehm的模型基础上有所改进,注重了软件项目的过程特点。但这一模型只是在理论上对风险管理的过程有了初步认识,而如何把风险管理演绎成一个动态、持续的风险管理过程,未作详

30、细阐述。3. Hall的六学科模型Hall 的六学科风险管理模型【10】(见图2-2),将风险管理分解为 6 个学科。其中:E代表预想,是把思想转化为目标的学科,用于研究软件产品的远期规划;P代表计划,是为软件目标分配资源的学科;W代表工作,是指产品计划的执行;M 代表度量,是比较期望值和实际值的学科,两个值的差异用于调整项目计划; I 代表改进, 是从过去经验中学习的学科,它通过分析基准和项目度量结果,找出改进的方向;D 代表发现,是预知未来的学科,它通过对不确定性的评价和对困惑的思考,考虑机会和风险的均衡,预先指导计划和规划的改变。Hall 的六学科模型考虑了风险管理与项目管理的结合,注重

31、风险的度量和控制,是理论与实践相结合的有益尝试。不足之处是对如何取得预想方案中风险和机会的均衡重视不够。其基本思路是改进项目管理,带动风险管理,管理范围仍以核心风险管理为主。图2-2 Hall 的六学科风险管理模型(四) 基于 CMM/ CMMI的软件项目风险管理框架 能力成熟度模型 CMM 是 SEI主持研发的一套评估软件能力和成熟度的标准。该标准基于众多专家的经验,侧重于开发过程的管理,是目前国际上流行的软件生产过程标准和软件企业成熟度等级认证标准。CMM 主要用 5 个不断进化的层次来表达,即初始级、可重复级、已定义级、已管理级和优化级,项目风险管理被集成在第3级水平。SEI将CMM扩展

32、为能力成熟度模型集成 CMMI ,从内容和特征上对 CMM 进行完善。 在CMMI中 ,风险管理过程域包括三个特定目标SG :进行风险管理准备、识别并分析风险、处理风险,每个目标的实现通过一系列的特定实践来完成,详细见表 2-1【11】:表 2-1 CMMI 3 级过程域: 风险管理SG1 风险管理准备SP 1.1 确定风险来源和类别SP 1.2 定义风险参数SP 1.3 建立风险管理策略SG2 识别和分析风险SP 2.1 识别风险SP 2.2 风险评估、分类和确定优先级SG3 缓解风险SP 3.1 制定风险缓解计划SP 3.2 实施风险缓解计划CMMI风险管理模型图如图 2-3 所示:图2-

33、3 CMMI风险管理模型CMMI中关于软件项目风险管理关键过程域的描述,大大加强了风险管理在高成熟度企业软件过程中的地位和作用,为中小规模软件企业的项目风险管理指明了道路。基于 CMM/ CMMI的软件项目风险管理的研究,推动了风险管理理论与以软件过程改进为主导的软件工程实践的融合,使软件项目风险管理朝着可预测、有规律、可量化的管理方向发展。(五) 面向中小型软件企业的项目风险管理体系的构建1. 传统软件项目风险管理体系适应性分析任何软件项目风险管理理论体系都将软件项目风险管理划分为两大部分:风险评估与风险控制。在此基础上,分别对他们进一步划分。如Boehm将风险评估分为风险识别、风险分析和设

34、定优先级三步。SEI将风险评估分为风险识别、风险分析两步,而风险控制则分为风险计划、风险跟踪、风险应付三步。详细的划分是为了更好的定义每一步的工作。对于大型软件企业来说,细致和规范化的工作步骤定义有利于项目风险管理的成功。而对于中小型软件企业来说,由于项目规模相对较小,项目周期相对较短,风险的数量以及风险管理的工作量相对较小,因此对于中小型软件企业,风险管理的步骤可以适当简化。2. 面向中小型软件企业的项目风险管理体系的建立通过上面的分析表明,对于中小型软件企业来说,理想的项目风险管理方法应具有实施成本较低、对操作人员的经验和技术要求不高以及操作流程较简单等特点。以此为目标,本节提出一种针对我

35、国中小型软件企业特点的项目风险管理体系,该体系主要将软件项目风险管理活动划分为三大部分:风险识别、风险评估与风险控制。该体系结构图如图2-4所示:图2-4 面向中小型软件项目风险管理体系框架三、 软件项目的风险识别所谓软件项目风险识别就是采取有严格计划的步骤,在妨碍项目成功的因素变成问题之前发现并定位他们。长期以来倍受业界的重视,广泛认为软件项目风险识别是整个项目风险管理过程中最难完成的一项任务。软件项目风险识别是软件项目风险评估和软件项目风险管理的基础,只有全面、正确地识别软件项目所面临的风险,才能实现有价值的风险管理。(一) 常见风险类别企业进行风险管理首先要明确对哪些风险进行管理和控制,

36、结合企业实际情况进行风险分类的划分,本文将中小软件企业中常见的风险归为三类:管理风险、技术风险和相关风险。管理风险:中小软件企业的管理问题是导致很多项目进展不顺或者失败的重要因素,项目计划、项目估算与预算、项目团队建设、冲突管理等方面都是风险因素,如项目进度估计不准确、团队成员难以沟通等都是应识别的风险。技术风险:技术直接影响着软件项目的成功与否,需求、设计、编码、测试、维护等方面都存在可能发生的潜在问题,如需求文档的二义性、采用了不成熟的技术等。相关风险:许多风险是由项目的内部和外部环境或者相关因素所引起的,因此这些组织、商业、政策等相关的风险也是风险管理必须要考虑的。(二) 软件项目风险识

37、别的程序风险识别是风险管理的起点。对项目进行风险管理,首先必须对存在的风险进行识别,即查明项目中的不确定因素和可能带来的后果,以上述风险分类(企业可以进行调整)以及项目的工作分解结构WBS (Work Breakdown Structure) 为主线,通过查找组织资产、组织相关人员进行头脑风暴法等一系列手段进行识别,风险识别之后要把结果整理出来,汇总到风险管理表格中。风险识别过程将不确定性转变为明确的风险描述。软件项目风险识别的程序可分为三个步骤。第一步:搜集资料;第二部:确定项目风险因素;第三部:识别并描述项目风险驱动因子。下面就每个步骤进行说明。1. 搜集资料完整的搜集项目数据和资料是进行

38、有效风险识别的基础,因此任何可能显示潜在问题的资料都可用于风险的识别,这些资料主要包括:(1)生命周期成本分析;(2)计划或工作分解结构;(3)进度分析;(4)文件记录的事件教训;(5)项目的前提、假想分析和制约因素;(6)技术绩效测评计划或分析;(7)模型和影响图(8)专家判断和头脑风暴结果2. 确定风险因素确定风险因素的的过程是要明确项目和环境的变数,即项目各组成部分和彼此间的关系。确定风险因素常常与风险形势估计结合在一起,通过风险形势估计明确项目的前提和假设,以便减少许多不必要的风险分析工作。3. 识别风险驱动因子 识别风险驱动因子的过程就是要识别出影响每个风险因素的风险评价指标的过程。

39、风险评估是基于识别出的风险驱动因子进行的。(三) 软件项目风险识别方法风险识别是任何风险管理活动的起点。从已有成果看,软件项目风险识别的研究方法大致有以下几种:1. 风险清单法Boehm给出了top 10风险序列【8】,并提出了顶级十大风险源清单【12】。随后,他指出在软件项目开发生命期的每个重要阶段,都可进行top10风险清单的调查和修改,并将风险管理加入软件项目开发生命期模型。Boehm 还提出了软件项目开发期的螺旋式模型,使项目管理人员可对软件项目进行动态风险追踪。 Barki等通过总结列出了35项风险变量【13】;Jones 描述了60项最常见的风险因素【14】。这些成果对于开展风险识

40、别、提供风险源素材具有很大的帮助。2. 风险识别法(TBI)Marvin等提出的基于分类的风险识别法【15】,主要是从项目分类学的角度考虑风险,对项目的风险项进行分类,从单纯的清单列表走向由分类树与问卷识别过程的统一,从而使软件项目风险项具有结构性的特点。另外,它也秉承了动态管理的特点,使风险识别及后续处理有计划、分步骤、周期性地在项目生命期内进行。3. 基于分类的问卷调查表法(TBQ)【15】该方法是由专家根据项目特点设计风险管理问卷调查表,对企业有关人员进行问卷调查,并根据调查结果对数据进行统计分析。(四) 面向中小型软件企业的项目风险识别方法借助已有的软件项目风险识别方法无疑是中小型软件

41、企业的理想选择,然而现有的软件风险识别方法主要针对大型企业,或者国防、航空等国家项目,需要很高的软硬件条件支持。而中小型软件企业由于自身的人才、资金、技术和需求等关键因素的缺乏,照搬现有的软件项目风险识别方法是不可行的,本文通过对现有软件项目风险识别方法的可用之处,建立适合中小型企业自身的项目风险管理方法。以下是对传统风险识别方法的适应性分析。1. 风险因素列表法Boehm提出的风险因素列表法由于工作量小,对实施人员能力和经验要求不高,因此比较适合于中小型企业,但由于他的风险因素列表是通过对美国几个大型航空或国防系统软件项目的深入调查,编辑整理而成,并不能代表中小型软件企业的主要风险。因此,中

42、小型软件企业需要对风险因素列表做出相应的修改,使其能正确反映中小型软件企业的主要风险。2. SEI的风险分类系统SEI的“基于分类的风险识别”思想,由于要求相应的配套方法和正规的培训过程,加之其出身于美国军方超大型软件项目的背景,所以也难于被中小型企业所采用。而“层次全息模型(HHM)”思想认为任何风险的遗漏都是不能令人容忍的,为此需要从多角度,不惜付出超出完全遍历风险领域的代价来管理软件项目风险。所以尽管其具有管理强度大、涵盖范围宽、操作灵活可变等优点,仍不适合中小型软件企业所用。传统成果不能直接应用,间接地按比例缩小或者简单地简化已有成果更不可取,以下方法具有操作较简单和有利于后期量化的特

43、点。(五) TCQR软件项目风险识别模型的建立1. 软件项目的四个基本风险因素根据项目管理知识体系指南中定义的软件项目管理的9个知识领域(包括项目管理框架、范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理),结合软件项目风险识别的需要,在实际应用中可以把九个知识领域进行整合,最终确定了四个基本风险因素:T进度,C成本,Q质量,R资源。风险因素代表了项目的各个基本组成部分,通过彼此之间的联系和相互作用以及它们组成整体的方式,决定了项目整体的性质和功能。因此,只要这四个风险因素发生变动,则项目整体的性质和功能也要发生变化。因此,通过对这四个风险的综合分析和评价,可

44、以反映项目总体的风险水平。四个风险因素的定义及其与九大知识领域的关系见表3-1表3-1 风险因素与九大知识领域的关系表风险因素包含的知识领域风险因素定义T进度项目进度管理影响进度计划的风险项目范围管理项目采购管理C成本项目成本管理影响成本计划的风险项目范围管理项目采购管理Q质量项目质量管理影响项目质量的风险项目范围管理项目框架管理R资源项目人力资源管理影响项目人员、资金和设备等资源配置的风险项目沟通管理2. 风险驱动因子在定义了组成整体项目风险的四个风险因素后,那么需要分别针对这四个风险因素识别出影响每个风险因素的风险评价指标,称为“风险驱动因子”。风险因素、风险驱动因子以及他们与项目总体风险

45、的关系图如图3-1所示:图3-1 风险因素与风险驱动因子关系风险驱动因子可以分为两个不同的类型:一般性风险驱动因子和项目特定的风险驱动因子。一般性风险驱动因子对每个项目来说都是一个潜在的威胁。软件项目特定风险驱动因子只有那些对当前项目的技术、人员及环境非常了解的人才能识别出来。表3-2中给定了常见的第一类风险驱动因子:表3-2 常见的一般性风险驱动因子风险因素风险驱动因子T进度项目规模:可以从项目的功能点LOC进行判别需求可用性:目标是否明确,项目边界是否清楚,需求是否完整和准确技术复杂性:技术难度大小,算法和软硬件接口的复杂性进度计划的弹性:进度计划是否合理,灵活,任务分解WBS是否完整和合

46、理采购时机:采购时间是否具有不确定性C成本项目规模:可以从项目的功能点LOC进行判别需求可用性:目标是否明确,项目边界是否清楚,需求是否完整和准确项目先例:是否此前完成过类似项目成本计划的弹性:成本计划是否合理,灵活,任务分解WBS是否完整和合理实施条件:软件系统的实施、部署和维护是否存在不确定性采购条件:为采购是否规定了明确的前提条件Q质量客户参与程度:客户是否积极参与了项目过程质量标准:是否有明确的质量标准配置管理:是否有适合的配置管理体系,管理项目变更测试计划:是否有测试计划和适合的测试流程,具有专门的测试组织或质量保证组织非功能性需求:项目中是否有特殊的可靠性、安全性、性能等非功能性需

47、求R资源高层管理的支持:是否得到高层领导的支持技术能力:是否有关经验的技术人员,相关的知识积累员工士气:参与项目的人员的流动性和积极性开发环境:是否有充分的软硬件设备和开发条件团队协作:团队的合作精神和沟通能力、相互配合的协调性3. 用TBQ方法识别风险驱动因子在实际工作中,对于不同的软件项目、同一软件项目生命周期的不同阶段,风险驱动因子对项目风险水平的影响是不同的。中小型软件企业尤其需要一种方便快捷、容易操作的方法能够针对项目的具体情况对风险驱动因子进行筛选和识别,对管理能力进行客观的评价。通过研究,在整理和提炼了20多个实际中小型软件开发项目数据基础上,参考了基于分类的风险识别方法,对风险进行重新分类后给出了由一系列围绕软

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号