首页 > 代码库 > 需求之象

需求之象

我们从小就知道“盲人摸象”这个故事,但我们很少意识到我们的用户经常扮演的就是故事中盲人的角色。

一般来说,在企业开发过程中,用户方的项目负责人会描述一个整体的业务架构,然后各部门的业务人员会告诉我们业务的细节。看上去非常完美,我们没有理由也不敢相信最后会无法完成这个貌似明确的,简单的任务。


是的,一开始我们非常明确用户需要的是一头什么样的大象,甚至我们可以知道这头大象应该有几条皱纹!然而,当大象被牵到用户面前时,情况就发生了无法预知的变化。

负责指挥战斗的将军说:象牙太短了,虽然符合我们原先提出的规格,但我们还是希望能够把象牙加长1米,这样的大象更有战斗力!对于作为造物主的程序猿来说,这个要求不算什么,大手一挥,象牙变长1米!

过了几天,将军跑过来说:因为过于弯曲的缘故,象牙的杀伤力并没有他想象中那么强大,象牙应该要直才行。好吧,程序猿说:卑微的凡人,我可以满足你的祈求!于是大手一挥,象牙变得笔直而且锋利!嗯,这是对你虔诚的奖励。

将军欢天喜地地牵着大象去进攻敌人了,果然,战无不胜,攻无不克,敌人望风披靡!程序猿很满意,将军满意的都要哭了。

然而,还没高兴上半天,饲养员怒气冲冲地来质问程序猿:大象无法进食,都快饿死啦!纳尼?怎么回事??前几天不是都好好的吗???

原来是长且直的象牙惹得祸,这可如何是好。。。作为造物主的程序猿自然是不认为自己有错的,卑微的凡人怎么能质疑伟大的造物主呢!

这样吧,我可以让大象的嘴巴更突出,直到它能正常进食为止!

过了几天,将军反映大象奔跑的时候总跌跤,嗯,虽然这个不太好办,但我可以让大象的腿更加灵活,大脑反应更快,这样就不会跌跤了。

。。。。。

。。。。。。。

。。。。。。。。。

最后,造物主表示不伺候了。于是项目彻底失败了。。。。。



好吧,用户的需求经常就是这样的,一开始都很合理,但慢慢的就不对了。因为作为个体的用户就像盲人,他们不知道也不对需求造成的结果负责,经常提出一些貌似合理,其实也是合理的只不过是非常片面的需求。而我们不加分析地去实现,就难免对其它业务造成无法预料的影响。如果我们仅仅头痛医头脚痛医脚的话,这个影响就会象病毒一样在你的原本还算健康的系统中疯狂传播,最终使整个系统面临崩溃。


其实,最初的解决方案应该是增加能够固定在象牙上的长刀!因为这根本就不是象牙的问题。


需求之象