访谈完了以后,可能不同涉众有不同的需求,也可能有利益冲突,比如营业部门希望越快越好,维修部希望越慢越好,发生冲突就要开会研究起来,但这都是紧密联系在一起的。像原型的话,也是访谈当中要用到的。还有就是竞争对手,尤其是现在做产品来说,研究竞争对手是首要的,已经不是访谈为中心了。从研究竞争对手出发的话,如果你研究的话,产品可能卖不出去了。市场上有一百种产品,都是满足客户的要求,但为什么要买你的呢?要从竞争对手想,才能找到自己的位置,所以这非常的重要。
像刚才Kristian Persson先生所说的,我觉得很有意思,这几次做活动的话往往是需求方面,其实有很多产品,有建模的产品等,但都是来做需求,为什么呢?因为这是强项,研究竞争对手的话,就要有一个结果,比如我就做DOORS,要鲜明突出出来,很多需求都是这样出来的。对于客户的要求,比如说TAU建模工具不好,是否就要研究在这方面呢?往往竞争是突出一个长处,有特点,给大家造成影响,所以这一点是研究竞争对手是非常重要的。
我们做产品的时候成功与失败,这方面是非常重要的。有时候很容易找错对手,有时候经营公司非常的盲目,不自觉的认为自己没有竞争对手,像今年二月份我去上海的时候,我有一个朋友做服务的公司,我问他竞争对手是谁?他说没有竞争对手。我说为什么?他说这里已经垄断了,政府让我们做,别的地方不让做。后来我跟他讲输入输出的问题,他就了解到原来还有竞争对手。如果现在做一个产品,东方通科技的竞争对手是谁呢?这应该要观察,本来有些人要买东方通科技产品,但没有买,我们就要知道竞争对手是谁呢?如果有这个需求,而没有买,去干什么呢?他去买防火墙和加密软件。有时候不买DOORS,而买其他的产品代替,我认为这都是竞争对手,这都是需要考虑的。
主持人:青润,你在你的那本书当中也谈到需求,是否可以谈一下你对需求捕获方法的认识?
白慧冬:需求就是要有捕获,没有捕获怎么会有后援的过程。在我那本书谈到需求,往往做需求的时候,尤其是做工程,我本人做工程比较多,产品反而做得比较少。我先说一下做工程软件,第一要做讨论,然后收集一些初始想法,第二要研究内部文档,你访谈的过程中要收集相关资料,然后就搞研究,搞研究的时候要出一些辅助的东西,那就是原型,原型之后,下一步还是访谈,原型之后出一个版本,就是客户基本可用的,但不是完全可用,在用户用的时候再技术访谈。问卷调查,做工程的很少用,发给谁呢?没有人接手,不像做手机,西门子运营公司可以发给别人,而我们不行。比如做电信,几个运营商,我发问卷调查,就几个,我给他们发完了,实际上得到的结果也就那样,没有什么意义。
观察方面比较少,因为工程软件往往是内部获得需求。当时我做的需求当时是电信内部提出的,本来要做ERP,后来由于宣布暂时停止,可以说生命周期得到的延长。
主持人:在CMM和CMMI当中,对需求部分的描述是怎样的?与CMM和CMMI相比,你所咨询的这些国内软件企业在需求流程方面的差距有多大?
于波:之前提到捕获需求的方法,提了自己的看法,工程也好,产品也好,首先方法上都讨论过了,CMM本身模型提得比较早,1993年提出来的,从1987年开始研究,当时软件工程发展到当时那个阶段,对于需求捕获,国内叫需求分析和需求开发,这种定义是在CMM三级产品工程里面一个活动,有分析、开发和客户验证的需求,就是一个活动。而CMMI就不一样了,因为行业在发展,技术在发展,方法在发展,模型也在发展,把需求捕获叫需求开发,这里面分得比较细,分为用户的需求、产品的需求、产品构件的需求以及产品接口之间的需求,以及需求之间还有相互关系上要确认,跟设计和实现之间也是一个反复循环的阶段来做的。
在国内来讲,如果要做了CMM和CMMI的话,严格来讲,和软件工程上流行的一些方法和做的规程,达到的要求基本能达到,我们在咨询的过程中,根据产品的形状以及项目的特点、应用领域以及客户的特点,来帮他选择定义并细化一些需求捕获过程中的规程和步骤,还有必要的重要的模板,每一层定义成什么样的,还有捕捉方法里面,比如产品以及工程,都会做过一些调查。如果没有做过的话,知道需求,但不是很清楚。另外就是时间的压力很大,成熟不成熟呢?规范不规范化呢?他敢不敢做下来认真看这个需求,以及怎样着手的话,他没有时间来做,就做编码,编码的话就陷入一个混乱的状态。
吴浩刚:现在国内公司做需求的方法和构成,CMM的要求还是有差距的。过去是用户需求、产品需求,很多公司都没有把它区分开。第二,一些公司做任务需求的时候,仅仅局限于外部需求,恰恰忘了内部的需求,一个产品要达到效益,还要考虑成本,在过去捕获需求的时候,为了测试,要制造一些需求。为了让成本降低,可能要做维护方面的需求。另外,在维护方面也要考虑需求方面。一个产品如果一开始考虑需求的时候,没有考虑批量生产的话,到了后期可能就会影响到项目当中。
李峻:这些我们都有用,但是根据整个流程的不同阶段来用,比如从市场过来的第一手的需求,是很简单的需求列表。如果到了需求工程师分布下来以后,分到产品的话,可能就用到用例来表示产品的需求,再到下一层,比如产品里的模块,模块会有更详细的图,甚至用Telelogic公司的DOORS工具来做一些分析。我们是根据不同的阶段来用的。
文章来源于领测软件测试网 https://www.ltesting.net/