作为一名编程者,我们要了解用户的需求。
对于需求分析中关键的因素,我感觉依然是沟通最重要。
我们要充分和用户沟通
首先要搞清楚你有哪些用户,他们之间的关系是怎样的。有句老话叫众口难调,用户之间的观点也会有冲突。所以在一个项目里,需求讨论会上往往会有各种各样的声音。声音后面是立场,立场后面是利益。缺乏经验的需求分析人员很容易迷失在这些声音里,最后做出来的需求成了四不像,而这正是某些用户希望看到的结果。
这时候我们要怎么办呢?我们这时候应该找用户最大的领导讨论项目的整体思路,然后按大领导的意见把用户需求筛选一遍,凡是和大领导思路明显冲突的一律扔到一边,把符合大领导思路的那些需求充分细化。和大领导讨论的过程,既是了解大领导思路的过程,也是筛选需求的过程,更重要的是,获取大领导支持的过程。有了大领导的支持,再开会的时候,底下吵吵嚷嚷,你也能气定神闲,胸有成竹。
和用户的沟通有多种形式,比如需求讨论会、高层访谈、用户讨论什么的。我觉得应该先做很多的一线用户讨论,问很多问题,把所有的业务环节都彻底摸清,顺便收集一些表单和数据作为需求分析的依据。然后再去做高层访谈,了解整体思路、战略、目标一类的宏观问题。需求讨论会一般在后期开,主要是针对某些争议比较大或者定义不清晰的问题,集思广益,实际上就是一种头脑风暴方法。在这些讨论中,需求分析人员都不应该只是做一个记录者,而应该多提问题和建议,用自己的思路去启发用户,大胆设想小心求证。但也要注意尊重用户的意见,不能觉得用户不懂技术所以我随便听听就行了,怎么实现是技术的事情,和用户没多少关系,这样往往在后期会出问题。