浅析信息系统项目的风险管理
 

2009-12-21 作者:李晓 来源:万方数据

 

风险管理是项目管理的主要部分,其目的是追求积极活动的最大化和不利活动的最小化。在现代项目管理中,强调对项目目标的主动控制,以对项目实现过程中遭遇的风险和干扰因素可以预防作用,从而减少损失。信息系统建设项目是一项风险的过程,风险管理贯穿信息系统项目的全系统生命周期。本文通过引用ISSE—CMM风险管理的基本原则,在IS09000:2000持续改进的思想上,讲述在信息系统项目管理中建立起一套规范化并且能够持续改进的风险过程管理循环,以不断提高在信息系统项目中风险管理的质量和效率。

1 风险及风险管理

1.1风险的定义及分类

“风险就是有害事件发生的可能性。”即所有有可能影响项目目标实现的客观不确定性事件或因素的集合。风险是在项目管理中不希望发生的,但是风险是客观存在的。

风险包含三个要素:威胁、弱点、影响。如果不存在脆弱性和威胁则不存在有害事件,也就不存在风险;如果风险事件发生不产生影响,也就不是有害事件。风险管理的定义、要素及方法:

“管理风险的目的是标识、评估、监视和降低风险以便于系统工程活动和全部技术活动两者都取得成功”。我认为项目风险管理是在项目期间识别和控制能够引起不希望变化的潜在领域、事件的形式和系统的方法。

风险管理的典型活动包括:风险规划、风险标识、评估分析风险、复查风险评估、执行风险降低活动、跟踪风险降低活动、监视风险等。

项目风险管理方法范例包括:

(1)使用一个螺旋式的管理方法,即周期性的阐明和记载下一个周期的目标和整个项目的目标。

(2)在每个周期的开始和开发降低风险方法时,格式化的标识和检查风险。

(3)在每个周期结束时,回顾减少每一个风险所取得的进展。

1.2信息系统项目的生命周期和风险

1.2.1信息系统项目的生命周期

信息系统生命周期可以分为以下5个阶段:

(1)起始表述系统的需要并记录应用系统的目的。

(2)开发/采购对信息系统进行设计、购买、编程、开发、测试或其它形式的构建j这个阶段经常包含所定义的其它周期,如应用系统开发或采购、测试等。

(3)实施经过初期的系统测试后,系统被安装到位。

2 项目风险过程管理循环的建立

2.1风险管理规划

风险管理规划是规划和设计如何进行项目风险管理的过程。该过程包括定义项目组织及成员风险管理的行动方案及方式,选择适合的风险管理方法,确定风险判断的依据等。

风险管理规划的流程如图1所示:

图1风险管理规划的流程

2.2风险标识

风险管理的第一步是系统的、连续的识别和评估潜在的风险领域,风险标识实际上是对将来可能发生的风险事件的一种设想和猜测。因此,一般的风险标识结果应包括风险的分类、来源、表现及其后果、以及引发的相关项目管理要求。

2.3风险评估、分析

在进行风险标识并整理之后,必须就各项风险对整个项目的影响程度做一些分析和评价,通常这些评估建立在以特性为依据的判断和以数据统计为依据的研究上。风险评估主要包括其三个要素:威胁、弱点、影响及已暴露风险的评估,见图2。

图2风险评估三要素

2.3.1评估影响

评估影响的目的在于识别对该项目有关系的影响,并对发生影响的可能性进行评估。影响可能是有形的或是无形的。影响是意外事件的后果,对项目资产产生影响,可由故意行为或偶然原因引起。这些后果可能直接毁灭某些资产,间接后果可以包括财政损失、市场份额或公司形象的损失。

2.3.2评估威胁

评估威胁的目的在于识别威胁及其性质和特征,并对项目风险的威胁进行标识和特征化。

由于威胁可能发生变化,因此必须定期地对其进行监视,使项目的风险理解始终得到维持。评估威胁的实施清单:

(1)识别由自然因素所引起的适当威胁;

(2)识别由人为因素所引起的适当威胁,偶然的或故意的;

(3)识别在特定社会环境中的威胁因素;

(4)评估由人为因素引起的威胁影响的能力和动机;

(5)评估威胁事件出现的可能性;

(6)监视威胁频谱的变化以及威胁特征的变化。

2.3.3评估脆弱性

评估项目的脆弱性环节的目的在于识别和特征化项目中的薄弱环节,包括分析项目资产、定义特殊的脆弱性环节以及提供对整个项目脆弱性环节的评估。

2.3.4评估暴露

当风险暴露(威胁,弱点,影响三者的组合)时,应当及时进行识别,识别该暴露的目的在于认识这些威胁和脆弱性的利害关系,进而识别出现威胁和脆弱性造成的影响。暴露决定今后采取的风险规避措施,并列出项目的暴露清单。

2.4复查风险评估

复查风险评估是为了获得项目风险评估的正式认可。复查风险评估的充分性,以决定是否进行、修改或取消基于风险的活动。这种复查应包括潜在的降低风险的努力和成功的可能性。会议的方式方便交流控制风险的感觉,为每一种风险提出可能的降低风险策略,并取碍与会者认同,认为风险估计是合理的,并且没有遗漏明显的降低风险的其它策略。

2.5执行风险降低活动

风险降低活动可列出减少风险发生的可能性或减少风险发生时所造成损失的程度,对那些应特别关注的风险,几种降低风险的活动可以同时开始。降低风险的活动示例如下:

(1)建立一个可测试此活动的模型。以验证这种风险降低策略可以减少风险发生的可能性;

(2)为有风险的活动建立备选方案。一旦风险发生,采用备选方案可使该风险对项目整体进度的影响降低。

2.6监视风险及跟踪风险降低活动

监视风险就是要跟踪识别的风险,识别剩余风险和出现的风险,修改风险管理计划,保证风险计划的实施并评估消减风险的效果。监视风险频谱变化和风险特征的变化,由于任何位置和状态的风险频谱都是动态的,新的风险可能关联进来,而现有风险也可能发生变化。因此,监视现有风险及其特征,有规律的检查新的风险是十分重要的。

2.7持续改进

持续改进过程的步骤是一种基于PDCA循环的系统化问题解决方法,改进通常是阶段性的,要观察每个阶段各个过程的整体效果,而不是分散进行。不然的话,分散优化会降低整个项目的效率。具体步骤如下:

(1)识别项目风险过程改进机会这一阶段的目标是选择适当的项目风险过程用于改进。

(2)评价需改进的风险过程这一阶段的目标是选择有挑战性的问题及确定改进的指标。重点就是把需改进的项目风险过程具体指标细化,并确定改进的具体目标。

(3)分析项目实施中存在的问题这一阶段目标是识别目前风险管理中存在的原因,充分利用有关工具和方法找出原因。

(4)采取措施规划并采取适当措施改正不规范的做法,针对风险管理工作过程进行改正。以达到目的,消除存在的问题。

(5)确认改进的结果评价采取的风险管理措施是否达到了目标。

(6)改进方法标准化这一阶段的主要目标就是确保项目风险管理的水平得到维持,要确保已经改进的工作效果通过制定的管理流程图、程序、制度、标准等已成为日常工作的一部分,并可以把这一阶段的规范化管理成果推广到其他过程或部门。

(7)为下一阶段或未来项目进行计划主要针对遗留问题制定计划并评价其效果,通过学习其他部门的经验为下阶段工作和未来项目提供规范化管理的知识。

3 信息系统项目生命周期的风险管理

3.1起始阶段

在确定新的信息系统概念和早期设计过程中,风险管理的目标是保证业务和信息技术系统的一致性,避免在项目启动初期出现不合理的行为导致返工。

(1)系统规划区分系统各部分交付的优先次序,了解其内部的相互依赖关系,明确交付系统的能力、容量和可能的制约因素,按照优先级次序启动不同流程。

(2)确认系统方案的可行性对系统方案交付选项进行有效的评估,保证业务和信息系统在理念上的一致性,确认真正的需求范围和交付内容,保证预算在各个子目标之间的合理分配,利用原型法把模拟的应用转换为实际的应用。

(3)评估影响考虑新的应用系统对组织现有系统、流程和利益相关者的影响。

(4)考虑所有可能的方案权衡是购买还是自行开发系统,考虑每种选择所包含的风险并进行分析,以利于持续改进。

3.2开发/采购

对于大多数信息系统来说,开发/采购阶段比起始阶段更复杂,可以分为以下三个子阶段。

3.2.1需求和方案设计

在开发,采购阶段的初期,系统计划者定义系统的需求,风险管理的需求也应该与此同时制定,风险管理的目标是保证在系统解决方案开始构建之前,明确方案的优缺点,避免返工。方案架构设计过程应该坚持对方案进行严格的质量评估,同时要积极管理合作伙伴合同和技术采购上可能出现的风险。

确定需求的优先级在整个系统方案范围内,评估并确认需求的优先顺序和组织的能力,哪些是必须做的,哪些是可以完成的,哪些是可能完成的,哪些是可能完不成的。

定义接口如果多个团队必须同步开展系统开发,应该为最终集成在一起的多个子系统定义清晰的接口。

选择技术组件挑选需要采购、改造、修改的技术组件,确认其来源的可靠性、质量和持续支持的能力。

3.2.2系统构建(开发/采购)

如果系统要自行开发,编码工作此时已经开始启动,对采购软件,则需要同步开始进行裁剪和配置工作,这个阶段需要避免的风险主要和系统各个组成部分自身携带的缺陷有关,这些组件集成到整个系统中,也可能引入新的缺陷。

系统分割和合并系统设计一般都是分开进行。这样便于多个团队并行工作,提高效率,最终要把这些工作集成到一起。尤其是需要多次发布的软件,分割和合并的工作更为复杂。

3.2.3系统测试

系统测试阶段主要的风险管理目标是通过测试识别不可接受的缺陷,并确认每个缺陷都得到了解决。

确认系统的正确性和完整性依照系统规范和业务需求,按部就班地对系统实施“肯定性”和“否定性”测试,以保证系统能够正常运作。

增强信心对重要的业务流程,必须从端到端的角度来验证系统具备正确的功能。

获得用户认可提供证据证明来自交付伙伴的方案组件和整体系统在业务上都是可以接受的。

3.3实施

在实施阶段,系统主要的风险管理目标是保持业务的持续运行,避免业务中断。

预演在系统投产前,组织用户代表进行技术演练,使用户对系统在时问、次序和可能造成的影响等方面都有一个清晰的了解。

投产动员实施队伍,按照计划进行应用实施,并验证系统实施是否取得成功。

回退制定一套可以让业务退回原有状态的备用计划,并在实施前进行演练。

3.4运行和维护

由于系统的复杂性和资源限制,测试阶段很难对信息系统进行穷尽测试,系统在运行中总会出现新的缺陷,同时业务的发展变化也会对系统提出变更和改进要求,此时风险管理的目标是把系统从故障状态中恢复正常运行,避免系统改进造成新的故障。

变更管理对必要的系统变更进行系统管理。

定期安全检查认识系统安全的重要性,完善安全策略,定期进行检查审核。

灾难恢复计划更新系统发生变更后及时更新灾难恢复计划,并定期进行演练。

3.5退出与废弃

信息系统生命周期的退出和废弃阶段涉及到信息、硬件和软件的处置。在理想情况下,旧应用系统退出计划应该作为新应用系统实施和切换的一部分。

信息可以转移到其它系统、存档、丢弃或销毁,对信息存档时应该考虑未来能够取回信息的方法。

硬件和软件硬件和软件可以被销毁、出售、赠送或丢弃。对包含保密信息的存储介质必须进行销毁,对软件的处置应遵循许可证和其它与开发商的协议。

费用用来清除一个过时的应用系统的资金一般很难得到保证,因为系统的退出不能为组织带来明显的经济利益,要采取有效措施防止因处置费用不足而引起的各种风险。

即使采用了全生命周期的风险管理,也不能保证完全去除信息系统中所有的风险,但引入全生命周期的风险管理方法为我们提供了很有益的一套流程,结合理解实际信息系统发展中的每一个步骤,可以帮助我们把注意力集中在如何应对系统中的问题上,并采取相应的补救措施进行持续改进。

4 结束语

随着IS09000:2000和CMM的大规模应用,以及信息系统项目复杂性的增加,要想提高信息系统项目运转效率和可靠性,有效地降低风险,应采用基于持续改进的方法对信息系统项目风险进行管理。本文借助于ISSE—CMM的风险管理模式,分析了项目风险管理的内涵、风险来源、特点及管理过程,详细阐述了建立信息系统项目全生命周期风险过程管理循环的方法,对信息系统项目风险管理有一定的实际借鉴意义。

火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。

资源网站: UML软件工程组织