如何了解需求?

         大家都知道,做好一个软件项目的关键,在于需求的把握。那么我们怎么把握好需求了,我想每一个设计师都可能有一套自己的理论和方法。我也不例外,这里我就说说说我自己的方法吧。

       首先,大家都知道,了解需求的手段主要是通过面对面的交流。当然,也可以可以用邮件、电话、甚至短信的方式来交流。但是我们都知道,这些手段都只是在某些特殊情况下使用。最基本最主要的还是面对面交流。

      其实讨论获取需求的技术手段,个人觉得没什么可值得讨论的。哪个轻哪个重,很明显的事情。这里我们说说获取需求需要我们注意的事情。

     我们知道,在我们刚开始和客户谈需求的时候,很容易迷糊,尤其是面对着一个陌生的行业。客户说了很多,而你总是似懂非懂,这个时候很容易想到一个流行语,蛋痛,这个不太文雅,但是还是很贴切的。本人就亲身经历过一回,在2008年的时候,被公司派到一个钢铁厂去做一个计量系统。记得第一次过去,是和一个老太太谈,主要目的是了解他们的统计报表的一些情况。其实她也知道我们不懂钢铁行业,所以她还是尽量用通俗语言,来表达他们的东西。我现在还记得,她说的那些什么烧结、巴西球、皮带秤等等,几乎都是我平生第一次听说的名称,她报表中那些公式、算法那就更云里雾里了。当时那个迷糊哦。面对这个情况,我们能怎么做了?没有别的,只有也只能埋头学习、了解钢铁厂业务。

    因此,在我们出去了解需求以前,如果有时间的话,我们尽可能的了解一下相关行业的背景、工作流程以及业务细节等等。这个过程其实就是我们需求调研的事前准备,这个准备越充分,在以后需求调研过程中,我们就会越顺利。有的人这个时候,还会准备好很多很多的问题,到客户那里就问这些问题。个人认为也可以有,但是不能是重点,了解相关行业的业务,只是为帮助我们更容易理解客户的业务以及工作流程。我们不同于新闻记者,不是去坐新闻调查。没有必要弄一大堆问题去问客户。这样的话,可能影响客户思路,关键一点还影响自己,可能会对客户的业务形成一种惯性思维,不利我们完全、彻底的了解和掌握客户的需求。尤其是在我们第一次去面见客户的时候,尽量让自己多不要有固有的思路。第一次面谈尽量聆听的客户表述。我们只是在必要的时候,对客户适当的引导和启发。

    客户在表述期间,他们可能会说不到我们想要的重点,这个就需要我们有意识的的引导。让客户尽可能多的说出来我们想要得到的内容。但是这个又怎么能做到了,个人觉得这久需要你的经验了,而且是实实在在的开发经验。你干过软件,有丰富的设计经验,这个时候你就能自然而然知道该问什么,该怎么引导了。也没什么祕籍可言,没有技术背景,没有相关经验的人是不适合做这个事情的。除非是个天才,天才不在本文讨论之列。有技术背景和相关经验的人,知道自己要什么,能有的放矢,这样了解需求的结果就是能要你所要。

   在实际开发中,不懂开发去人去需求而导致失败的案例很多,做的人其实也很辛苦,但是结果往往是功劳少,苦劳多。但是也不是完全说没有技术背景就不能做需求,也可以做,有个前提,就是有技术背景做辅助。如果没有技术背景的人,了解就是纯业务,当然,这样了解需求的结果不是说一点用都没有。但是需求调研结果对后面设计开发的作用就没明显了。

面谈结束后,就是自己的事后整理,这个就就没有太多的说的了。整理过程其实主要就是把客户业务流程理清楚了,把业务中所设计的对象找出来,同时把设计到的系统的用户归纳出来,然后就是把上述这些东西形成技术人员和客户都能看明白的文档。给客户看了再行反馈,如果在整理过程中,发现有疑问或者比较含糊地方,那就需要再次访谈了,而且也许还可能有多次访谈。因为面对一个自己陌生的领域,尤其第一次接触过程,难免有理解偏差的地方。所以有多次交流的过程也属正常。而且这个时候切忌嫌麻烦,把含糊地方一带而过,有问题一定要弄清楚了。磨刀石不误砍柴功的。

整理过程基本上就是这样了。当然具体细节,每个人可以有自己方式和方法,没有必要千遍一律。只要最终把项目做好就行。

说来说去,好像是废话一堆,正如高中的时候,老师天天在说好好学习,考个好大学,将来能荣华富贵。虽然说的都是至理名言,都是对的,但是对学生考大学没有任何帮助。仅仅是废话而已。该考上还是能考上,考不上还是考不上。回到我们到项目开发,因为谁都知道要了解业务、了解需求,和客户处理好相应的关系等等,道理谁都懂。但是,在实际项目中,往往会遇到各种实际问题,这里只能说泛泛而谈,所以也许就是废话而已。

点赞