)通常不会对软件的基本功能产生太大的帮助,但却往往会拖长项目开发的进程。一个好的主旨引导项目开发的有序进行,并能够让团队的所有成员都支持并将精力投入到项目的真正重点所在。
第三方:喜忧参半
如果产品失败,通常许多开发者会将项目的失败归咎于第三方。在某些情况下,它们是正确的。但更多的情况下你将别无选择,只能争取他们的帮助。而减少这方面风险的关键,是要尽量减少对他们的依赖。
当你过多地依赖团队以外的产品或服务的时候,失败或延迟的风险就会大大地增加。你的团队可能会尽一切全力将自己的工作做的完美,但如果一个关键第三方没有这么做,你的所有工作就可能是徒劳的。为了说明这一点,我们假设您承担的风险,取决于贯穿整个项目的三个重要组成部分。假设每个产品有百分之八十的机会按时到达要求并充分发挥作用。成功的可能性为所有三个结合,它不是百分之八十,而是百分之五十一(80% * 80% *80%)。换句话说,这意味着你的项目现在有一半的几率是要注定要失败的。
实施有效的风险管理
现在我们已经回顾了在软件开发进程中防范风险的第一道防线,让我们更近一步地考察在自己的项目中使用的风险管理技术。
一个有效的风险管理计划是动态的,并且贯穿在整个开发过程中,需要其中每个人的参与。首先,要记住这是一个理想化的过程,不要在每个开发项目中都固执坚持同一个计划。修改进程依赖于所执行的工作和你的团队成员。例如,软件移植或软件模块更新可能不需要相同程度的原则作为一个新的进程开发所努力的方向。
实施有效的风险管理项目需要仔细地进行风险评估和风险控制。
准备:风险评估
在任何项目中仔细评估所固有的挑战都是成功实施风险管理计划的第一步。风险评估包括三个主要过程:风险识别,风险分析和风险的优先次序。着眼于每一个过程保证了风险控制策略的成功运用。
风险识别
确定在项目中最有可能发生的风险,并特别注意那些由于客户的需求或目标系统的变化带来的风险。制定一份风险可能产生的(包括每个团队成员所提出的)的风险清单。
风险分析
一旦你知道你所面临的风险,一定要注意从两个方面来分析每一个风险:第一个是风险发生的几率,第二个是如果它发生了将会产生多大的后果。查看每个风险并回答这两个问题,可以让你很轻松地决定哪些风险是需要特别关注的。建模技术可以有助于确定每一个风险发生的概率,但在确定风险可能产生的后果时任何成员提出的任何结论都是不可忽视的。
风险优先级
在这个过程中,制订计划和确定哪些风险需要你首先处理是极为重要的,分级风险是建立在对风险发生概率和潜在后果的分析的基础上的,构成最大威胁的项目风险必须首先处理。
采取行动:风险控制
实施一个成功的风险管理工作需要不断的进行评估。风险控制包括三个主要过程:风险管理规划,风险决议和风险监测。
风险管理规划
风险管理规划是根据在评估阶段的风险分析所确定的风险发生概率和后果而制定的。对风险做出反应,需要资源和时间,因此必须要先评估执行风险控制是否得不偿失。这使得团队对其风险管理工作做出计划,而不是忙乱不堪地应付每一个可能发生的危险,。
风险决议
一旦你确定一个开发项目的风险,下一步就是解决或减少风险。在应对风险的过程中,我们可能需要做出聘用工作人员的决定、进行成本或进度的估计,质量监测监督,对新技术进行评估,进行原型设计,明晰系统需求,确立基准和仿真以及建模。请记住,在大多数项目中,已经确定的风险的百分之二十是造成百分之八