6 结论和建议
6.1 本文主要内容
目前,随着国内 IT 企业的竞争越来越激烈,软件开发项目的风险管理受到广泛的重视。但是在实际工作中,大多数人更多的是停留在经验判断和定性分析的层面。因此本文力求从风险识别和风险评价等方面借助一些科学的理论和方法,并初步把这些方法切实地运用到 IT 企业的日常管理中来。
针对 IT 中小企业的特点,以 ZK 公司的管理人员一起从项目管理的制度上尽可能地把软件开发项目风险评估的方法按程序、有步骤地组织起来,贯穿于软件开发项目整个生命周期,建立了一个系统的、科学的、适用的风险评估模型,使风险分析和计算工作更简便易懂、易于操作,更加将风险管理融入到公司的日常管理中。
本研究根据 ZK 公司在日常承接的软件开发项目过程中的风险的表现特点,通过建立软件开发项目风险管理的相关指标体系,引入层次分析法和模糊综合评价法,构建一个风险评估模型,用来对 ZK 公司实施中的各个软件开发项目进行评价,并推动公司逐步完善其风险管理的相关措施,为减少公司在项目实施中遇到的困难起到一定的积极作用。
本文把风险评估及项目管理的相关理论知识,结合到软件开发工作中加以探索,主要工作包括:
1、综合了软件开发项目的特殊性和风险评估知识领域,建立起软件开发项目风险评价指标体系。而风险识别的关键就是建立起符合软件开发项目特点的风险评价指标体系。论文从软件生命周期的角度和基于 SEI 的 CRM 概念来构建出软件开发项目的风险评价指标体系,趋于结构化、系统化,解决了以个人经验和工作分工来识别项目风险的局限性。同时,本文的评价指标体系是从宏观管理层面和微观操作层面构建的两层结构模型,较好的反映了公司日常宏观管理和具体软件开发项目的特点。
2、改进了软件开发项目风险评估算法。由于软件开发项目相关风险指标都是定性指标,具有不确定性和模糊性,因此本文基于模糊评价的数学模型,结合专家调查法和层次分析法对风险识别模型中的主观数据的处理进行了改良,更能吻合软件开发项目风险的估计和评价,也具备较强的可操作性。
3、将风险评价指标和评价工作融合一起,创建了风险评估工具----《风险评价表》。该表能够直观地呈现出评估模型的评价指标体系,而且界面简洁,参与者能够很容易理解并客观填写,有效保证评估工作的顺利开展以及数据客观有效。
4、建立风险综合评价函数。一般的评估模型可以给出不同各评价指标的风险概率,各个风险指标之间综合作用影响了对软件开发项目风险的评估。通过引入评语量化尺度向量和评语集的对照,建立风险综合评价函数,可以直接计算得出项目的综合风险数值,并能直接映射到对应的风险评语。该综合风险数值能反映出软件开发项目的总体综合风险水平,对于比较不同的项目、同一项目中不同实施阶段的风险状况是十分有用的。
6.2 ZK 公司风险评估模型特点
ZK 公司在利用该评估模型对上述两个项目进行实证评估后,认为该评估模型比较符合公司的实际情况,可以让公司管理层比较客观全面地了解公司所有实施中的项目风险状况,而不再完全依赖项目经理的经验判断和口头汇报。公司领导层可以参考评估结果来调整对具体项目的参与程度,将重要的精力放在风险高的软件开发项目中或者是项目开发外的事务(如营销、商务、财务等)。ZK 公司将逐步在公司内所有软件开发项目中使用该风险评估模型,并调整公司内部管理流程配合。
一、该风险评估模型适用条件如下:
1、软件开发公司。评价指标都是基于软件开发项目。
2、针对已经开始实施的软件开发项目进行评估。没有纳入项目实施前或实施后的相关指标。
3、适用于中小企业。人员规模不大,无专门的风险控制专员或部门。
4、公司内多个软件开发项目同时开展,存在内部资源竞争。需要不断对各项目进行评估后调配资源。
5、需要快速评估。由于中小型软件开发项目本来就只有几个月的周期,评估模型应该可以随时运用,并且可以快速出到结果。
6、允许评估误差。评价指标有局限性,评价人员也不是专业评估员,结果仅供管理层参考。
二、该风险评估模型有如下优点:
1、简单易用,参与者无需了解太多的理论,在评价表打钩即可。
2、公司管理层根据项目风险评估结果来调整对项目的参与度。
3、评估结果可作为公司内部资源调配的参考。即使是相同风险评语,不同项目的评估结果数值可以直观进行比较,公司内部有限的资源可以参考不同项目的风险程度高低进行优先分配。
6.3 建议。
建议 ZK 公司在今后的软件开发项目中,继续利用该评估模型定期对实施的项目进行风险评估,并在实践中对评估模型进一步检验与修正,主要的方向在研究是否还有潜在的关键风险要素未被识别、在项目进展过程中各种要素的相关性是否合理,同时公司内部的管理流程是否需要优化,风险处置手段和措施是否能够有效地配合。
以下是该风险评估模型可以进行改进优化的方向:
1、基于该模型的建设参与者以作者和公司管理层有主,在风险识别阶段可能未对软件开发项目的风险点识别完整,从而可能忽略了某些关键风险。在公司持续加强项目风险管理的情况下,公司管理层应该对风险管理有深一层的认识,今后适时再检讨风险识别结果,必要时按本文的方法从管理宏观的层面重新构建评估模型的综合指标(表 4-2 ZK 公司软件开发项目风险评估模型--综合指标)。
2、由于是针对中小企业构建的模型,为能够在很短时间内评估出结果,需要适应公司的人员资源特点,所以把我们认为不是很关键的风险点人为减去,也有可能影响评价指标体系的完整性。随着公司规模扩大,或技术人员对风险管理的认识进一步加深,可以检讨风险评价指标是否可以增加,以覆盖项目各个方面,必要时按本文的方法从微观操纵层面重新构建评估模型的评价指标体系表(表 4-3 ZK 公司软件开发项目风险评估模型--评价指标)和评价工具--《软件开发项目风险评价表》(表 4-14)。
3、同样是考虑到减少模型的复杂性,在综合指标和评价指标之间的相关性也作了简单的处理,直接将相对弱的相关性视作无关。这样对评价指标的综合权重也有一定的影响。在上述综合指标或评价指标需要进行调整时,指标相关性必须重新评估并更新层次结构(图 4-2 ZK 公司软件开发项目风险评估模型--层次结构)。
4、该模型的指标权重都是依据公司自身当前特点计算后固化在模型中的,和公司管理层以及参与模型建设的专家自身经验水平有关。所以当公司自身情况有较大改变时(如部门经理辞职、财务亏损、扩张经营等),相关风险指标权重就不再适合,必须按本文的方式步骤重新调查并计算评价指标权重(表 4-13 ZK 公司软件开发项目风险评估模型--评价指标权重)。
当然,在涉及上述优化时,都必须按本文方法逐步重新计算后才能得到优化后的风险评估模型。
另外,在使用该模型进行评估时,是基于项目组成员为主进行评价构建评价矩阵。
项目组成员都是技术工程师为主,对风险管理理论认识不一定到位,对一些评价指标不理解或在评价自己的项目时带有主观性,可能影响到评价结果的客观准确。这也需要公司在日常工作中不断强化风险教育,可以提高评价矩阵的质量,从而保证风险评估模型的准确性。
而在实践过程中,可以充分发挥公司的技术优势,将该评估模型开发成一个简单的程序,由指定的人员直接通过计算机界面录入《软件开发项目风险评价表》(表 4-14),系统自动汇总并对项目给出当前的风险定级和评语 V1(极低),V2(低),V3(一般),V4(高),V5(极高)。
参考文献:
[1] 汪小金.项目管理方法论[M].北京:人民出版社,2011.
[2] 张强.决策理论与方法[M].大连:东北财经大学出版社,2009.
[3] 张泽虹.信息安全管理与风险评估[M].北京:电子工业出版社,2010.
[4] 吴晓平,付钰.信息安全风险评估教程[M].武汉:武汉大学出版社,2011.
[5] 杨建梅.数据、模型与决策.[M].广州:华南理工大学出版社,2008.
[6] 叶陈刚,郑君彦.企业风险评估与控制[M].北京:机械工业出版社,2009.
[7] 范道津,陈伟珂.风险管理理论与工具[M].天津:天津大学出版社,2010.
[8] 巩在武.不确定模糊判断矩阵原理、方法与应用.[M].北京:科学出版社,2011.
[9] 佟瑞鹏.常用安全评价方法及其应用[M].北京:中国劳动社会保障出版社,2010.
[10] 王晓群.风险管理[M].上海:上海财经大学出版社,2003.
[11] 张广玉.论风险型决策与决策者的类型[J].统计与决策,2005,(4).
[12] 胡永宏,贺思辉.模糊综合评价问题[M ] .北京: 科学出版社,2001.
[13] 许树柏.层次分析法原理.[M].天津: 天津大学出版社,1988.
[14] Boehm B.W. Software Risk Management.[M].IEEE Computer Society,1989.
[15] Robert Charette N.Software Engineering Risk Analysis and Management. [M].New York Intertext Publications,McGraw-Hill Book,1989.
[16] 郑人杰.软件工程.[M].北京:清华大学出版社,1999.
[17] 张李义.信息系统开发的动态风险模糊估测方法[J].系统工程理论与实践,2001.
[18] 海龟.软件生命周期模型与风险管理.[EB/OL].
[19] 余坚,郑跃斌.信息系统开发过程风险管理的实施模型.[J].计算机工程与应用,2002.
[20] Microsoft Corp MSF risk management process[DB/OL].
[21] The Standish Group Repot CHAOS.[EB/OL].
[22] IEEE. IEEE standard 1540 2001[S]. IEEE Standard for Software Life Cycle Processes Risk Management.Inc.NewYork,NY,2001.
[23] 严武,程振海,李海东.风险统计与决策分析[M].北京:经济管理出版社,1999.
[24] 李凤鸣.内部控制与风险防范[M].北京:经济科学出版社,1998.
[25] Ronald P. Higuera,Yacov Y Haimes[M]. Software Risk Management. 1996.
[26] 凯西.施瓦尔贝.IT 项目管理.[M].北京:机械工业出版社. 2002.
[27] 赵冬梅,吴敬,陈霄凯,张磊.软件项目的模糊风险评估及风险控制.[J].河北省科学院学报.2005,(12).
[28] 潘梅森,熊齐.基于 SVM 的软件需求分析风险评估模型.[J].计算机工程.2007,(6).
[29] 刘增,刘源.基于改进模糊综合评价法的软件项目风险评估.[J].中国制造业信息化.2009,(4).
[30] 赵宏霞,杨皎平.基于模糊识别的软件项目风险评估.[J].技术经济与管理研究.2007,(4).
[31] 邱菀华.现代项目风险管理方法与实践.[M].北京:科学出版社,2003.
[32] 熊吉陵,张孝锋.中小企业的经营特点与战略选择.[J].企业经济.2006,(11).
[33] 伊其磷.软件开发的风险分析与控制.[J]电子技术与软件工程.2013,(10).
[34] 吴宗东.软件项目风险管理理论和方法探究.[J].电脑知识与技术.2013,(5).
[35] 沈建明.项目风险管理.[M].北京:机械工业出版社,2004.
[36] 许谨良.风险管理[M].北京:中国金融出版社,2003.
[37] E M Hall.风险管理—软件系统开发方法.[M].北京:清华大学出版社,2002.