经历了几个项目,接触了一些客户,也充分理解了程序员口中的变态客户的变态需求,不过仔细一想,其实客户也只是提出了正当的需求,只是因为程序员考虑不足或者其他原因没有满足客户罢了。
很多时候,我们在做软件的时候,总是会碰到一些这样那样的困惑,或业务的,或功能的,可是这时候都认真地去和客户交流了吗?可能你和客户交流下来的结果不会很好,因为客户也没有这方面的经验,他也不知道他们的流程到软件里具体应该是个什么样子,很多的程序员这时候就开始发挥漫天的想象力,去构造一些虚无的东西,并觉得这就是客户的需求,并且还理直气壮。
其实说白了,客户的需求只有两个——能解决工作的功能和友好的界面,前者无可厚非,而且程序员也都可以做到,当然少数的特殊功能除外。可是后者,有多少人能做到呢?微软多少年以来做的都是这么两件事,可见要真正办好这么两件事并不容易。于是,许多的程序员把这归于客户的非正常需求,甚至说成是变态需求,更有甚者,把这矛盾上升到客户本身就是变态的高度上。
我在几次和客户的交流过程中,也出现过不少类似的问题,可经过交流,最终往往都能得到比较完美的解决。为什么呢?举一个很简单的例子,我在一次为学校设计一个教学软件的时候,跟客户交流过程中,客户提出界面元素太单一,最好能有个彩色的背景色,然后我们就问他觉得用什么色好,他开始才沉默。这种时候我们应该怎么办呢?我当时的解决办法是,让他们自己设置背景色,对我们来说,这并不是太难,可客户认为你确实用心了,而且他也确实得到了好处——每个人都有自己喜欢的颜色,也算是个个性化吧。这样下来,客户也就满意了。
这只是一个很简单的例子,但最后我们成功了,这个项目成功通过验收的那一刻,我们多少有点激动,因为这时我们的第一个项目,而且在第一次和客户交流的过程也取得了成功。
所以,我个人觉得,多从客户的角度出发,很多客户的需求在软件设计者看来是很简单就能实现的,可能就是加上一段代码就OK,而且这么简单的一段代码会让客户认为你的软件更加的专业,何乐而不为呢?