“君子以思患而豫防之”出自《周易•既济》,大致意思是君子总是想着可能会发生的祸害,并预先做出防范。任何项目从启动那一刻起,就无时无刻的存在风险,完全避免风险是不可能的,唯有积极地面对,才能处事不惊,化险为夷。本文将基于PMBOK中项目风险管理的理论知识,结合一些具体的实践案例,浅谈如何做好IT项目风险管理。

IT项目风险管理实践浅谈_java


一、初识项目风险


“风险”一词由来已久,民间流传最为普遍的一种说法是,在远古时期,以打鱼捕捞为生的渔民们,每次出海前都要祈祷,祈求神灵保佑自己能够平安归来。祈祷的主要内容,就是让神灵保佑自己在出海时能风平浪静、满载而归。在长期的捕捞实践中,他们深深地体会到,有“风”就意味着有“危险”,风会带来无法预测的灾难性危险。

IT项目风险管理实践浅谈_java_02


现代意义上的“风险”一词,已经远远超越了“遇到危险”的狭义含义,而是“遇到破坏或损失的机会或危险”,其核心的含义演变为“未来结果的不确定性或损失”,也可以进一步定义为“个人和群体在未来遇到伤害的可能性以及对这种可能性的判断与认知”。

对“项目”而言,项目天生就具备独特性不确定性特征,因此从某种角度来说,项目管理的核心就是风险管理。

“项目风险是一种不确定的事件或条件,一旦发生,就会对一个或多个项目目标的范围、进度、成本和质量造成影响。项目风险可能有一种或多种起因,一旦发生就可能造成一项或多项影响。我们认为项目风险源于任何项目中都存在不确定性。”


“风险的起因可以是已知或潜在的需求、假设条件、制约因素或某种状况。团队应致力于在整个项目期间积极、持续地开展风险管理。在整个项目过程中,组织的各个层级都应该有意地积极识别并有效管理风险。”

以上两段描述引自于PMBOK(项目管理知识体系指南),任何项目从启动那一刻起,就无时无刻的存在风险,完全避免是不可能的,唯有积极地面对才能处事不惊,化险为夷。如果不积极进行风险管理,风险实际发生时就可能给项目造成严重影响,甚至导致项目失败。要想取得成功,项目团队应致力于在整个项目期间积极、持续地开展风险管理。


那我们应该如何管理项目风险呢?PMBOK给了我们方法论,风险管理过程包括规划风险管理、识别风险、风险分析与评估、风险应对、实施与监控等,其目标在于降低项目消极事件发生的概率和影响。敲黑板划重点,目标是降低,而不是完全避免。

IT项目风险管理实践浅谈_java_03


二、规划风险管理


“规划风险管理是定义如何实施项目风险管理活动的过程。本过程的主要作用是,确保风险管理的水平、方法和可见度与项目风险程度,以及项目对组织和其他相关方的重要程度相匹配。”

规划风险管理过程在项目初识阶段就应开始,并在项目早期完成。在项目生命周期的中后期,可能有必要重新开展本过程,例如,在发生重大阶段变更时,在项目范围显著变化时,或者后续对风险管理有效性进行审查且确定需要调整项目风险管理过程时。

风险管理规划通常采取会议的形式,会议参加人员应包括项目经理、产品经理、团队领导者及任何与风险管理规划和实施相关者。风险管理规划将针对整个项目生命周期制订如何组织和进行风险识别、风险评估,风险量化,风险对应计划及风险监控的规划。沟通范围具体包括但不限于如下的内容:

IT项目风险管理实践浅谈_java_04


三、识别风险


“识别风险是识别单个项目风险以及整体项目风险的来源,并记录风险特征的过程。本过程的主要作用是记录现有的单个项目风险,以及整体项目风险的来源;同时汇集相关信息,帮助项目团队快速、准确应对已识别的风险。”

识别风险是整个风险管理中最关键的环节,通过风险识别过程的知识沉淀,可形成项目常见风险库,以供后续项目借鉴,并不断完善。

01

识别风险的方法

  • 头脑风暴。通常由项目团队开展头脑风暴会议,也可邀请团队以外专家参与。

    @实践举例:某项目的营销需求上线前,项目经理安排了一次跨团队的安全风险脑暴,除项目团队成员,还邀请了安全专家、运营专家等。大家在脑暴会议上从项目背景、风险点及应对策略、行业经验等方面抽丝剥茧、逐步深入,并形成重要的结论及待跟进事项。

  • 经验回顾。也叫情景分析,通过回顾以往项目的教训,翻阅历史数据,识别同类风险。

  • 访谈。也叫德尔菲方法,通过访谈有经验的项目干系人,可以识别出某些风险。

  • 项目诊断。通过项目诊断,对项目的各个要素进行自检和诊断,制定风险检查表。一般从项目过程、交付件、度量结果等去识别项目的风险。


02

风险识别活动参与者

  • 包括项目经理、科技产品、业务产品、骨干开发、关联职能领导等项目干系人;

  • 虽然上述人员是风险识别的关键参与者,但还应鼓励全体项目人员参与风险识别。


03

建设项目风险库,可使用RBS工具

RBS----Risk Breakdown Structure,风险分解结构


四、分析风险


当您要对您所说的话进行测量并将它们以数据的形式表达出来时,说明您清楚了一些事情;但是如果您不能以数据的形式表达出来,您对它的了解还很少。

----开尔文

风险分析分为定性分析和定量分析,引用PMBOK的术语解释这两者:

实施定性风险分析是通过评估单个项目风险发生的概率和影响以及其他特征,对风险进行优先级排序,从而为后续分析或行动提供基础的过程。本过程的主要作用是重点关注高优先级的风险。实施定性风险分析,使用项目风险的发生概率、风险发生时对项目目标的相应影响以及其他因素,来评估已识别单个项目风险的优先级。这种评估基于项目团队和其他相关方对风险的感知程度,因此具有一定的主观性。


实施定量风险分析是就已识别的单个项目风险和不确定性的其他来源对整体项目目标的影响进行定量分析的过程。本过程的主要作用是,量化整体项目风险敞口,并提供额外的定量风险信息,以支持风险应对规划。并非所有项目都需要实施定量风险分析,能否开展稳健的分析取决于是否有关于单个项目风险和其他不确定性来源的高质量数据,以及与范围、进度和成本相关的扎实项目基准。定量风险分析通常需要运用专门的风险分析软件,以及编制和解释风险模式的专业知识,还需要额外的时间和成本投入。

IT项目风险管理实践浅谈_java_05


在IT项目中,项目经理通常会结合上述两种分析过程来对风险进行综合分析,并运用历史项目经验数据、行业经验数据来佐证,按照风险的出现概率和影响程度(Boehm模型)进行优先级排序,并规划风险的应对策略。

通俗来说,我们在识别到风险时,初期会考虑这个风险发生的可能性大不大?造成的影响大不大?这就是在做定性分析,判断风险的发生概率和大致影响;随着深入地分析,我们通过一系列的经验、运营数据,来判断精确的影响范围(例如:此风险会影响某一类型的客户,符合条件的大致有4000客户,按经验数据,在这个时间段,会有65%的客户会进行操作),这就是在做定量分析,判断风险的精确影响,以支持风险应对策略的决策。

实践举例,下图是某项目基于Boehm模型风险分析的TOP10关键风险清单。

IT项目风险管理实践浅谈_java_06


五、应对风险


规划风险应对是为处理整体项目风险敞口,以及应对单个项目风险,而制定可选方案、选择应对策略并商定应对行动的过程。本过程的主要作用是,制定应对整体项目风险和单个项目风险的适当方法;本过程还将分配资源,并根据需要将相关活动添加到项目文件和项目管理计划。


有效和适当的风险应对可以最小化单个威胁,最大化单个机会,并降低整体项目风险敞口;不恰当的风险应对则会适得其反。一旦完成对风险的识别、分析和排序,指定的风险责任人就应该编制计划,以应对项目团队认为足够重要的每项单个项目风险。这些风险会对项目目标的实现造成威胁或提供机会。项目经理也应该思考如何针对整体项目风险的当前级别做出适当的应对。

01

风险应对策略

面对风险通常有五种应对策略,实践过程中可采用其中的一种或多种组合:

  • 上报。如果项目团队或项目发起人认为某威胁不在单个项目范围内,或提议的应对措施超出了项目经理的权限,就应该采用上报策略。被上报的风险将在项目集层面、项目组合层面或组织的其他相关部门加以管理,而不在单个项目层面。

    @实践举例:外部合作伙伴可能因为非技术原因停止项目合作,此风险并不在项目经理的权限内,应及时上报组织管理层,以评估应对策略。

  • 回避。风险回避是指项目团队采取行动来消除威胁,或保护项目免受威胁的影响。它可能适用于发生概率较高,且具有严重负面影响的高优先级威胁。规避策略可能涉及变更项目管理计划的某些方面,或改变会受负面影响的目标,以便于彻底消除威胁,将它的发生概率降低到零。

    @实践举例:产品的某个功能可能存在合规性问题,但这个功能也不是一个关键路径上的功能,在应对合规性风险时,项目经理可采取规避的策略,在合规性问题解决之前,先将此功能挂起,从而不影响整体项目的实施。最极端的规避案例是直接取消整个项目,尤其在银行行业,因为合规是银行立足之本。

  • 转嫁。转嫁涉及到将应对威胁的责任转移给第三方,让第三方管理风险并承担威胁发生的影响。采用转移策略,通常需要向承担威胁的一方支付风险转移费用。

    @实践举例:通常在项目外包的项目中用到,当某个项目出现严重的进度或质量风险时,可要求外包商提供履约保证,将风险转嫁给外包商。

  • 减轻。风险减轻是指采取措施来降低威胁发生的概率和(或)影响。提前采取减轻措施通常比在威胁出现后尝试进行弥补更加有效。减轻措施包括采用较简单的流程,进行更多次测试,或者选用更可靠的卖方。

    @实践举例:在项目实施过程中,由于人员变动或计划评估不充分,项目进度存在严重延期风险,项目经理可采取减轻策略,与产品经理确认最小交付范围,优先保证核心功能的交付。

  • 接受。风险接受是指接受威胁的存在,但不主动采取措施。此策略可用于低优先级威胁,也可用于无法以任何其他方式加以经济有效地应对的威胁。

    @实践举例:在项目上线之前,可能会遗留一些低优先级的缺陷,通常是客户体验、功能增进方面的问题(注:这里不是说不用注重客户体验,而是因为项目时间、投入产出比等原因所做出的取舍),在产品经理和业务方的许可下,项目经理可采取接受策略,后续再排期优化。

IT项目风险管理实践浅谈_java_07


02

风险对策制定

对识别到的风险可能造成的影响进行分析评估,给出对策(预防措施、事中、事后控制),这些对策的集合就是我们的预防风险的计划。其中,高风险和中风险应该详细说明,并把低优先级的风险列入观察清单,以便定期监测。确定风险责任人及其职责、风险发生的触发条件、征兆和预警信号、明确应对策略所需的具体行动,以及应对措施之后仍然存在的残余风险、次生风险。根据项目的风险分析以及组织的风险临界值,制定应急措施等。

参考示例

IT项目风险管理实践浅谈_java_08

 某项目的一份风险登记册


03

风险应对的流程标准化

面对项目中一些具备共性的风险场景,我们还应该针对性地制定特定的风险场景检视评估规范,并最终形成SOP。

@实践举例:业务营销推广是一个极具备共性特征的高风险场景,结合多个项目的经验总结了相应的评估流程和方法(近60项项具体评估指标)并作为参考标准分享给其他项目。

业务营销推广检视评估流程


六、监控风险


“风险监控是在整个项目期间,监督商定的风险应对计划的实施、跟踪已识别风险、识别和分析新风险,以及评估风险管理有效性的过程。其目的包括:查看风险的假设条件是否依然成立;观察风险是否发生了转移,或已经消失;监控风险管理政策和制度是否已得到遵守;判断当前的风险评估是否需要调整成本或进度进行应急储备。”

这段引自PMBOK的解释,已把风险监控讲得很清楚了。除了监控风险之外,更重要的是项目经理要将风险情况及时有效、可视化地同步给项目团队,写到这里必须得安利一波我们TCTP的协同工具WeDo了。在整个项目生命周期里,项目团队都可以随时随地地把项目风险、应对过程和结果发布到WeDo,让整个项目团队及干系人可随时了解项目风险的情况。此外,WeDo每周还会按风险标签自动生成项目风险周报,帮助项目经理们轻松实现多个项目的风险分享及沉淀。


七、总结


一个项目的成败除了最初的规划和整个过程的管理,还需要时刻对项目进行过程中发生的风险进行识别和应对。一个好的项目经理能够预防一部分风险的发生,也能够在风险发生的时候临危不乱,快速给出解决方案。

项目风险管理过程中,尤为重要的是做好沟通和积累:

加强沟通,推动全员风险管理

1

在项目组中建立良好的沟通环境和氛围;

2

发动项目组成员日常工作中关注风险问题;

3

使项目组成员都能了解和理解项目当前的风险以及应对措施;

4

学会将风险交给专业的团队负责。


持续积累经验教训及总结

1

持续积累并建立项目风险经验库;

2

通过项目回顾会议或头脑风暴会总结项目风险;

3

关注风险的识别及相关的管理活动,从中总结经验教训;

4

多个项目间的经验及知识共享,共同提升风险管理的能力。


IT项目风险管理实践浅谈_java_09

最后,分享关于项目风险管理的三个管理理论:


海恩法则:任何不安全事故都是可以预防的

按照海恩法则分析,当一件重大事故发生后,我们在处理事故本身的同时,还要及时对同类问题的“事故征兆”和“事故苗头”进行排查处理,以此防止类似问题的重复发生,及时解决再次发生重大事故的隐患,把问题解决在萌芽状态。

费斯汀格法则:重要的不是发生在你身上的事情,而是你如何处理

生活中的10%由发生在你身上的事情组成,而另90%则由你对所发生的事情如何反应决定。换言之,生活中有10%的事情是我们无法掌控的,而另外的90%却是我们能掌控的。


墨菲定律:凡事只要有可能出错,那就一定会出错

面对项目的不确定性,我们最好还是想得更周到、全面一些,采取多种保险措施,防止偶然发生的人为失误导致的灾难和损失。