1 基于软件过程的风险影响分析
项目风险是一种不确定事件或状况,本文主要研究风险发生情况下,造成损益的影响估算。可利用基于软件项目过程的网状建模结构和元素成功概率来记录并跟踪风险发生概率。
1.1 软件过程的建模
一个软件项目的开发过程可以抽象为:以必要的资源作为输入,在指定范围和时间内进行组织管理和生产,并产出交付物等重要输出的完整加工过程。将此加工过程分解成若干个子加工过程,以降低管理控制的复杂度,每个子加工过程称为加工单元,其具有的输入或输出被称为某个元素。
元素的选取范围包括但不限于项目中的重要产品文件、设备、软件成果、交付物、里程碑、工具、技术、人力角色、沟通会议和任何风险相关的因素。同一元素在不同加工单元中作为不同的输入输出属性,使各加工单元之间具有互相关联的关系,因此,元素具有连接各加工单元的作用。 期初已经具备或在项目中不关心其成因的元素称为根元素,其他元素称为非根元素。如果所有输入输出元素关系满足有向无环图节点的条件,那么利用计算机快速计算优势,可以直观地构建如图2 所示的多个加工单元间的网络状关系。
以上建立的软件加工过程模型记录了元素与加工单元之间绑定的具体映射关系和成本、工作量、元素成功概率等属性信息。此时形成的元素和加工过程描述的过程结构具有高度灵活性,它能据不同项目模式或项目管理者的侧重点,对元素和加工单元进行预设和定义。可以实现对风险影响受体信息传递结构的组织,并记录了项目主要交付物的一种任务分解。
1.2 风险影响的估算
估算侧重于风险对项目成本、项目工作量、元素成功概率等方面的影响,能计算多个风险影响的叠加。使用者可以通过观察和比较不同设定值下的计算结果来校正自己的估计,便于实现回馈调整式的项目管理。如果关心风险源的动态成因,则可以构建风险成因元素之前的输入和局部网络来跟踪风险发生的概率。
1.2.1 元素成功概率的计算
某元素成功是指“某元素符合干系人期望或预计而实现”这样一个事件,元素成功概率即此事件为真的概率,以此来表征项目交付物或其他元素实现的可能性。针对不同类型的元素,其元素成功的意义存在细化理解的区别。
例如,一些文档类元素成功的意义一般在于满足干系人对之的范围、质量、进度等方面的综合要求,而一些人员角色类元素,其成功意义在于他们具有令干系人满意的工作状态和效率。元素成功概率值的设定一般来源于经验估算或引用德尔福方法应用的结果。
根元素的元素成功概率直接设定为概率数值,非根元素的元素成功概率是一个基于概率加法原理和乘法原理的组合公式,通过引用输入元素的具体成功概率数值来计算得到。在加工单元的网络中进行递推计算,其中,E1~E3 分别表示元素1~元素3 的元素成功概率。
随着项目实际的进展或受到风险扰动因素影响,元素的成功率一般会降低。例如,元素4 的成功概率计算结果为92.57%。假设现在病毒风险发生,且该风险直接使元素3 的元素成功概率降为原先的60%,那么代入原设定公式,
可以计算出元素4 受风险影响后,其元素成功概率将降低到56.10%。在加工单元网络关系中类推,可获得后继影响的所有元素成功概率的变化,并形成统计表格。1.2.2 受风险影响的成本和工作量的计算加工单元网络建立之初设定了每个加工单元的成本估算值,之后依据既有网络结构和风险影响递推,以界定受指定风险影响的加工单元范围,并逐一累加得到全体受影响的成本值,进而计算所占总成本的比率。分析时可将风险的影响结果与应对措施或预防措施进行比较,以供风险管理作为决策参考。
2 风险管理辅助工具的开发
2.1 工具的主要功能
基于上述相关功能需求, 本文设计并实现一个名为RiskManager 的软件项目风险管理辅助工具。应用RiskManager 进行项目风险管理时,一般可以遵循以下步骤:
(1)进行元素信息登记;
(2)进行加工单元信息的登记,建立、审核加工单元关系网络;
(3)进行风险源信息登记;
(4)进行风险影响分析与预测;
(5)根据项目进展或风险情况的变化,随时对信息进行调整和重新分析。
2.2 工具的设计和实现