之所以抛出这个话题啊,唉,说来话长。
话说,最近我遇到两个项目,这俩项目算一个项目还是两个,有点模糊,因为都是面对同一个客户的。只是,将需求这块的工作单独拿了出来,跟实施分开,立了个咨询项目。而实施则是另外项目的范畴。我们是同样的人干这两块项目。如果所有实施都是一伙人干,或者没有划分这两个项目,需求工作一般不会太严谨(虽然应该是严谨的),可这偏偏不是。我们这一伙人,只是负责实施中的分析建模的部分,还不是全部。所以,我们还是要将需求表示地清楚一些,才对得起那个咨询项目嘛。
将这两种不同类型的事情界定清楚不容易,有时候一个人得在两种角色之间切换。当然,这种切换不会太频繁,一般来说,前期都是站在需求方来考虑问题的。后期再去作为实施方实现。我们一位同事就陷入这种角色转换的困境中,以前可能主要是站在实施方多些,所以在前期沟通当中,更多是沟通一些细节的业务规则,比如如何计算一个综合评分,而这其实已经是在做实施的工作。可一旦精力放在这些问题上面,那些应当做的,比如是否需要这样的综合评分,如何评判其合格的标准,这些问题没有结果。
这个场景中就充分暴露出需求方清晰表达需求的困难——需求方有时候过于从实现者角度在前期考虑如何实现的问题,而忽略了更加重要的事情,就是确立工作范围和任务完成标准。
所以,上周又重提了这个话题,想将关于需求书的观点在加强一些。那就是将它看作是需求方跟实现方的协议合同。当然,需求书是最后形成的有形的东西,而无形的东西,可能更加重要,就是大家需要认同的那些条款。比如你要求速度快,这不是一个明确的条款,但要求速度<5秒,这就明确了。而要实现这些认同,并不是撰写出来的,而是沟通,甚至是谈判出来的。这种沟通是重头戏,是比文档更加重要的工作。
表达需求,是确立需求方对实现方要求的过程,落在纸面上,就是需求书的条款。
沟通过程要比需求书重要。
有一次我们内部开会说起需求书的问题,有领导抱怨我们的需求书太简单,页数太少,文字太少,恐怕被客户认为是不合格的,因此需要加点料,比如将一些分析的过程,会议纪要什么都作为附件放上去。我不赞同,当场进行辩论,我认为需求说明书应该只记录需求分析的结果,对实现者的要求,不要将体现这些结果的过程都放上去。后来,有人出来打圆场,说,其实说的并不矛盾。其实也是,人家要说的问题并非"什么是合格的需求书",而是"什么是可以应付客户的需求书",我们要辩论的问题并非同一个问题,所以,也不抬杠了。可大家如果深入想一想这个问题,其实这是一种对需求工作的一种错误的理解。
通常有这样的观点,做需求,写需求文档,如果看起来很简单就没法交付,客户会认为你没有下功夫。
我很无奈这种观点,但不知道应当如何纠正。
简单与否,是一种形式上的判断。而清晰与否,是内容上的判断。简单的,不一定清晰。但清晰的,应该是比较简单的。长期以来,我对于需求书是否合格的判断,就是它是否准确无歧义地表达了需求方的要求了,是否可以让实现方理解了,是否有多余的废话。如果要严谨一点,一句废话都不应该出现的,比如在需求背景中的"形势危急"、"响应...号召"之类的语句。
也许这是观念问题吧,很难确立什么规范,去对需求者作出要求,即便有要求,也多是形式上,比如模板之类,而内容上,你说准确、无歧义的判断标准是什么?从这点看,却正是证明了,内容要简洁一点,不要啰啰嗦嗦说上几十页——因为你搞出那么多是不是就想糊弄过去,把人搞晕呢?按照这个逻辑,大家可以有个判断了。对于那种厚厚的一叠,除非你面临的是一个宏大的工程,否则,肯定是在充数,反倒证明这种需求书的垃圾程度。
咱们这里说的关于需求的事情,还仅仅是如何"表达"需求的事情,并没有说到如何挖掘客户真正需求的问题上。但就表达需求而言,已经存在很多误区。如果从观念上,不理解何谓需求,恐怕是无法表达好。
然后,我们将需求、实现当作一个流程,但其实呢,往往这个过程是螺旋迭代的。分析型需求恐怕更加如此,在客户面对一个业务问题的时候,恐怕只是初步的一种猜测,一种好奇。这时候,你需要表达他的需求,很难表达清楚,即便你已经充分沟通了。但随着对问题进一步调查和数据分析,会暴露出更清晰的需要。最后,也许落在一个很具体的数学模型上面。但很多项目的管理并不允许这种过程,一般都是提出一次需求书,然后实现需求书,完成需求。这种模式迟早要改变的。但在没有改变之前,清晰将需求表达出来是必要的。