在软件测试项目里需要做风险管理吗?
前两天,一个新入行的小伙子问我,他现在的部门里,测试经理主要负责的是风险管理这一块。虽然他知道风险管理,也明白风险管理很重要,但是却对风险管理的内容一点也不了解。想问一下,在内部研发的测试项目管理里,是不是也需要单独做风险管理?
介于很多新入行的小伙伴都会遇到这样的困惑,因此,我们今天单独出一期,给大家讲解一下相应的内容。
风险管理是什么?
我们都知道,在任何环境下去做项目开发,都会存在风险。可以说,几乎不存在没有风险的项目,也没有不存在风险的环境。因此,最大程度上降低风险,消除可能会对项目造成消极影响的因素,是每一个测试人都应尽力去做的事情。
那么,什么是风险管理呢?
风险管理是指如何在项目或者企业这样一个肯定有风险的环境里,把项目可能存在的漏洞,或者可能造成的不良影响,降至最低的管理过程。风险管理的内容主要包括:风险管理计划、风险识别、定性风险分析、定量风险分析、风险应对计划、风险监督与控制。
在执行过程中,我们可以把项目风险管理简化成4个过程:风险识别、风险度量、制定应对措施和风险监控。
应对风险管理的办法
前面我们说了什么是风险管理,接下来我们来说说如何进行风险管理。
当我们在项目中,识别到项目可能出现的风险后,就应该在最短的时间里,找出一切可以应对风险的方法和手段,来降低风险发生的可能性。毕竟,解决问题才是我们最想看到的结果。
那么,风险管理的几个主要步骤分别是什么呢?我们一起来看看~
(1)分析风险产生的可能原因有哪些,可能发生在哪个阶段或时间点;
(2)描述清楚风险是什么,会带来什么样的严重后果,包括发生概率有多大;
(3)针对每个原因,制定不同的应对方案;
(4)每个风险应对方案要有明确的责任人和时间计划节点,并且要在时间节点到来时,拿到想要的结果。
在实际工作中
我们应该如何做好风险管理?
日常工作中,很多人容易把风险产生的原因当作是风险本身。这样理解的话,问题虽然不大,但却会因为风险计划清单过长,给人一种“项目风险太多,还要不要继续”的错觉。严重地,甚至会导致产品或项目延迟上市等。
基于此,我们应该就不难理解,一份合理的、符合实际情况的风险管理计划书,在项目实施过程中,发挥着多么重要的作用了。
那么,风险管理计划怎么写呢?
下面,我们就以软件测试项目中,常见的风险为例,来制订一份风险管理计划。
1)项目风险
例如:当测试执行时间被压缩,测试不够充分,产品就发布上线的情况下,目前已经出现的风险有哪些(列举);后期可能出现的风险有哪些(列举)。
2)造成原因(可能有以下的原因,按照实际情况去写)
(1)产品需求给出得晚,而且也不完善、清晰,多次反复评审的时间挤占了研发时间;
(2)开发自测不充分,导致提测的版本质量不高,影响正常的测试计划进度;
(3)Bug修复速度慢,阻碍了完整的新功能测试和最后的回归测试;
(4)中、后期频繁变更需求,或者新增需求,导致测试资源被分散。
3)优化方案(可参照下述的内容去反馈,按照实际情况操作即可)
(1)制定测试包的可接收标准,编写ATC,没达到可提测标准的一律退回。采取这种倒逼的方式,促使开发人员提高自测质量;
(2)在进行测试任务量评估时,预留10%~15%的缓冲量,用于应对需求变更和临时新增需求;
(3)优化测试用例的设计,减少冗余的和无效的测试用例,同时提高自动化脚本的覆盖率,节省相应的人力用于新功能的验证测试;
(4)和开发负责人明确缺陷修复的要求,每天几点之前要日清当天新的缺陷。同时,测试任务包尽可能拆解得小一些、独立一些。在某些模块里出现阻碍性缺陷时,可以略过,先测试其他模块。
一些感想
在实际工作中,风险管理其实也是逐步推进的。对于一个希望构建标准化的研发团队而言,这是一个不可或缺的环节。在项目计划阶段,很多风险还只是处于预估和猜测状态,所以,我们既要去预估可能存在的问题,但也不能因为可能出现的问题,让自己止步于前。
当项目开始后,我们可以根据具体的进度和情况,参照预估标准,来评判风险发生的可能性。笔者以为,风险是随着项目的推进而不断变化的,所以我们要及时识别和用发展的眼光来看待问题,寻求解决办法。
这是风险管理的难点所在,当然,也是乐趣所在。