如何向外行解释产品经理频繁更改需求为什么会令程序员烦恼?

摘要:
------这被称为厨师最初要求的一半“不要在菜里放肉!”!你为什么不把肉挑出来?你能在我的菜里加点腐竹吗?我不知道腐竹必须提前泡水,如果你想吃腐竹,你得等很长时间。“我告诉你MLGB,我知道他会把豆腐放在宫保鸡里”,但我还是去泡豆腐————新的需求引入了一家新的研发成本餐厅,你只是说,“不要吃肉。”食物已经煮过头了,你让我放肉。“幸好我没有扔掉肉。——甲方是叔叔的餐厅。”腐竹泡得不好。“如果他想吃旧的,他也可以吃”------开发商要求重新安排餐厅:

你去饭店,坐下来。

“服务员,给我来份宫保鸡丁!”

“好嘞!”

——————这叫原始需求

大厨做到一半。

“服务员,菜里不要放肉。”

“不放肉怎么做啊?”

“不放肉就行了,其它按正常程序做,不就行了,难吗?”

“好的您稍等”

——————中途需求变更

厨房:

大厨:“你大爷,我肉都回锅了”

服务员:“顾客非要要求的嘛,你把肉挑出来不就行了吗”

大厨:“行你大爷”

然而还是一点点挑出来了

——————改动太大,部分重构

餐厅:

“服务员,菜里能给我加点腐竹吗?”

“行,这个应该简单。”

——————低估改动成本

厨房:

大厨:“你TMD,不知道腐竹得提前泡水?炒到一半才说?跟他说,想吃腐竹就多等半天”

服务员:“啊你怎么不早说?”

大厨:“早说你MLGB我怎么知道他要往宫保鸡丁里放腐竹”

然而还是去泡腐竹了

——————新需求引入了新研发成本

餐厅:

“服务员,还是把肉加回去吧”

“您不是刚说不要肉吗”

“现在又想要了”

“…好的您稍等”

——————某一功能点摇摆不定

厨房:

大厨:“日你啊,菜都炒过火了你让我放肉?还好肉我没扔”

服务员:“客户提的要求你日我干嘛?”

大厨:“你就不能拒绝他啊?啊?”

服务员:“人家是客户嘛。”

——————甲方是大爷

餐厅:

“服务员!服务员!”

“来了来了,你好?”

“怎么这么半天啊?”

“稍等我给您催催啊”

——————改动开始导致工期延误

厨房:

大厨:“催你M催,腐竹没泡好,我还得重新放油,他要想吃老的也行,没法保质保量”

——————开发者请求重新排期

餐厅:

服务员:“抱歉,加腐竹的话得多等半天,您别着急哈”

“我靠要等那么久?我现在就要吃,你们能快点吗?”

“行…您稍等”

——————甲方催活

厨房:

大厨:“我日他仙人板板,中途改需求又想按期交付,逗我玩呢?”

服务员:“那我问问,要不让他们换个菜?”

大厨:“再换我就死了”

——————开发者开始和中间人pk

餐厅:

“服务员,这样吧,腐竹不要了,换成蒜毫能快点吗?对了,顺便加点番茄酱”

——————因工期过长再次改动需求

厨房:

大厨:“我日了狗啊,你TM不知道蒜毫也得焯水啊?还有你让我怎么往热菜里放番茄酱啊??”

服务员:“焯水也比等腐竹强吧,番茄酱往里一倒不就行了吗?很难吗?”

大厨:“草。腐竹我还得接着泡,万一这孙子一会又想要了呢。”

——————频繁改动开始导致大量冗余

餐厅:

“服务员,菜里加茄丁了没有?我去其它饭店吃可都是有茄丁的”

“好好好您稍等您稍等”

——————奇葩需求

厨房:

大厨:“我去他二大爷他吃的是斯里兰卡三流技校炒的宫保鸡丁吗?宫保鸡丁里放茄丁??”

服务员:“茄丁抄好了扔里边不就行了吗?”

大厨:“那TM还能叫菜吗?哪个系的?”

服务员:“客户要,你就给炒了吧。”

大厨:“MB你顺道问问他腐竹还要不要,我这盆腐竹还占着地方呢不要我就扔了”

——————奇葩你也得做

餐厅:

“服务员,还要多久能好啊”

“很快,很快…”

“再给我来杯西瓜汁。”

“…好”

“我再等10分钟,还不好我就走了,反正还没给钱。”

“很快,很快…”

——————黑暗前的最后黎明

10分钟后

“咦,我上次吃的不是这个味啊?”

从厨房杀出来的大厨:“我TM就日了你的狗…”

——————最终决战——————

你=客户

服务员=客户经理+产品经理

大厨=码农

免责声明:文章转载自《如何向外行解释产品经理频繁更改需求为什么会令程序员烦恼?》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mitmdump 详解(3)文件比较软件有哪些下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Nginx的配置使用

因为做了一个聚合支付的服务应用,对于交易系统来说,并发要求比较高,所以需要使用负载均衡来缓解并发的要求,自行开发又太费时费力,Nginx查了些资料基本满足需求,故对其做了下研究,记录下防止遗忘。 一、Nginx下载地址   https://github.com/nginx/nginx/releases   Nginx的目录结构      conf:配置文件...

教会你Linux Shell自动交互的三种方法

你了解Linux系统么?你是Linux系统的应用者么?如果你要学习linux,你可能会遇到Linux Shell自动交互问题,这里将介绍Linux Shell自动交互的解决方法,在这里拿出来和大家分享一下。 一、背景 shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量、条件、算术和循环等方法快速创建脚本以完...

Android开发经验02:Android 项目开发流程

Android开发完整流程:   一、用户需求分析 用户需求分析占据整个APP开发流程中最重要的一个环节。一款APP开发的成功与否很大程度都决定于此。这里所说的用户需求分析指的是基于用户的要求所进行的APP功能的梳理。针对的主体都是用户,"以用户为中心",不是瞎喊口号。因为很多公司所开发的APP都是给需求用户所使用的,所以,在整理APP开发需求的同时,不...

软件需求阅读笔记02

什么是软件需求? 软件需求实际就是“业务知识+问题列表+其他元素”。软件需求的三层次:业务需求、用户需求、软件需求。需求也有着三种类型:功能需求、非功能需求、设计约束。 软件需求的三层次 1业务需求 定义:反映企业/组织对软件系统的高层次目标要求,也就是软件系统的建设目标。 体现: 问题:解决企业运作过程中遇到的问题,如物资供应脱节、用户投诉量大...

流程梳理的重要性

流程梳理的重要性       业务梳理是流程系统最重要的工作,业务梳理明确了,流程既简单又准确,相反既复杂又混乱。大道至简,这是一个由简到繁,由繁到简的过程。 同样一个需求有的客户画了一个很复杂的流程,完成了功能。另一个客户把业务拆分成几个流程,也实现了功能。那种方式更可取呢?我们认为在满足需求的前提下,越简单越好。下面以个实际案例来阐述流程梳理的重要性。...

软件测试需求分析与跟踪

1.1  需求的重要性 1.1.1 软件缺陷的8020原则 1)      在软件测试过程中,从需求分析开始到集成测试阶段引入测试手段,能发现所有缺陷的80%;系统测试阶段引入测试手段,能发现剩余缺陷中80%的缺陷;在运行维护阶段经过长时间、大量运行软件后,能够发现最后剩余的20%的缺陷。     1.2   软件需求 1.2.1  软件需求的定义 1)...