基于风险因子分析的软件项目管理模型.docx
《基于风险因子分析的软件项目管理模型.docx》由会员分享,可在线阅读,更多相关《基于风险因子分析的软件项目管理模型.docx(69页珍藏版)》请在三一办公上搜索。
1、南京大学硕士论文基于风险因子分析的软件项目管理模型A Software Project Management Model Based on Risk Factor Analysis张宏书指导老师:金志权、邵栋二零零四年四月摘要软件项目开发过程中存在着大量不确定事件,这给项目的成功带来了风险。能否在规定的时间内交付软件产品,与项目进度计划是否合理、项目风险管理活动是否有效有很大的关系。这需要综合考虑软件项目进度计划与软件项目风险管理计划,提供工具用以标识、分析和管理软件项目风险,并在此基础上获得合理的软件项目进度计划。本文提出了基于风险因子分析的软件项目管理模型。本文通过对文献著作的研究和某通讯
2、公司软件项目的实际分析,标识出影响软件项目成功的20个风险因子,并根据其出现的比例,选择6个主要风险因子进行进一步地量化分析,分析它们各自对软件项目进度的影响,并使用蒙特卡罗模拟方法,模拟出所选择的风险因子对软件项目进度的总体影响,该影响以风险图的方式给出。同时,利用模型中识别出的主要风险因子,标识软件项目风险;综合考虑风险因子的潜在影响和项目进度的要求,制定出软件项目风险管理计划和合理的软件项目进度计划。本文实现了基于风险因子分析的软件项目管理模型,并对模型本身进行了正确性验证,也在软件项目组进行了符合项目经理需要的确认。结果显示,该模型能够帮助项目经理制定风险管理计划和合理的进度计划。关键
3、词:风险因子;模型;风险管理计划;进度计划。ABSTRACTMany uncertainties are existed in software development process, and they give rise to risk of project success. Whether the project can deliver the product to the customer in time is much dependent on its estimated schedule plan and risk management plan. It is required t
4、o integrate software project schedule plan and software project risk management plan, and to offer tools for identifying, assessing, and managing the project risk, and to obtain a reasonable project schedule plan based on risk analysis.This paper has produced a software project management model base
5、d on risk factor analysis. Based on study of literatures and actual software projects developed in recent years of a famous communication company, twenty risk factors that affect software project success are identified. The six main risk factors are selected and further quantitative analysis of thei
6、r effects to project schedule is made. Monte Carlo method is used to simulate the total effects to project schedule, and the result is described as a risk graph. The project can identify project risk based on selected risk factors. By considering the potential effects of risk factors and the project
7、 schedule requirement, software risk plan and a reasonable software schedule plan can be made. A software project management model has developed in this paper. Model verification is done to check its correctness, and validation is done by software projects to check whether it can satisfy project man
8、agers needs. The results indicate that the simulation model can help project manager to prepare his risk management plan and schedule plan effectively and efficiently.Key words: risk factor, simulation model, risk management plan, schedule plan目录第一章 绪论11.1本文研究的背景及问题11.2软件估计常用方法31.3风险管理过程框架51.4常用的风险识
9、别和风险评估方法71.5本文的工作10第二章 软件项目的风险因子112.1风险的定义112.2风险的影响纬度112.3风险的量化定义122.4风险因子的定义142.5软件项目风险因子标识方法15第三章 主要风险因子的潜在影响分析173.1实际软件项目的风险因子标识173.2主要风险因子原因结果图193.3风险因子影响调查253.4风险因子影响图曲线263.5软件主要风险因子对项目进度的总体影响42第四章 基于风险分析的软件项目管理模拟模型444.1风险因子与不确定性444.2软件项目风险因子454.3模拟模型464.4基于风险分析的软件项目管理模拟模型介绍474.5基于风险分析的软件项目管理模
10、拟模型的实现484.6模拟模型使用案例524.7模型验证55第五章 总结与展望56参考文献57致谢594第一章 绪论1.1 本文研究的背景及问题软件已经成为基于计算机的系统及产品成功的关键因素,其重要作用已经得到了人们的普遍认同。在过去的50年中,软件已经从特殊的问题解决和信息分析工具演化为一门独立的产业,但在提供客户所需要的软件的能力方面取得的进展却非常缓慢。软件项目失控现象依然大量存在失控项目的定义KPMG 1995:软件失控项目是显著未能实现目标和(或)至少超出原定预算30%的项目。KPMG在1995年对英国大约250个主要企业进行了软件项目调查,结果表明84%的企业经历过失控项目。著名
11、的CHAOS报告(2003)28中的一些统计数据如下:66%的软件项目失败,15%的软件项目在完成前被取消;82%的软件项目交付延期,43%的软件项目实际成本超过预算,48%的客户需求没有得到满足。造成以上现象的原因有很多,Jones(1994)23针对交付延期和预算超支的现象,归纳出以下四个根本原因:1、在项目初始估计时,进度/成本就是不可能达到的目标,但项目还是如期启动了;2、在项目进度/成本确定后,项目范围发生了变化;3、项目估计和计划的方法不合理;4、企业没有收集有用的历史数据。在软件业,学术界和企业界都越来越强烈地相信,没有一个独立的方法、技术、工具或过程能够解决软件项目失控问题,驾
12、御项目失控最好的方法是从开始就管理项目的风险。KPMG 199524报告中列举的项目失控企业,55%的失控项目没有实行过任何风险管理,而在38%实行了风险管理(有些调查者不知道是否实行了风险管理)的项目中,有50%的项目在启动之后没有使用风险发现(Risk Finding),缺少风险管理可能会导致项目失控的事件。管理项目风险的好处是明显的,Boehm(1989)认为,风险管理之所以重要,是因为它使得人们脱离灾难,避免返工,并促使软件项目取得双赢的局面。Jones认为软件项目计划不合理是软件项目交付延期的主要原因。大多数人在做项目计划时比较乐观,倾向于忽视某些“可能需要做”的工作,而不是把“可能
13、不需要做”的工作也计算在内。“可能需要做”与“可能不需要做”这种不确定性事件正是风险管理的内容。因此,在制定软件项目进度计划时,考虑风险对软件项目的潜在影响,并将这种影响落实到软件项目进度计划中,将避免过度的项目进度压力现象。Kemerer(1991)8认为进度压力常常在项目的后期出现,并对项目带来三个主要方面的影响:1、经济影响。后期发现项目无论如何也不能在接近计划范围内完成,常常导致项目被取消,同时到此为止的所有工作都将前功尽弃。2、产品质量影响。当项目计划的成本或进度目标临近,但还剩余大量附加工作时,为了按照计划或接近计划完成项目,一般会缩减最终任务。当最终期限到来时,在无法确定交付产品
14、质量的情况下,项目常常会停止测试而简单进行交货。3、组织影响。当不切实际的最终期限临近时,为了尽快完成项目,全体开发人员可能要忍受被施加的附加压力。这种压力除了有可能会对工作质量产生短期不利影响之外,对士气的长期影响也是巨大的。如果在项目开发的后期,给项目组增加人力,又可能产生所谓的布鲁克斯(Brooks 1974)现象:给后期项目增加人力,会导致项目推迟完成。如果这样的问题遍布整个组织,那么,将产生一种“恐慌心理”。在软件领域,关于项目风险管理和项目进度计划主题的文献著作很多。Boehm(1991)在他的软件风险管理:原理和实践30一文中提出一种软件项目风险管理的方法,他将风险管理划分为风险
15、评估和风险控制,并对每一种分类提供了许多步骤。对每一个步骤都给出了一个简短的技术列表,并附有TRW一些实际项目的例子。一组有用的图表说明了这些技术,包括项目风险因子的Top Ten列表。Fairley(1994)在他的软件项目的风险管理8一文中验证了Boehm的方法在电信软件项目中的应用,他充分利用了COCOMO成本估算模型来估计风险因子对预算的影响,并且证明了人们可以利用统计学方法求出可能产生结果的预期范围。软件进度计划方面的研究主要体现在两个方面。一方面关注如何提高进度估算的能力,Boehm(1981)在他的软件工程经济学32一书中提出了COCOMO成本估计模型;Vicinaca等人(19
16、91)在软件投入估计中以案例为基础的论证8中使用人工智能领域的技术开发了一个以知识为基础的成本估计系统;Abdel-Hamid(1989)在从软件开发动力学的模拟中学习的课程8中使用系统动力学开发了一个成本估计模型,该模型可以重复一些共同的现象,如布鲁克斯规则。进度计划研究的另外一个方面关注如何安排项目进度,主要的技术有关键路径法(Critical Path Method,CPM)、关键链进度计划(Critical Chain Schedule)以及计划评审技术(Program Evaluation and Technique,PERT);McConnell (1996)在他的快速软件开发:有
17、效控制与完成进度计划14一书中对导致乐观的软件项目进度安排的问题进行了深入讨论,并指出了你能为此做些什么;Brooks(1995)则在人月神话6一书中提出了著名的布鲁克斯规则。不难发现,软件项目风险管理的研究与项目进度计划的研究是有交集的,在考虑项目风险时,进度风险通常是考虑的重点,在制定项目进度计划时,要考虑达到进度目标可能遇到的风险。但是,将软件项目风险管理与项目进度计划有机地结合起来的综合研究还鲜见于文献资料。本文提出一种基于风险因子分析的软件项目管理模型,能方便地帮助软件项目标识出主要的风险因子,并量化分析风险因子对项目进度的影响,最终给出合理的项目交付进度计划。1.2 软件估计常用方
18、法软件项目管理过程总是从项目计划开始。在项目可以开始前,管理者和软件小组必须估计将要完成的工作、所需要的资源以及从开始到完成所需要的时间。软件估计需要经验、以前项目的有用信息,以及当仅存在定性的数据时进行定量估计的勇气。软件估计是一项预测未来的工作,天生具有某种程度的不确定性,Kemerer描述了由于估计不准而给项目造成的经济、质量和组织影响。为了解决这些估计不准的问题,软件业界对估计做了大量的研究,提出了许多软件估计方法和工具。由于软件进度估计总是依赖于软件工作量估计和可以投入的软件人力资源,在人力资源投入策略确定后,软件开发工作量与软件项目进度的对应关系就确定了。所以本文仅仅介绍常用的软件
19、工作量估计方法。1.2.1 算法模型估计方法算法模型估计方法又称参数估计方法,它使用特定的数学公式进行软件工作量估计,该公式是经过一定的理论推导或者通过历史项目经验数据总结而得到的。参数估计方法的输入通常有软件代码行规模,软件功能点数,以及设定的工作量驱动因子。参数估计方法的准确度可以通过校正因子处理而得到提高。参数估计方法的最大优点是能够重复进行估计,输入参数可以方便地进行调整,所使用的数学公式也可以进行优化。其最大缺点是不能处理意外情况。参数估计方法的例子有:COCOMO(结构成本模型)COCOMO方法是Boehm 1981年在其著名的软件工程经济学32中提出的一种软件估计方法,它实际上是
20、一个包含三个详细程度(Basic,Intermediate,Advanced)逐渐增加的层次模型结构。COCOMO方法又根据待开发软件的特点,分为组织式、半分离式和嵌入式三种模式。COCOMO估计模型具有以下形式:式中,MM是以人月为单位的工作量,TDEV是以月表示的项目持续时间,EAF是成本调整因子(对于Basic模型,EAF=1),a,b,c,d的取值与模式有关。一个简单的例子:一个飞行器控制系统,其代码规模为319KDSI,属于嵌入式模式。可靠性要求非常高,故a取1.40。计算结果如下:工作量 Effort =进度 Schedule=平均人力资源投入=SLIM(软件方程式模型)SLIM方
21、法是在20世纪70年代后期由QSM组织的Putnam开发的,它是一个动态的多变量模型。该模型假设在软件开发项目整个生命周期中存在一个特定的工作量分布曲线。该模型是从4000多个当代软件项目中收集的生产率数据中导出的。基于这些数据,估计模型具有以下形式:式中,E为以人月或人年为单位的工作量,t为以月或年表示的项目持续时间,B为“特殊技能因子”,随着“对集成、测试、质量保证、文档及管理技能的需求的增长”而缓慢增加。对于较小的软件(515 KLOC),B=0.16,对于规模超过70KLOC的较大软件,B=0.39;P为“生产率参数”,对于实时嵌入式软件的开发,典型值是P=2000,对于电信及系统软件
22、,P=10000,而对于商业系统应用,P=28000,当前项目的生产率参数可以通过从以前的开发工作中收集到的历史数据中导出。1.2.2 专家评价法专家评价法使用专家的知识和经验,对软件项目的工作量进行估计。专家估计方法在缺乏量化的历史数据时比较有用,而且专家估计方法可以根据项目的特点,识别出与以前项目的不同之处,并进行估计修正。专家估计方法的缺点就是估计结果完全依赖于估计专家。常用的专家估计方法有Delphi专家估计方法。Delphi方法由Rand公司在1940年提出,各估计专家采用匿名的方式进行软件估计,相互之间保密各自的估计结果。Delphi方法鼓励参加者就问题相互讨论,要求有多种软件相关
23、经验人的参与,互相说服对方。Delphi方法的步骤是:1、协调人向各专家提供项目规格和估计表格; 2、协调人召集小组会议,各专家讨论与成本相关的因素;3、各专家匿名填写估计表格;4、协调人整理出一个估计总结,当估计差异较大时,将估计结果返回专家;5、协调人召集小组会议,讨论较大的估计差异;6、专家复查估计、总结,并提交另一个匿名估计;7、重复4-6,直到达到一个可以接受范围内的估计。1.2.3 Top-Down(自上而下法)根据软件产品的总体特性来估计项目的总成本。然后,将总成本分解到各组成部分。1.2.4 Bottom-Up(自下而上法)先分别估计软件项目每一组成部分的成本,再将它们综合起来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 风险 因子分析 软件 项目 管理 模型
链接地址:https://www.31ppt.com/p-1854823.html