1.程序员先要学会主动把握需求和沟通需求。
软件需求可能只是一些初步的构思,并未进行全面的思考,甚至存在一些矛盾的信息。要透彻的理解需求就要多了解和需求相关的内容,力求准确的理解要什么功能、和其他功能有什么关系、用户如何使用、为用户带来什么价值。如果有弄不明白的地方必须进行沟通明确,达到理解需求的目的。
总之,要学会在功能层面思考。不能上司说了个某某功能立即想到的就是,用什么库表,用哪个控件,用不用ajax等。不能只考虑上司交代任务时的字面含义,要深入思考字面下面对应的功能,因为你可能会理解错误,或者上司可能会表达错误,或者在说的时候临时有新的想法和之前的描述相矛盾。注意:重要的是上司描述的功能,而不是上司的描述本身,不要让上司一时的口误,导致开发上的失误。
只研究技术,不会在功能层面思考,不会沟通, 这样是干不好开发工作的。缺乏这些技能的人通常都是需要别人拖着才能工作的。
把握需求很多时候,要把自己当侦探,把上司和其他相关人的话当证言,目标是找到需求的真相。
2.理解用户业务、掌握沟通方法、学会挖掘需求
在学会应对上司的模糊需求后,下一步就是进一步的理解用户业务。从用户的角度出发去看待功能,从而可以对功能进行改进和设计。这中间离不开沟通,新的想法和方案都需要沟通确定。
达到这个程度基本上已经是需求分析的入门程度了。
3.进一步理解用户业