程序员和设计师为何会因需求变动而感到困扰?网络上流传着不少幽默的说法,例如:“要让一个程序员消失,无需动武,只需连续三次更改需求即可。”这一话题在知乎上引发了热烈讨论,本文汇总了三位网友的观点,以生动的比喻解释了这一现象。
网友在知乎上提出了这样一个问题:“如何向非专业人士解释产品经理频繁更改需求为何会让程序员感到不满?”以下是精选的回答:
@GRB130427A 的回答:
想象一下,你走进一家餐厅,坐下后:
“服务员,我要一份宫保鸡丁!”
“好的,马上为您准备。”
—— 这是最初的需求
当厨师正在烹饪时:
“服务员,不要放肉。”
“不放肉怎么制作呢?”
“随便,只要不放肉,其他照常就行,难吗?”
“好的,您稍等。”
—— 需求中途变更
厨房内:
厨师:“真是的,肉都已经下锅了。”
服务员:“客人坚持要这么做,你把肉挑出来不就行了?”
厨师:“好吧……”
尽管如此,厨师还是费力地将肉挑了出来。
—— 大幅修改导致部分重做
餐厅内:
“服务员,能加点腐竹吗?”
“可以,但这需要一些时间。”
—— 低估了修改的成本
厨房内:
厨师:“你不知道腐竹需要提前泡水吗?现在才说,告诉他们至少等半天。”
服务员:“你怎么不早说?”
厨师:“我哪知道他们会在这时候提这样的要求。”
尽管如此,厨师还是开始泡腐竹。
—— 新需求带来了新的开发成本
餐厅内:
“服务员,还是把肉加回去吧。”
“您不是说不要肉吗?”
“现在又想要了。”
“好的,您稍等。”
—— 功能点的不确定性
厨房内:
厨师:“菜都快烧焦了,你还让我加肉?”
服务员:“客户的要求,我能怎么办?”
厨师:“你不能拒绝他吗?”
服务员:“他是客户啊。”
—— 客户至上原则
餐厅内:
“服务员,怎么这么久?”
“请您稍等,我马上催促。”
—— 修改导致项目延期
厨房内:
厨师:“催什么催,腐竹还没泡好,油也要重新放,质量保证不了。”
—— 开发者请求调整时间表
餐厅内:
服务员:“抱歉,加腐竹需要等半天,您别急。”
“等这么久?我现在就要吃,能快点吗?”
“好的,您稍等。”
—— 客户催促进度
厨房内:
厨师:“中途改需求还想按时完成,真当我是在玩吗?”
服务员:“那我问问,要不要换一道菜?”
厨师:“再换我就崩溃了。”
—— 开发者与协调者之间的矛盾
餐厅内:
“服务员,腐竹不要了,换成蒜苗能快点吗?顺便加点番茄酱。”
—— 因为等待时间太长而再次修改需求
厨房内:
厨师:“蒜苗也需要焯水,番茄酱怎么加到热菜里?”
服务员:“焯水总比等腐竹快,番茄酱直接倒进去不就行了?”
厨师:“好吧,腐竹还得继续泡,万一他又想要了呢。”
—— 频繁修改导致资源浪费
餐厅内:
“服务员,菜里有茄子丁吗?别的店都有。”
“好的,您稍等。”
—— 奇怪的需求
厨房内:
厨师:“宫保鸡丁里加茄子丁?这是哪里学来的做法?”
服务员:“加进去不就行了?”
厨师:“这还能算菜吗?哪个学校的?”
服务员:“客户要,你就做吧。”
厨师:“你顺便问问他腐竹还要不要,我这里还泡着呢。”
—— 即使奇怪的需求也要满足
餐厅内:
“服务员,还要多久?”
“很快,很快……”
“再等十分钟,还不行我就走,反正还没付钱。”
“很快,很快……”
—— 最后的希望
十分钟后:
“咦,味道不对啊?”
厨师从厨房冲出来:“我忍不了了……”
—— 最终的对决
——
你 = 客户
服务员 = 客户经理 + 产品经理
厨师 = 程序员
请自行对照……
——
注:上述情景经过夸张处理,实际情况中,程序员与产品经理通常能够友好合作。
——
注:对于面向消费者的产品公司,你 = 公司的大老板。
下面是 @钟文 推荐的两幅漫画,原作者 @big fattty 和 @依然远扬:
@吕小布007 推荐了一张趣味图片:
大家有没有更多不同的看法?欢迎在评论区分享您的观点。
如果你对编程感兴趣但感到迷茫,不确定未来的方向,或者希望提高编程技能,特别是想深入学习 C/C++ 编程,那么你很幸运!
加入我们的 C/C++ 学习交流群 Q群1030652847,关注微信公众号:C语言编程学习基地,获取丰富的学习资源,包括源代码、实战项目视频、项目笔记以及基础入门教程。
欢迎转行和学习编程的朋友,利用这些资源加速成长,比独自摸索更高效。
推荐学习书籍:
推荐学习视频: