软件需求变更管理七步法[2]
除非客户不做任何表示让我们猜哑谜,我们是一定能够把客户的 需求 变更转成文字记录。大家可能又会说,我们可以帮他们记录,可是他们不愿意签字那怎么办?签字不是关键,此处我们关心的是把变更描述记下来,我们能不能把纪录的描述给客户看,客户会不会翻脸
除非客户不做任何表示让我们猜哑谜,我们是一定能够把客户的
需求变更转成文字记录。大家可能又会说,我们可以帮他们记录,可是他们不愿意签字那怎么办?签字不是关键,此处我们关心的是把变更描述记下来,我们能不能把纪录的描述给客户看,客户会不会翻脸不认账:“不是我说的!” ?不会的,果真这样我们就不做了!第一个问题是不是解决了?
往后看这可有点悬,什么叫对业务的影响呀?客户要改
需求还需要理由吗?您说需要不需要?有人可能会说那是客户的事情,我们干涉不了。这个说法可是大谬不然也!业务上不需要的功能我们为什么要做?有人会说:客户不需要的功能他们会提出来给我们做吗?老大,您可是真糊涂了!你还以为客户每提一个
需求都那么深思熟虑吗?所以得先让客户想一想!又有人说了,您搞形式主义!客户直接就写“如果做,对业务是极大促进;反之会对业务造成负面冲击”,你有什么办法?如果有人竟然有这样的想法,我真是替你们的领导难过:什么叫斗智斗勇?你要动脑筋呀!你能不能从客户的谈话中间去捕获信息?!你能不能去了解客户的业务了解变更的必要性?!!当然可以,要不还做什么项目!彻底成了客户的跟班了!怎么样?这个问题是不是也解决了?
第二步 我们再看第二步:技术评审。技术评审评什么?就是我们能不能做得了?比如说有这么一个糊涂客户提出说他们要求订单的最大处理时间是0.1秒,你应该做什么?直接告诉别人做不了。当然,大部分情况下技术还是可以满足新需求的。好,第二步问题也解决了吧?
第三步 好,接着来看第三步。第三步评价对工期的影响,有人可能马上会反驳说,工期评价没用,反正是自己消化掉。其实此处将工期、成本、
质量都要量化的重要目的之一就是强迫我们的项目组先要想清楚,一个变更意味着什么。一定要把它落实到具体的数据上?为什么?我们在项目中、甚至工作和生活中,因为没有确切量化数据的情况比比皆是,而结果就是导致不必要的矛盾和摩擦。这也就是为什么细化、量化、图形化,在细化的基础上去量化才有意义。先看对具体活动工期的影响,可能是7天也可能是5天或其他;再看对于整体工期的影响,大家应该对关键路径的概念应该比较熟悉了。一个额外活动的工期需要10天,但是体现在整体工期却不一定是10天,还有可能是5天或者是0天,因为它有可能正好是一项非关键路径上的活动。所以这两种情况我们都要了解,简单吧?好,第三步就这么简单。
第四步 来看第四步,第四步也不会有什么歧义。因为一项变更有可能导致项目中需要添加新的人手(可能因为独特的技术背景),而现有的人员怎么样加班也是无济于事的,所以项目组人员可能会增加。在看对应的工作量增加,这个应该相对容易,
估算需要几个人(很多情况会是一个人)、多长时间(天或小时),自然工作量就出来了。
小时工资率是什么?我们国内企业发工资一般会是基于工作天数的月薪,而许多外企则是基于工作小时数的月薪,所以这里有一个区别:一天可以是8个小时也可以是18个小时,难怪我们国内企业加班是家常便饭:没有请你周六周日来啊,不就是每天多那么几个小时嘛!而外企加班相对少许多:额外的工作时间要付加班费的(或许是工商局对它们看得比较严,而对我们国内的企业则网开一面的缘故吧)。说远了,小时工资率的设定与计算可依据组织的特点设定,自己搞不定请财务部门帮你出个数吧。
人时乘以小时工资率不就是人员工作量对应的成本嘛!其他的有时候可能涉及到材料费用、软硬件的采购费用、差旅费用等,我们统一将它归结为非人力成本好了。这样我们将这两部分相加就得到需求变更对应的成本增加情况。第四步也是这么一目了然,没有问题吧。
第五步 要说第五步还真不太容易给一个统一的建议,这得取决于项目组的情况。如果项目组没有量化的历史数据参考,只能以定性的方式去描述需求变更对于项目不同阶段的影响。例如我们在
测试阶段的后期实施一项大的变更,那么它对
测试阶段的质量影响是可以想见的:因为引入新功能或更改功能,一定导致更多的
缺陷,而在
回归过程中如发现新的问题需要修改的话又可能带来更多的问题。所以对于测试阶段的质量是负面的。对于产品运行阶段的质量影响也是显然的:系统的稳定性、
可靠性、
安全性可能都会受到波及。
当然,如果项目所在的组织有些历史数据作参考,那判断起来就容易多了。如果变更的需求是30个功能点,又假定测试阶段
缺陷密度是0.4/FP到0.8/FP之间,我们容易推测变更将导致增加的
缺陷个数介于12到18个之间;而如果残余缺陷密度是0.02/FP到0.05/FP之间,则上线后暴露给客户的问题数目为0.6个到1.5个之间,也即一到两个。
我们将对质量的影响是不是也可做相应的分析?当然喽!
第六步
这个小节关注的是 风险,变更往往意味着更多的功能,更多的功能意味着更多的工作要做,因而面临更多的变数,也即我们就常所说的风险。比如说变更往往伴随着工期的延长,而对于在外地
开发的项目此种情形尤其有可能导致项目组成员普遍的厌倦情绪,对应的风险表述就是项目组士气低下,导致工作效率下降,甚至会引起人员的流失,对于项目组来说不得不预见这种类型的风险,所以变更分析应该做出对应的风险分析。
第七步
这一步就很简单了,主要是根据前面的给定的各方面信息权衡以后做出是否变更的决定。有人又说了:才不是呢,如果是需求变更,那一定得客户签字,客户如果不签字,我们一点招数都没有!我们再一次退而求其次:能不能把客户的名字写上,表明他(她)知晓这件事情?应该是可以的吧。
至于表头信息,我想应该没什么问题,所提供的相关信息主要是供以后做统计分析之用。
好,到此为止,我们介绍了软件需求变更管理七步法。
原文转自:http://www.ltesting.net