摘要
本文详尽地描述了软件开发项目的风险管理过程,主要包括过程的具体活动,和采用的工具。 这里将软件风险管理过程分为五个步骤:风险识别,风险分析,风险计划,风险跟踪,和风险应对。对于每个步骤的具体活动将在后面详细介绍。
风险管理过程
软件风险是指软件开发过程中及软件产品本身可能造成的伤害或损失。风险的大特征是不确定性,也是说它可能发生,也可能不发生。
风险管理在项目管理中有非常重要的地位:
· 有效的风险管理可以提高项目的成功率。在项目早期应该进行必要的风险分析,并通过规避风险降低失败概率,避免返工造成成本上升。
· 提前对风险制定对策,可以在风险发生时迅速作出反应,避免忙中出错造成更大损失。
· 风险管理可以增加团队的健壮性。与团队成员一起做风险分析可以让大家对困难有充分估计,对各种意外有心理准备,不至受挫后士气低落;而项目经理如果心中有数可以在发生意外时从容应对,大大提高组员的信心从而稳定队伍。
· 有效的风险管理可以帮助项目经理抓住工作重点,将主要精力集中于重大风险,将工作方式从被动救火转变为主动防范。 风险管理可以简单分成五个步骤:风险识别、风险分析、风险计划、风险跟踪、和风险应对。如下图所示:
***识别风险和分析风险包含了评估风险所需的活动。计划风险、跟踪风险和应对风险包含了控制风险所需的实践。
一、风险识别
风险识别过程的活动是将不确定性转变为明确的风险陈述。包括下面几项,他们在执行时可能是重复,也可能是同时进行的:
1、 进行风险评估。在项目的初期,以及主要的转折点或重要的项目变更发生时进行。这些变更通常指成本、进度、范围或人员等方面的变更。
2、 系统地识别风险。采用下列三种简单的方法识别风险:风险检查表,定期会议(周例会上),日常输入(每天晨会上)。
3、 将已知风险编写为文档。通过编写风险陈述和详细说明相关的风险背景来记录已知风险,相应的风险背景包括风险问题的何事、何时、何地、如何及原因。
4、 交流已知风险。同时以口头和书面方式交流已知风险。在大家都参加的会议上交流已知风险,同时将识别出来的风险详细记录到文档中,以便他人查阅。
二、风险分析
风险分析过程的活动是将风险陈述转变为按优先顺序排列的风险列表。包括以下活动:
1、 确定风险的驱动因素。为了很好地消除软件风险,项目管理者需要标识影响软件风险因素的风险驱动因子,这些因素包括性能、成本、支持和进度。
2、 分析风险来源。风险来源是引起风险的根本原因。
3、 预测风险影响。如果风险发生,将可能性和后果来评估风险影响。可能性被定义为大于0而小于100,分为5个等级(1、2、3、4、5)。将后果分为4个等级(低,中等,高,关键的)。采用风险可能性和后果对风险进行分组。具体组别如下表所示:
4、 对风险按照风险影响进行优先排序,优先级别高的风险,其风险严重程度等于1,优先级别低的风险,其风险严重程度等于20。对级别高的风险优先处理。
三、风险计划
风险计划过程的活动是将按优先级排列的风险列表转变为风险应对计划。包括以下内容:
1、 制定风险应对策略。风险应对策略有接受、避免、保护、减少、研究、储备和转移几种方式。
2、 制定风险行动步骤。风险行动步骤详细说明了所选择的风险应对途径。它将详细描述处理风险的步骤。
四、风险跟踪
风险跟踪过程的活动包括监视风险状态以及发出通知启动风险应对行动。包括以下内容:
1、 比较阈值和状态。通过项目控制面板来获取。如果指标的值在可接受标准之外,则表明出现了不可接受的情况。
2、 对启动风险进行及时通告。对要启动的风险,在每天的晨会上通报给全组人员,并安排负责人进行处理。
3、 定期通报风险的情况。在定期的会议上通告相关人员目前的主要风险以及他们的状态。
五、风险应对
风险应对过程的活动是执行风险行动计划,以求将风险降至可接受程度。包括以下内容:
1、 对触发事件的通知作出反应。得到授权的个人必须对触发事件作出反应。适当的反应包括回顾当前现实以及更新行动时间框架,并分派风险行动计划。
2、 执行风险行动计划。应对风险应该按照书面的风险行动计划进行。
3、 对照计划,报告进展。确定和交流对照原计划所取得的进展。定期报告风险状态,加强小组内部交流。小组必须定期回顾风险状态。
4、 校正偏离计划的情况。有时结果不能令人满意,必须换用其他途径。将校正的相关内容记录下来。