前天中午阳光灿烂,吃完午饭在院子里放风时,碰到一位客户闲聊了一会。
在下是个粗人,对云遮雾绕的忽悠话不怎么感兴趣,免疫力也强得很,那位客户已是大叔年纪,程序员出身也很实在,因此聊得投机被他案例教学了一把。
他提到了四个案例。
案例一:很简单但很重要
我现在跟的项目要求很苛刻,一方面对系统不间断运行可靠性要求达到99.9966%;另一方面如果系统出了错,很可能导致系统停摆而造成重大损失,看起来小错也会付出大代价。客户单位刚刚出了一次事故造成了千万元级别的损失,这位客户在谈到这个时,打了个比方:十字路口红灯停绿灯行,当一个完全不懂这个规则的乡下人独自站在车流不息的路口时,对于别人再简单不过了的规则,对他则成了生死攸关的重大考验。我觉得这个比方打得挺到位。
案例二:细节是魔鬼
这个项目的最高追求是要在任何情况下都不会造成系统停摆,换句话说,系统的高容错性优先级是最高的。客户说到,他们以前有一个系统在出错时会报警,系统设计为报警同时弹出一个消息对话框。他一说到这我就明白了,客户系统大都是无人干预下运行的,就是出错了也得继续往前运行,而弹出对话框很可能一直没人点确定从而导致系统的运行被阻塞。
案例三:成就与成就感不是一回事
我们有一个习惯性的错觉,一件事付出最大的努力,便会有最大的成就感,而错觉就在于,这最大的努力并不一定等于取得了最大的成就。客户说到有一个项目,用户使用扫描枪将数据扫描到Excel,他一说我也明白了。扫描的数据在Excel里会显示在一行,用户每扫描一条数据便要放下扫描枪使用键盘在Excel中手工换一下行,他给用户简单处理了一下使每次扫描都会自动换行,用户特别感激。与此同时他费尽心思给用户做的一个图形界面用户却不怎么领情,他那时为此轮明月照沟渠失落了有一阵子。
案例四:最简单但最有效
很多事情之所以简单,有可能是因为已经千锤百炼,也有可能是本来就可以简单。他以前有一次给用户培训使用dBASE数据库,讲list,讲count,讲copy + filter获取数据,讲得眼花缭乱煞有介事,不久后看用户使用dBASE给领导汇报数据倒也像模像样。可让他大吃一惊的是,他讲了那么多东西,最后用户只学会了一招,就是copy + filter,不用那些花哨的,却所有事情都能解决。他不禁反思:这算是他教育了用户,还是用户教育了他?
真是一次愉快的聊天,结束时我高兴地对他说:“我学到了不少东西。”