比较,以供风险管理作为决策参考。
2 风险管理辅助工具的开发
2.1 工具的主要功能
基于上述相关功能需求, 本文设计并实现一个名为RiskManager 的软件项目风险管理辅助工具。应用RiskManager 进行项目风险管理时,一般可以遵循以下步骤:
(1)进行元素信息登记;
(2)进行加工单元信息的登记,建立、审核加工单元关系网络;
(3)进行风险源信息登记;
(4)进行风险影响分析与预测;
(5)根据项目进展或风险情况的变化,随时对信息进行调整和重新分析。
2.2 工具的设计和实现
RiskManager 基于Microsoft.NET Framework2.0 平台开发实现,采用C#作为编程语言。软件采用客户机/服务器结构形式,基于角色权限控制对用户操作范围进行管理,其中,图形界面的开发主要采用Microsoft.NET 框架下的GDI+技术,并支持XML 格式的数据导入和导出。
实践和相关工作本文方法延续了前人用风险发生损失和风险发生概率来描述风险暴露值的思想。RiskManager 工具已初步应用在实际项目的风险管理工作中。
在实践中发现,将完整项目分解为加工单元,以降低复杂度的方法具有可行性,在相同网络节点数量规模下,其结构比贝叶斯网络方法易于建立和维护。利用该方法可以在复杂项目中快速计算和观察风险影响的估算数据。
在元素成功概率的递推计算方面,本文方法与贝叶斯网络风险分析方法的明显不同在于:
(1)本文方法采用概率加法和乘法公式的自由组合计算公式来组织元素间的概率递推关系,而不使用贝叶斯公式,计算中不需要输入条件概率分布的真值表,因此,很大程度上降低了网络节点数据的维护难度。
例如,针对50 个元素节点,若按每个元素有4 个前驱父节点来计算,则本文方法需要输入50 组概率即可,而贝叶斯网络方法至少需要50×24=800 组。本文方法在建模时不需要考虑全局所有元素节点的条件独立性问题,在贝叶斯网络方法中则必须考虑该问题。
(2)本文方法可以得到基于元素和基于过程(即加工单元)的2 套拓扑结构,基于加工单元的拓扑图对于复杂项目来说,更容易理解且便于沟通和实用,而贝叶斯网络方法仅能得到一种基于节点的拓扑结构。
在元素成功概率的递推计算方面,本文方法与贝叶斯网络风险分析方法的明显不同在于:(1)本文方法采用概率加法和乘法公式的自由组合计算公式来组织元素间的概率递推关系,而不使用贝叶斯公式,计算中不需要输入条件概率分布的真值表,因此,很大程度上降低了网络节点数据的维护难度。例如,针对50 个元素节点,若按每个元素有4 个前驱父节点来计算,则本文方法需要输入50 组概率即可,而贝叶斯网络方法至少需要50×24=800 组。
本文方法在建模时不需要考虑全局所有元素节点的条件独立性问题,在贝叶斯网络方法中则必须考虑该问题。(2)本文方法可以得到基于元素和基于过程(即加工单元)的2 套拓扑结构,基于加工单元的拓扑图对于复杂项目来说,更容易理解且便于沟通和实用,而贝叶斯网络方法仅能得到一种基于节点的拓扑结构。
3 、各项目的部分实践数据统计
其资金规模都在50 万~80 万人民币之间,前2 个是商业网站建设项目,另一个是金融行业专用软件项目。项目A 作为对照,未使用此工具,项目B 和项目C 使用此工具后,风险监管数量有所增加,但风险信息维护和沟通效率得到明显加强。实践结果表明,RiskManager 工具能把风险影响较直观地显示出来,
具有计算快速和调整便利灵活的优势,有利于项目干系人之间的风险管理信息沟通。该工具有助于风险影响估算、风险分析的经验积累和辅助风险管理者的决策。
4 结束语
本文提出一种基于软件过程的项目风险管理辅助工具。其中,加工单元设计的细粒度判断以及元素成功概率的设取必须由经验丰富的使用者来执行,以获得良好的风险管理效果。下一步工作将从操作便利性和数据挖掘深入两方面着手,继续完善工具的开发,并计划将元素成功概率细化到项目范围、进度、质量等其他维度。