软件项目风险管理

更新时间:2023-07-28 09:02:02 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件项目风险管理

50

福建电脑2007年第12期

谈软件项目风险管理

覃子珍

(华南热带农业大学机电与信息工程学院海南儋州571737)

摘要】风【:软件项目的风险管理是项目成功与否的关键。本文概述了软件项目的风险,讨论了进行风险管理的意义、险管理的步骤及一些方法,最后就改进我国目前软件项目风险管理现状提出几点建议。

【关键字】:软件项目风险管理

0.引言

软件是一种抽象的逻辑实体,软件产品是智力产品,软件开发受多方面因素的影响,这些特点使得软件项目具有别于其他项目的复杂性。目前软件开发技术、工具都有了很大的进步,但是软件项目开发超时、超支、甚至不能满足用户需求而根本没有得到实际使用的情况仍然比比皆是。其重要原因是对软件项目开发过程中自始至终存在着的种种风险认识不够,管理不到位。在很多的情况下,软件开发人员往往对忽略掉软件项目的风险管理,有的不知道风险管理到底应该做些什么。风险管理作为项目管理中最容易被忽略而且是最难以管理的环节已经日益引起人们的重视。

1.软件项目风险及其一般来源

1.1风险的定义

根据美国项目管理学会(PMI)对风险的定义是"正面或负面影响项目内容的不确定事件或条件"。而目前在风险管理界中普遍采用的风险定义是:风险是指引起损失产生的不确定性。这种定义包含了损失和不确定性两种因素,正是由于人们难以确定何处、何时、何种程度的潜在损失,使之构成了一种风险。1.2软件项目风险

软件项目风险是指在软件开发过程中遇到的预算、进度、人力(工作人员和组织)、

资源、客户、需求等方面的问题以及这些问题对软件项目的影响。另外,目前市场竞争的激烈和市场的成熟度不足,可能导致软件开发项目的恶性竞争风险。客户希望物美价廉而增加需求、压低价格、要求缩短进度。而厂商惟恐出局而忽视必要的科学的可行性分析和评估,签订下不可能完成的服务合同。这种情况下,项目尚未启动就已经注定了其中的高风险。1.3软件项目风险一般来源

软件项目的风险来源与软件项目的抽象性、复杂性特点有关,主要有以下几方面:(1)需求风险:①在做需求分析中客户参与不够,导致需求不明确;②需求定义欠佳,而进一步的定义会扩展项目范畴;③需求已经成为项目基准,但需求还在继续变化:如添加额外的

需求或变更需求;④缺乏有效的需求变化管理过程。(2)计划编制风险:①计划编制过于仓促,以致考虑不全面;②计划过于优化,不符合现实;③没有变更控制计划,缺乏弹性;

(3)开发环境风险:①必要设施未及时到位②设施虽到位,

但不配套或不合格③开发工具未及时到位;④开发工具不如期望的那样有效,开发人员需要时间创建工作环境或者切换新的工具;⑤新的开发工具的学习期比预期的长,内容繁多。(4)设计和实现风险:①设计质量低下,导致重复设计;②一些必要的功能无法使用现有的代码和库实现,开发人员必须使用新的库或者自行开发新的功能;③代码和库质量低下,导致需要进行额外的测试,修正错误,或重新制作;④过高估计了增强型工具对计划进度的节省量;⑤分别开发的模块无法有效集成,需要重新设计或制作。(5)产品风险:①产品质量不合格,需要矫正;②产品与现有系统不兼容③在不熟悉或未经检验的软件和硬件环境中运行所产生的未预料到的问题;④依赖正在开发中的技术将延长计划进度。产品难以维护(6)人员风险:①项目开发成员缺乏经验,技术能力不强;②开发人员之间协作关系不佳,导致出现错误或额外的重复工作;③开发人员和管理层之间关系不佳,导致决策缓慢,影响全局;④开发人员变更(如人员调离或新增人员)使其他成员受到影响,工作节奏被打乱使工作效率低;⑤找不到特定技能的人员来取代流失核心开发人员的位置影响了工作进度。⑥与客户沟通不佳,导致其对于最后交付的产品不满意,要求重新设计和重

做;⑦客户对计划、阶段产品等评审及回复的时间比预期的要长,影响项目进度;⑧客户要求有变更导致工作计划需要进行调整。此外,软件项目的风险还来源于组织与管理风险,外部环境风险,商业风险以及一些不可预测的风险等。2.软件项目风险管理的意义软件项目和其他的项目相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难

以预测和保证。其次,软件系统的复杂性也导致了软件项目开发过程中存在各种难以预见和控制的风险。

项目风险威胁项目计划,如果风险变成现实,有可能会拖延项目的进度,增加项目的成本,甚至导致项目失败。为了确保项目以最低成本按时按质成功完成,进行项目风险管理是必要的。

(1)风险管理对选择项目、

确定项目范围和制定现实的进度计划和成本估算有积极意义。(2)风险管理为项目中存在的不确定性划定边界,让项目成员对项目风险有所准备,自觉预防风险。

(3)风险管理可以尽早发现潜在的问题,制定相应措施,以保障项目的顺利进行。(4)风险管理为风险承担划分责任范围,能防止隐蔽的责任

推诿。(5)风险管理能够在风险发生后将损失降低到最低。

(6)风险管理可以为日后的项目管理积累经验和历史数据。3.软件项目风险管理

3.1软件项目管理及其风险管理软件项目管理就是为了使软件项目能够按照预定的成本、

进度、质量顺利完成,而对人员、产品、过程和项目进行分析和管理的活动。它根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,使潜在风险最小化。以预定成本按期,按质的完成软件交付用户使用。

3.2风险管理的主要步骤一个软件开发项目从启动到成功实现时是一个动态的过程,期间有可能出现各种风险导致项目受到不同程度的影响,因此风险管理应贯穿项目过程。风险管理的主要步骤如下:(1)风险识别识别风险就是试图系统化地确定那些可能发生并危及项目

成功的条件、情况或者事件。风险识别结果应该包括风险的来

软件项目风险管理

2007年第12期福建电脑

51

源、分类、表现及其后果等。要识别风险就要了解在软件项目实施的各个阶段(初始阶段、设计阶段、实施阶段、收尾阶段)可能存在哪些风险。

从风险的不确定性角度,风险分为①已知风险,是通过仔细评估项目计划、开发项目的商业及技术环境、以及其它可靠的信息来源之后可以发现的那些风险(如:不现实的交付时间,没有需求或软件范围的文档、恶劣的开发环境)。②可预测风险,能够从过去项目的经验中推测出来(如:人员调整,与客户之间无法沟通,由于需要进行维护而使开发人员精力分散)。③不可预测

也会真的出现,但很难事先识别出它们来。风险,它们可能、

通过识别已知的和可预测的风险,使得项目管理者能够估算风险产生的影响,进而便于避免这些风险,且当必要时控制这些风险。

识别风险的手段常用的有风险识别问询法(座谈法、专家财务报表法、流程图法、现场观察法、相关部门配合法和环法)、

境分析法等。

(2)风险评估

又称风险预测,是对已识别的风险要进行估计和评价,试图从风险发生的概率与后果这两个方面来评估每一个风险。风险评估有助于确定哪些风险需要应对、哪些风险可以接受、哪些风险可以忽略、哪些风险应该受到重视。

决策树评估风险的常用技术有风险因子计算、PERT估计、

分析、风险模拟和专家判断等。

(3)风险应对计划制定

风险被识别和评估之后,项目小组必须制定应对风险的计划。计划包括选择针对不同风险所要采取的措施(风险规避、风险接受或风险减轻),并确定所需的相关资源。计划有风险管理计划、应急计划和应急储备。风险管理计划概括了风险识别和评估的结果,并描述进行风险管理的一般方法,记录管理整个项目过程中所出现的风险的步骤。应急计划是指当一项已识别的风险事件发生时,项目团队将采取的预先处理的措施。应急储备是为了应付项目可能发生所持有的预备资金,可用来转移成本和进度风险。例如,如果项目因员工不熟悉一些新技术而导致其偏离预定轨道,那么项目负责人可以从应急储备中提取资金来聘请咨询师,培训和指导项目人员采用新技术。

(4)风险监控

风险监控包括风险监督和风险控制,是指跟踪已识别出的风险,执行风险应对计划来设法避开或转移风险,或在风险发生

识别后实施相应计划以把损失降低最低,并包括监视残余风险、

新风险、更新应对管理计划的过程。风险监控的技术有十大风险事项追踪、核对表、定期项目评估、挣值分析等。

在项目风险管理中,存在多种风险管理方法与工具,软件项目管理只有找出最适合自己的方法与工具并应用到风险管理中,才能尽量减少软件项目风险,促进项目的成功。4.思考与几点建议

软件项目是一项复杂的任务,很多不可预见的事件会对项目的成本、进度或者质量产生负面影响。风险贯穿软件项目的整

有效地进行风险管理,才能确保项目的成个过程,只有正确地、

功完成,保障公司的利益。但目前我国的软件项目风险管理仍然没有引起大家足够的重视,发挥应有的效用,本人认为应该从以下几点进行改进:

(1)首先要树立风险意识

软件开发人员应该具备风险意识,对可能出现的不良结局的要有警惕性,由此要小心谨慎地处理项目开发过程中的业务需求、技术方案和组织管理等问题。

(2)采取主动式的风险管理

有的软件项目组对风险不闻不问,直到发生了错误才赶紧采取行动,试图迅速地纠正错误。这种管理模式往往增加成本,并使项目的进度受到影响。应该采用主动式的风险管理。

(3)使用软件辅助项目风险管理

数据库可以跟踪风险,电子数据表可以帮助量化风险,而风险管理软件可以帮助开发模型、模拟分析和应对种种风险。

总结经验,形成风险数据库。(4)积累、参考文献:

1.郑人杰.实用软件工程.[M].清华大学出版社.1997

2.(美)凯西 施瓦尔贝.IT项目管理.[M].机械工业出版社.2002

3.(美).TomDeMarco,TimothyLister.与熊共舞――软件项目风险管理.[M].清华大学出版社.2004

4.(印).PankajJalote.软件项目管理实践.[M].清华大学出版社.2003

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

(上接第126页)

访问www.xxx.edu.cn的时候,智能DNS将www.xxx.edu.cn解析为服务器的教科网IP,使教科网用户能够直接通过教科网访问

资源。

3.结束语

近年来,随着高校教育信息化不断开展,非省会高校与省会高校网络信息资源交流越来越密切,传统的单一网络出口已经不能够满足信息交流的需要,本文根据实践工程经验,分析了非省会高校校园网的特点,介绍了高校网络多出口结构系统的设计思想和方法,设计了高效网络多出口结构。

www.xxx.edu.cn,当电信用户访问www.xxx.edu.cn的时候,智能DNS将www.xxx.edu.cn解析为服务器的另外一个电信网IP,使电信网用户能够直接通过电信网访问www.xxx.edu.cn,使校外用

户能够自动根据本地网络范围最快地访问学校资源。高带宽、多出口结构的校园网,安全问题必须高度重视,如果学校资金充裕,校园网规模大,则应该从安全、高效、易扩展等角度考虑多出口结构的设计,规模较大的多出口校园网结构设计图如图2所示,在服务器群前需安装中端防火墙抵御来自校内校外用户的攻击,在主干需安装防火墙,保护校内计算机不受校外用户的攻击。

网络软件的应用发展速度远远快于网络硬件与带宽的发展,再大的带宽如不加以重点业务保护也不会实现最初的计划,网络依然在高峰时候会出现睹塞,所以要在主干上架设整流设备对重点业务流量加以保护,可在LINUX系统上利用TC、IPT-ABLE等开发流量限制系统,也可购买专业设备,实现最优

QOS,限制P2P等流量,保证教学等重点业务流量带宽,在网络边界不同出口分别设置专业NAT设备,实现校内用户访问外部

图2

高校大规模多出口校园网结构设计图

本文来源:https://www.bwwdw.com/article/z7im.html

Top