上次因为 Gmail 而引发关于用户需求的感叹的时候,本来有一车的话要说,也打算写一篇长一些的文章。但是这两天实在忙(懒的代名词),又 Google 不到两幅著名的图(您别叫我扫描,我忙 or 我懒),一来二去也就没了兴致。我曾经跟客户谈起两个关于需求的观点,放在这里权且充数吧。
一个是说,用户需求注定是要变化的。为什么?客户里的那个具体的人,他可能没想清楚要什么,或者没表达清楚,他的说法注定要变。而且,他不是用户或只是一个个别的用户角色,他的位置决定了他说不清客户整体的需求,别人怎么说他怎么变。更主要的,现在这个时代,客户的业务本身都在飞速发展变化,凭什么人家的信息化需求保持不变!因此,那些指望靠用户签字把用户需求”锁住”的作法,先禁锢的是自己,无异于自取灭亡。敏捷开发意识到”变化才是永远不变的”,所以采取滚动开发。但是目前看来,仍然没有一种开发方法真的能与用户需求同步”动态”调整。
另一个是说,用户需求是需要翻译的。经常有人提出要求,希望更多的业务人员参与开发。但是当那种业务部门出身的 CIO 有能力动用大量业务人员参与的时候,往往发现效果并不尽如人意。道理很简单:业务人员和 IT 人员使用不同的语言,他们无法对话,要求他们互相理解对方是不现实的。那么谁应该更懂客户的业务呢?不是客户,而是软件公司。客户只是使用,而你是制造,就像汽车制造商永远比一个司机懂得多。但不幸,软件公司通常 coders 为多,没什么人真懂客户的业务。这是国产软件终究是扶不起的阿斗的主要原因之一。