你去饭店,坐下来。 
“服务员,给我来份宫保鸡丁!” 
“好嘞!” 
——————这叫原始需求

大厨做到一半。 
“服务员,菜里不要放肉。” 
“不放肉怎么做啊?” 
“不放肉就行了,其它按正常程序做,不就行了,难吗?” 
“好的您稍等” 
——————中途需求变更

厨房: 
大厨:“你大爷,我肉都回锅了” 
服务员:“顾客非要要求的嘛,你把肉挑出来不就行了吗” 
大厨:“行你大爷” 
然而还是一点点挑出来了 
——————改动太大,部分重构

餐厅: 
“服务员,菜里能给我加点腐竹吗?” 
“行,这个应该简单。” 
——————低估改动成本

厨房: 
大厨:“你TMD,不知道腐竹得提前泡水?炒到一半才说?跟他说,想吃腐竹就多等半天” 
服务员:“啊你怎么不早说?” 
大厨:“早说你MLGB我怎么知道他要往宫保鸡丁里放腐竹” 
然而还是去泡腐竹了 
——————新需求引入了新研发成本

餐厅: 
“服务员,还是把肉加回去吧” 
“您不是刚说不要肉吗” 
“现在又想要了” 
“…好的您稍等” 
——————某一功能点摇摆不定

厨房: 
大厨:“日你啊,菜都炒过火了你让我放肉?还好肉我没扔” 
服务员:“客户提的要求你日我干嘛?” 
大厨:“你就不能拒绝他啊?啊?” 
服务员:“人家是客户嘛。” 
——————甲方是大爷

餐厅: 
“服务员!服务员!” 
“来了来了,你好?” 
“怎么这么半天啊?” 
“稍等我给您催催啊” 
——————改动开始导致工期延误

厨房: 
大厨:“催你M催,腐竹没泡好,我还得重新放油,他要想吃老的也行,没法保质保量” 
——————开发者请求重新排期

餐厅: 
服务员:“抱歉,加腐竹的话得多等半天,您别着急哈” 
“我靠要等那么久?我现在就要吃,你们能快点吗?” 
“行…您稍等” 
——————甲方催活

厨房: 
大厨:“我日他仙人板板,中途改需求又想按期交付,逗我玩呢?” 
服务员:“那我问问,要不让他们换个菜?” 
大厨:“再换我就死了” 
——————开发者开始和中间人pk

餐厅: 
“服务员,这样吧,腐竹不要了,换成蒜毫能快点吗?对了,顺便加点番茄酱” 
——————因工期过长再次改动需求

厨房: 
大厨:“我日了狗啊,你TM不知道蒜毫也得焯水啊?还有你让我怎么往热菜里放番茄酱啊??” 
服务员:“焯水也比等腐竹强吧,番茄酱往里一倒不就行了吗?很难吗?” 
大厨:“草。腐竹我还得接着泡,万一这孙子一会又想要了呢。” 
——————频繁改动开始导致大量冗余

餐厅: 
“服务员,菜里加茄丁了没有?我去其它饭店吃可都是有茄丁的” 
“好好好您稍等您稍等” 
——————奇葩需求

厨房: 
大厨:“我去他二大爷他吃的是斯里兰卡三流技校炒的宫保鸡丁吗?宫保鸡丁里放茄丁??” 
服务员:“茄丁抄好了扔里边不就行了吗?” 
大厨:“那TM还能叫菜吗?哪个系的?” 
服务员:“客户要,你就给炒了吧。” 
大厨:“MB你顺道问问他腐竹还要不要,我这盆腐竹还占着地方呢不要我就扔了” 
——————奇葩你也得做

餐厅: 
“服务员,还要多久能好啊” 
“很快,很快…” 
“再给我来杯西瓜汁。” 
“…好” 
“我再等10分钟,还不好我就走了,反正还没给钱。” 
“很快,很快…” 
——————黑暗前的最后黎明

10分钟后 
“咦,我上次吃的不是这个味啊?” 
从厨房杀出来的大厨:“我TM就日了你的狗…” 
——————最终决战

—————— 
你=客户 
服务员=客户经理+产品经理 
大厨=码农 
请自行转换… 
—————— 
注:以上场景已极度夸张,实际生产生活中码农和PM是和睦友好的相亲相爱的一家人 
—————— 
注:对于做2C产品的公司,你=公司大boss

简单的修改

设计师=厨师

你们立字据

神解释:为什么程序员怕改需求?相关推荐

  1. 为什么程序员怕改需求?看完这些神解释我笑了

    点击上方"前端开发博客",选择"设为星标" 回复"2"加入前端群 综合整理:程序员的那些事 为什么程序员/设计师怕改需求?网上有类似的段子, ...

  2. 【开心一刻】为什么程序员怕改需求?看完这些神解释我笑了

    为什么程序员/设计师怕改需求?网上有类似的段子,比如:「杀一个程序员不需要用枪,改三次需求就可以了.」 有网友在知乎上提问「如何向外行解释产品经理频繁更改需求为什么会令程序员烦恼?」.本文综合了 3 ...

  3. python打架动态图_20个GIF动图解释令程序员崩溃的瞬间 - 里维斯社

    程序员不是你们眼中的程序猿.程序猿是一种非常特殊的.可以从事程序开发.维护的动物.一般分为程序设计猿和程序编码猿,但两者的界限并不非常清楚,都可以进行开发.维护工作,特别是在中国,而且最重要的一点,二 ...

  4. python程序员专用壁纸_神级python程序员分享的让小白30分钟快速上手的一张神图,赶快收藏!...

    原标题:神级python程序员分享的让小白30分钟快速上手的一张神图,赶快收藏! 现在很多人学编程都把Python作为入门语言,其实这是个很不错的选择,那么你知道新手如何学Python吗?小编给大家分 ...

  5. 完整年份值必须介于_上 | 完整解释 Monad 程序员范畴论入门

    如果你接触过函数式编程,你很可能遇到过 Monad 这个奇怪的名词.由于各种神奇的原因,Monad 成了一个很难懂的概念.Douglas Crockford 曾转述过这样一句话来形容 Monad: O ...

  6. 完整解释 Monad -- 程序员范畴论入门

    如果你接触过函数式编程,你很可能遇到过 Monad 这个奇怪的名词.由于各种神奇的原因,Monad 成了一个很难懂的概念.Douglas Crockford 曾转述过这样一句话来形容 Monad: O ...

  7. 「深度剖析」程序员因为奇葩需求暴打pm,然后被双双开除

    想必大家都听说了,这两天关于中国平安一个产品经理因奇葩需求和程序员爆发肢体冲突的事件在朋友圈被刷屏,更有现场打架视频在技术群里疯传. 在这里先带大家简单文字回顾下事情经过,N次打架视频和截图就不给大家 ...

  8. 一个女程序员的男友需求说明书(转)

    {想收藏下} 前言 常听人说程序员的生活枯燥为人刻板,其实这是你不懂程序员,代码之外,这些高智商的人幽默有趣,论坛常常是他们展现才华的地方(悲哀,因为给他们展现Coder之外的才华的地方和时间太少), ...

  9. 茶余饭后:聊一聊那些神一样的程序员们 (1)

    中午吃饭回来, 路上和同事偶尔聊起了IT界的一些牛人们, 他们做出的那些常人难以企及的开创性的工作,常常让我们是叹而观止,仅仅用"牛"来形容已经不够了, 得用"神一样的超 ...

  10. 茶余饭后:聊一聊那些神一样的程序员们

    中午吃饭回来, 路上和同事偶尔聊起了IT界的一些牛人们, 他们做出的那些常人难以企及的开创性的工作,常常让我们是叹而观止,仅仅用"牛"来形容已经不够了, 得用"神一样的超 ...

最新文章

  1. 聊天机器人之需求分析和流程介绍
  2. 关于文献中二代测序数据下载(NCBI)的问题
  3. Keras【Deep Learning With Python】CNN卷积神经网络(看不懂你打我系列)
  4. python树状节点 可拖拽_Python 的 heapq 模块源码分析
  5. SAP CRM IBASE structure的读取逻辑
  6. yii2史上最简单式安装教程,没有之一
  7. spark学习-72-源代码:Endpoint模型介绍(4)-Spark为何使用Netty通信框架替代Akka
  8. java多级菜单列表怎么做_JAVA构造多级菜单
  9. 数据结构与算法之排序(冒泡、选择、插入、希尔、归并、快速)
  10. linux 编辑文件 cat 跳到指定行,Linux文件操作详解(八)--文件的创建和编辑(vi/vim命令和cat命令)...
  11. P ⊆ co-NP的原因
  12. 究竟先操作缓存,还是数据库?
  13. 佳能mf4400打印机无线服务器,佳能mf4400打印机驱动最新版
  14. JS 数组 按个数进行分组
  15. php怎么防止页面被劫持,完美解决网页被劫持的问题,再也不用担心网页被篡改了!...
  16. Seventh season eighteenth episode,Joey got an award??????
  17. 用Unity实现Flat Shading
  18. VS Code加载 Web 视图时出错
  19. paddlepaddle 27 支持任意维度数据的梯度平衡机制GHM Loss的实现(支持ignore_index、class_weight,支持反向传播训练,支持多分类)
  20. scrollTo不起作用

热门文章

  1. python小写变为大写_在python中改为大写和小写
  2. Apache Jena配置
  3. 2019 年第 29 周 DApp 影响力排行榜 | TokenInsight
  4. python语料库_NLPPython笔记——语料库
  5. android 充话费接口,调用手机话费充值API的SDK编写思路
  6. mysql数据库断开连接_mysql 数据库断开连接
  7. Unity_混合树实现三种动画的混合_070
  8. Java企业汽车调度系统
  9. 微软放弃数字图书馆计划
  10. Python operator.ge()函数与示例