软件项目风险管理之探索
2012-04-29蒋海昌
蒋海昌
摘要:随着IT科技的飞速发展,软件项目的风险管理成为项目实施成功与否的重要环节。该文通过风险计划编制、风险识别、风险分析、风险管理策略,对软件项目风险管理进行了一定的探索。研究成果将对降低软件项目的风险,产生积极的促进作用。
关键词:软件项目;风险管理;策略;评估
中图法分类号:TP311文献标识码:A文章编号:1009-3044(2012)02-0338-02
The Research of Software Project Risk Management
JIANG Hai-chang
(Marketing Division of Shanghai Jiulong Information Technology Engineering Co. Ltd, Shanghai 200082, China)
Abstract: With the rapid development of IT technology, the software project risk management is an important part in the project imple? mentation. This article explored the software project risk management through the risk plan writing, Risk identification, the risk analysis and risk management strategy. The research results will reduce the risk of software project, produced positive effect.
Key words: Software project; risk management; strategy; evaluation
在经济飞速发展的今天,软件产业已经成为推动一个国家经济发展的重要产业。
伴随着软件产业得到大力发展的同时,我们发现了一些缺乏有效的风险管理而导致软件项目失败的例子。因此,如何对软件项目进行风险管理,在最大限度上减少风险的发生成为软件项目研究的重要课题。
本文组织如下:第1节描述了风险与软件项目风险的概念;第2节简要的介绍了软件项目风险的特征;第3节提出了一些软件项目风险过程管理的方法。第4节对本文内容进行归纳总结。
1概念
所谓风险,其定义出自古希腊单词“Rhiza”,其意思是指在近峭壁的河道中航行,可能会遇到暗流、礁石等危险。根据SEI风险管理体系的观点,风险的内容可包括两个部分:1)可能导致损失的当前状况描述;2)损失的描述。
虽然学术界对软件项目风险的定义还存在一些争议,但在风险包含不确定性和造成损失方面的看法得到了大多数从业人士的认同。
由于软件技术的快速发展,软件项目的风险成为当今IT企业经常遇到的问题。
所谓软件项目风险是指在软件项目开发过程中可能会出现各类问题。例如预算、进度等方面的问题,以及此类问题对软件项目造成的危害。
软件项目风险会推迟项目计划的实现,如果不能有效控制项目风险,则会延迟项目的进度;从而增加软件项目的人力、物力成本。最终,导致软件项目的失败。由于项目管理者需要负责项目生命周期内与项目有关的活动、推进项目进度以满足项目客户的利益要求。[1]为了减少风险的发生,项目管理人员必须进行风险管理。
2软件项目风险的特征
1)软件项目风险具有随意性。任何一种风险的发生都是各种随机因素与必然因素的共同组合,其过程往往无法预测。并且,绝大多数的项目都是在不确定的坏境中,从而具有风险。[2]
2)软件项目风险具有多变性。在整个项目实施的各个阶段中,各类风险的危害程度均可实时变化。随着项目的不断开展,某些风险可以得到有效控制,有些会在发生后被及时解决。并且,在项目的各个阶段都有产生新的风险的可能性。
3)软件项目风险具有多样性。如果软件项目规模较大,则开发周期较长、规模与风险因素种类繁多,往往导致其生命周期各阶段面临各类风险。
3软件项目风险过程管理
3.1风险管理计划编制
风险管理计划编制过程用于项目处理和执行项目风险管理活动,其结果可保证风险管理的级别、类型和风险项的重要程度相对应。并且,计划的编制为项目管理团队提供丰富的资源与时间用于实施风险管理活动。由于风险管理计划编制对风险管理起指导作用,因而笔者建议项目管理团队在软件项目前期规划阶段必须进行计划编制。
3.2风险识别
风险识别以系统化的方法为基点,结合某类特定项目的实情,进行已知与可预测风险的识别。其目的是减少项目的结构不确
定性。[3]
在软件项目中,笔者认为以下几个方法比较适合软件风险的识别。
1)头脑风暴法
头脑风暴法是指项目管理者通过组建开发管理团队,进行想法的汇集,从而产生新的想法,并编制解决某类问题的方案。此方法的应用,在我们创建系统性、综合性的风险清单时会涉及。
2)Delphi法
Delphi法是指项目管理者运用专家的智慧,进行意见收集。并以此为依据,对将来可能发生的问题进行预演。此方法笔者认为,我们需要组织多轮的专家讨论,以避免可能犯以偏概全的错误。
3)访谈法
访谈法是指通过现场交流、在线视频、电话讨论等方式,进行信息收集与业务分析。此过程是我们识别软件风险的重要工具。4)检查法
检查法是指运用检查表的形式列出软件开发项目中可能会出现的各种风险,并判断哪类风险将会在项目中出现。
此方法,直观明了,适合于各类项目管理人员。并且,可与头脑风暴法相结合。因而,笔者建议项目管理人员不妨去尝试着做。
3.3风险分析
项目风险是一种不确定事件或状况。其潜在风险,对项目的影响存在较大的差异性。因而,我们需要采用“风险分析”即通过分析、比对、评估等各种方式,确认各类风险的重要性,对风险进行排序与评价,从而保证项目风险得到较全面的控制。具体分析方法,可通过定性与定量的方法进行分析。所谓定性风险分析是指从概率与破坏程度角度着手,运用评估与汇总的方式对各种可能发生的风险进行排序。所谓定量风险分析是指对风险点进行量化计算与分析。总之,风险分析是将风险数据信息转化为风险决策信息的一个过程,它为风险判别和风险控制建立了良好的中介基础。
3.4风险管理策略
建立一个切实有效的高质量风险管理策略。需要包括以下几点:
1)风险规避。
即运用变更现有项目计划的方式,消除产生风险的源头,从而避免项目受到风险的影响。如:在项目早期,通过需求调研、专家决策、加强沟通等方式确定项目细节,以消除高风险的项目内容。
2)风险跟踪。
为了切实有效的对软件项目风险进行控制,管理人员需要在软件开发期间对风险具体的发展情况进行跟踪控制,准确了解软件风险的发展状态并及时采取规避措施,即风险跟踪。
风险跟踪的实行可通过重新评估项目风险、审计项目过程、分析项目偏差等方式,达到修正各类项目风险的目的。其内容,主要包含已识别风险或其他突发风险的观察记录。
3)风险监控。
即通过监控项目管理过程中已识别的风险,监测其剩余风险或可能引起的其他风险。并对风险控制计划的执行情况进行评估,以方便验证风险应急计划的有效性。从而,帮助项目管理人员在新的风险发生前做好预防与决策。
4结束语
在软件项目开发的各个阶段,一个成功的风险管理可有效防止与减轻各类项目中可能存在的问题,当风险未出现时,风险管理可帮助规避风险的发生或减小风险损失;当风险出现后,风险管理可以做出快速的监控与反应,从而减轻风险对软件项目可能带来的危害。
参考文献:
[1]朱启超.复杂项目界面风险管理模型研究[J].科研管理,2005,26(6):149-156.
[2]郭百钢.基于Bayes网络的项目投资风险评估与决策方法研究[D].南京:南京理工大学,2004.
[3]耿海.工程项目风险管理策略探析[J].现代商贸工业,2008,20(3).