1 实施风险管理的意义
风险管理对于项目成功意义重大,在项目的生命周期中,风险不断的出现并干扰项目的正常开展,对项目目标的达成带来各种不利的影响;如何有效识别和管理风险日益成为企业关注的重点;
所有的项目都会遇到风险,包括新产品或者对已有产品开发一个新的版本;例如:关键技术人员的流失、市场条件的变化、客户希望的变化、开发组织业务条件的变化等;对于这种情况中存在的风险若能够提前预料到,并采取适当的措施来缓解,这样可以扭转项目组总是救火的状态,起码开始出现主动控制一些问题的局面;虽然有了风险管理不一定成功,但会增加成功的可能性,并能够尽可能的避免项目的失败;
2 现状分析
M公司的风险管理工作一直效果不明显,也得不到项目和部门的认可。为了能够发现问题的根源,提出有效的改进建议,我们启动了风险管理现状调研工作,进行了风险管理记录分析和各层次的抽样访谈工作;
2.1 记录分析
对该年度所有项目的风险管理过程记录进行分析,了解存在的大致问题,并以此作为基础确定访谈的提纲;通过分析,发现项目在风险管理过程中可能主要存在以下问题:
1) 风险跟踪活动执行较差,大部分项目在初次识别了风险后就疏于跟踪风险的状态,不能及时有效的采取应对措施;
2) 风险活动没有作为项目的日常活动开展,没有定期重新识别和更新风险列表;
3) 没有项目对风险管理活动的执行情况进行分析,整理经验教训,提出最佳实践等;
2.2 抽样访谈
首先根据对过程记录的分析,抽取出对风险管理活动最主要的部分,对这些部分的内容制定了访谈的提纲,访谈提纲的内容按照项目风险管理可能涉及的范围分为3个层面,1是组织层面、2是项目层面,并以此为依据确定访谈的对象,以便真实了解项目、部门的关注重点和存在的问题;
根据对访谈结果的分析,风险管理问题目前分为3个层面的问题:
2.2.1 组织层面
1) 整个公司没有建立起一套完善的收集风险管理经验教训的机制,包括从什么渠道获取类似项目的风险数据、已有的风险信息如何有效的进行共享等;
2) 对于识别出来的重大风险,是否能够建立起一种应对的机制,除了项目内部的风险,也包括外部风险,使得一些重大风险能够尽快的被合适的层面意识到,并进行分析和找到应对措施?
3) 项目面临的风险通常有2类,1是项目内部风险,例如:开发进度风险、人员流失、技术难度和新技术等,项目可以尽可能的采取一些办法,通过调整开发方法、调整计划或资源等来进行部分的有效控制;2是项目外部风险,包括供应商供货及时性问题、供应商升级产品版本、外部需求变更、项目范围大、对外依赖太多等,由于这类风险项目往往难以及时获取相应信息,造成应急措施不足,有些风险的发生甚至带来致命的后果;如何有效地对这两类风险进行归纳和整理,研究风险的应对措施是各项目当前最为迫切的需求;
2.2.2 决策层面
很多项目最大的风险是产品决策层面的风险,而这些风险往往不是项目组所能够应对的,或者很难应对;这类风险可能包括以下内容:
1) 不切实际的需求承诺,或不切实际的产品交付期的承诺,经常在项目组接到现场需要某功能版本的通知时,此时离计划交付期时间已经很近了,例如本周通知下周就要提供版本,项目组基本上没有时间和资源来规避这个风险,而后果往往是不良的产品质量或者其他需求的延期开发;
2) 开发一个没有价值的产品或需求,这里的没有价值包括产品没有市场、需求的开发投入产出比很低(例如:客户需求很紧急、重要,但是这个需求我们需要投入的成本太高,以至于根本不会赚钱或者赔钱);
2.2.3 项目层面
1) 项目对风险认识不足,通常在实际开发过程中不知道使用什么方法去识别风险、又如何找出关键风险并进行控制;
2) 项目组很少对过去风险管理实施情况或存在的重大问题进行总结,以便在下一次项目过程中能够尽早的规避这类风险;目前是仅凭项目组的个人经验和直觉,往往存在对一些重大风险遗漏、重视不足或没有采取有效的措施来控制的问题;
3) 项目组基本上很少进行正式的风险识别和评估会议;在项目日常过程中,项目成员往往可能不太愿意暴露潜在的问题或者自己的疑虑,以免被项目经理或部长认为是优柔寡断或没有积极性等;为了避免这类问题的发生,在风险管理意识尚未普及时,往往还是需要正式的风险会,在会上大家头脑风暴都来反映问题,找出可能的关键风险;
3 改进建议
根据以上分析存在的问题,建议通过以下一些方面来逐步的改善:
3.1 对组织层面的建议
1) 组织层面的当务之急是研究建立组织的风险数据库、项目风险、问题的经验教训库,要组织和策划如何有效推广这些数据库的使用,真正的将项目的风险、问题数据收集起来;如果要建立比较完善的数据库可能需要一些时间,这方面可以逐步规划,但是对于目前的这种情况要考虑一些折中的方案来解决,制定有效的措施进行推广,可以考虑一些激励措施鼓励大家的使用;
2) 对于项目复盘或者里程碑报告中的一些经验教训模板,建议能够优化模板,并最好直接要求提交到数据库中,有利于信息的共享;
3) 建议组织层面投入一些人力来作项目具体风险的收集和分析,包括对历史问题的整理、现有已经暴露的风险的分析等,对风险进行分类整理并定期发布,以便项目能够及时快速的获取这些信息;
4) 建议组织根据项目组的需求开发实际有效的风险管理培训教材,教材中要有实际的案例分析和帮助,对项目有计划的安排培训,提高公司整体的风险意识;这对后续推动风险管理工作有着重要的意义;
3.2 对决策层面的建议
1) 首先建议决策层面投入一些精力关注项目风险,鼓励项目组将部分风险和问题适当的升级汇报,以便决策层能够了解项目的关键信息,以便准确的作出决策;这方面工作说起来简单,但是实施上却是有些难度;从领导层面来说,建议更多的创造出能够公开暴露项目问题的一种氛围或者文化,有了这种氛围,项目组才可能愿意将项目问题及时升级;
2) 在决策是否要短期交付或者超出原有项目范围的交付,决策层面需要了解存在的风险,考虑这种风险是否可以接受,包括不良的产品质量、延期交付的其他需求、客户的满意度等;这方面的问题部分产品开始逐步重视起来了,对于新增的重大需求尽量规划到下一个版本;而较小的需求则需要跟项目组沟通,明确各需求实现的优先级和需求实现调整的策略,以便项目组能够执行一个可实现的计划,后续开发过程受控;
3) 关于需求实现是否经济的问题,高层也关注到了这个问题,并有趋势要求有关部门去收集每个需求实现的成本;这项工作目前有些难度,由于财务核算的不精细,造成对产品或项目的成本核算、效益核算都存在问题;但是至少我们可以先收集有些简单的数据,只要能够反映问题即可;这些数据如果能够及时反映给市场一线,让他们知道研发承担的产品成本后,那么他们与客户交流沟通时也就有了明确的依据;在产品薄利的时代,相信这项工作会越来越受到重视;
3.3 对项目或部门的建议
1) 项目人员特别是风险组人员要有意识的加强风险认识,积极参加培训,建立起风险的意识;
2) 为了真正有效的实施风险管理,首先要作的是需要收集以往项目和现在项目遇到的重大问题,问题发生的原因;因为这些原因往往就是风险本身;要有意识的收集风险信息和项目问题信息,为提高项目风险管理水平做好准备;
3) 项目组要能够积极参与风险的讨论和经验分享,将相关信息提交到组织提供的数据库中;项目复盘工作要坚持开展,项目组成员要积极参与进行经验教训的总结,为组织资产作贡献,为下一次应对提供经验;
4) 项目组要有风险管理负责人,他要能够定期组织项目组的风险活动,将风险管理活动纳入到项目的日常活动中,例如项目周例会、月例会、CCB例会等; 各开发组相关人员、接口关系、依赖关系等相关人员都需要参与,以便能够识别出最关键的风险;
5) 在识别出风险后,风险描述中一定要把风险发生的根源、可能在哪种场景发生,发生后可能带来的后果描述清楚,制定的应对措施等需要与风险后果影响人员进行沟通确认;
6) 风险识别可以使用风险源清单模板来进行识别,对于资源受限或进度紧迫的项目来说,也可以使用其他2种比较常用的方法:1是通过对项目生命周期中各阶段(例如:需求、方案、设计、实现、测试等)的回顾, 以便发现各阶段中可能存在的风险;2是通过对WBS列表进行审查,重点对各里程碑实现、接口问题、WBS是否全面等进行审查,以便发现隐藏的问题;例如:如果发现某个需求根本不在你的WBS列表中,那么这个需求可能就会带来很大的进度风险;
7) 为了控制进度风险,很多项目使用增量模型来进行缓解,将需求进行分解和细化,并采取每次交付部分功能的方式,一方面这样有利于与用户和用户代表就每次交付的需求达成共识,减少需求的变更程度,同时也有利于控制风险;业界经验,一般项目一次交付的规模越大,项目进度估算越不准确,这样进度风险就越大;
8) 关于人员风险,由于核心岗位人员的离职,往往给项目带来很大的风险,为了能够加强人员备份又不需要占用太多的资源,很多项目组使用了小组责任制的方式,每个开发任务由2-3个开发人员共同负责,最大化的减少人员离职带来的风险;
9) 一般而言,项目前期的风险最多、影响也最大;为了尽可能的发现风险并进行监控,项目的风险活动开始越早越好;例如:项目方案存在的风险越早发现越好,否则可能对项目是致命的打击;
4 总结
以上的简单分析,可能不能涵盖所有的问题;其中每一项问题的改善都需要经过与相关人员充分协商,考虑到现有资源等各方面的限制,制定出真正有效、可行的行动计划;同时,我们也认识到,项目风险管理改进的过程是个逐步积累的过程,任重而道远,不可能一蹴而就的,需要公司从上到下的认识达成和经验的积累!但是,我们相信,只要大家不懈努力,公司项目的风险管理水平终究会得到很大提升的!