程序员的主要职责就是通过编程来实现需求,那么,为什么很多程序员会在遇到需求的时候生气呢?在思考这个问题前,我们先来看看下面这个视频,也许看完后你就有了这个问题的答案!
下面这个视频是知乎中针对该问题的一个高评答案,链接地址:https://www.zhihu.com/question/350940491/answer/868161494
程序员的悲催日常
(因为简书只支持腾讯及优酷视频,腾讯视频包含广告,且没有字幕,如果需要不想看广告或者想看有字幕的视频,请前往IT老五站点看原文:https://itlao5.com/wp/archives/1650)
视频中五个角色可以对应为客户(2女士)、商务(西装男)、产品(衬衣领带男)、开发(短袖男屌),在讨论项目时,客户的需求五花八门、各种不合理,商务则只管接项目、认为任何问题都可行,产品会把每个问题都抛给程序员然后又否决程序员,程序员则在提出n个问题后仍然被压迫执行客服需求;最后程序员【被成为】能解决任何问题的【专家】。
当然,这只是程序员生气原因的一小部分。另外再看看知乎上的另一个高评答案:
作者:猫爱吃鱼不吃耗子
链接:https://www.zhihu.com/question/40712955/answer/87890964
来源:知乎
去饭店,坐下来。
“服务员,给我来份宫保鸡丁!”
“好嘞!”
——————这叫原始需求
大厨做到一半。
“服务员,菜里不要放肉。”
“不放肉怎么做啊?”
“不放肉就行了,其它按正常程序做,不就行了,难吗?”
“好的您稍等”
——————中途需求变更
厨房:
大厨:“你大爷,我肉都回锅了”
服务员:“顾客非要要求的嘛,你把肉挑出来不就行了吗”
大厨:“行你大爷”
然而还是一点点挑出来了
——————改动太大,部分重构
餐厅:
“服务员,菜里能给我加点腐竹吗?”
“行,这个应该简单。”
——————低估改动成本
厨房:
大厨:“你TMD,不知道腐竹得提前泡水?炒到一半才说?跟他说,想吃腐竹就多等半天”
服务员:“啊你怎么不早说?”
大厨:“早说你MLGB我怎么知道他要往宫保鸡丁里放腐竹”
然而还是去泡腐竹了
——————新需求引入了新研发成本
餐厅:
“服务员,还是把肉加回去吧”
“您不是刚说不要肉吗”
“现在又想要了”
“…好的您稍等”
——————某一功能点摇摆不定
厨房:
大厨:“日你啊,菜都炒过火了你让我放肉?还好肉我没扔”
服务员:“客户提的要求你日我干嘛?”
大厨:“你就不能拒绝他啊?啊?”
服务员:“人家是客户嘛。”
——————甲方是大爷
餐厅:
“服务员!服务员!”
“来了来了,你好?”
“怎么这么半天啊?”
“稍等我给您催催啊”
——————改动开始导致工期延误
厨房:
大厨:“催你M催,腐竹没泡好,我还得重新放油,他要想吃老的也行,没法保质保量”
——————开发者请求重新排期
餐厅:
服务员:“抱歉,加腐竹的话得多等半天,您别着急哈”
“我靠要等那么久?我现在就要吃,你们能快点吗?”
“行…您稍等”
——————甲方催活
厨房:
大厨:“我日他仙人板板,中途改需求又想按期交付,逗我玩呢?”
服务员:“那我问问,要不让他们换个菜?”
大厨:“再换我就死了”
——————开发者开始和中间人PK
餐厅:
“服务员,这样吧,腐竹不要了,换成蒜毫能快点吗?对了,顺便加点番茄酱”
——————因工期过长再次改动需求
厨房:
大厨:“我日了狗啊,你TM不知道蒜毫也得焯水啊?还有你让我怎么往热菜里放番茄酱啊??”
服务员:“焯水也比等腐竹强吧,番茄酱往里一倒不就行了吗?很难吗?”
大厨:“草。腐竹我还得接着泡,万一这孙子一会又想要了呢。”
——————频繁改动开始导致大量冗余
餐厅:
“服务员,菜里加茄丁了没有?我去其它饭店吃可都是有茄丁的”
“好好好您稍等您稍等”
——————奇葩需求
厨房:
大厨:“我去他二大爷他吃的是斯里兰卡三流技校炒的宫保鸡丁吗?宫保鸡丁里放茄丁??”
服务员:“茄丁抄好了扔里边不就行了吗?”
大厨:“那TM还能叫菜吗?哪个系的?”
服务员:“客户要,你就给炒了吧。”
大厨:“MB你顺道问问他腐竹还要不要,我这盆腐竹还占着地方呢不要我就扔了”
——————奇葩你也得做
餐厅:
“服务员,还要多久能好啊”
“很快,很快…”
“再给我来杯西瓜汁。”
“…好”
“我再等10分钟,还不好我就走了,反正还没给钱。”
“很快,很快…”
——————黑暗前的最后黎明
10分钟后
“咦,我上次吃的不是这个味啊?”
从厨房杀出来的大厨:“我TM就日了你的狗…”
——————最终决战——————
你=客户
服务员=客户经理+产品经理
大厨=码农
请自行转换…
如果是你,在生活中遇到一个这样的客户,会有什么想法?而几乎每个程序员都遇到过这样的客户或产品经理,一个程序的需求永远在迭代、在升级,这本身就是一项繁琐的任务,而如果遇到一个善变的客户+一个不会分析及拆分需求的产品经理,那么,这个程序的繁琐程度将成倍的增加。想想,碰到这样的情况,程序员会不会生气?
程序开发本就是一件繁琐的事情,如果碰到一个不断变更需求的用户或者一个无脑的产品经理,那么,程序员面临的就是末日。老五希望所有程序员(包括我O(∩_∩)O哈哈~)遇到的都是通情达理的客户和会拆分需求、能安排优先级、会挡需求的产品经理!
网友评论