產(chǎn)品經(jīng)理頻繁更改需求,為什么會(huì)令程序員煩惱?

4 評(píng)論 21867 瀏覽 237 收藏 13 分鐘

我們先來(lái)看個(gè)段子:

去飯店,坐下來(lái)。

“服務(wù)員,給我來(lái)份宮保雞?。 ?/p>

“好嘞!”

——————這叫原始需求

大廚做到一半。

“服務(wù)員,菜里不要放肉?!?/p>

“不放肉怎么做???”

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

“好的您稍等”

——————中途需求變更

廚房:

大廚:“你大爺,我肉都回鍋了”

服務(wù)員:“顧客非要要求的嘛,你把肉挑出來(lái)不就行了嗎”

大廚:“行你大爺”

然而還是一點(diǎn)點(diǎn)挑出來(lái)了

——————改動(dòng)太大,部分重構(gòu)

餐廳:

“服務(wù)員,菜里能給我加點(diǎn)腐竹嗎?”

“行,這個(gè)應(yīng)該簡(jiǎn)單?!?/p>

——————低估改動(dòng)成本

廚房:

大廚:“你TMD,不知道腐竹得提前泡水?炒到一半才說(shuō)?跟他說(shuō),想吃腐竹就多等半天”

服務(wù)員:“啊你怎么不早說(shuō)?”

大廚:“早說(shuō)你MLGB我怎么知道他要往宮保雞丁里放腐竹”

然而還是去泡腐竹了

——————新需求引入了新研發(fā)成本

餐廳:

“服務(wù)員,還是把肉加回去吧”

“您不是剛說(shuō)不要肉嗎”

“現(xiàn)在又想要了”

“…好的您稍等”

——————某一功能點(diǎn)搖擺不定

廚房:

大廚:“日你啊,菜都炒過(guò)火了你讓我放肉?還好肉我沒(méi)扔”

服務(wù)員:“客戶(hù)提的要求你日我干嘛?”

大廚:“你就不能拒絕他?。堪。俊?/p>

服務(wù)員:“人家是客戶(hù)嘛?!?/p>

——————甲方是大爺

餐廳:

“服務(wù)員!服務(wù)員!”

“來(lái)了來(lái)了,你好?”

“怎么這么半天???”

“稍等我給您催催啊”

——————改動(dòng)開(kāi)始導(dǎo)致工期延誤

廚房:

大廚:“催你M催,腐竹沒(méi)泡好,我還得重新放油,他要想吃老的也行,沒(méi)法保質(zhì)保量”

——————開(kāi)發(fā)者請(qǐng)求重新排期

餐廳:

服務(wù)員:“抱歉,加腐竹的話(huà)得多等半天,您別著急哈”

“我靠要等那么久?我現(xiàn)在就要吃,你們能快點(diǎn)嗎?”

“行…您稍等”
——————甲方催活

廚房:

大廚:“中途改需求又想按期交付,逗我玩呢?”

服務(wù)員:“那我問(wèn)問(wèn),要不讓他們換個(gè)菜?”

大廚:“再換我就死了”

——————開(kāi)發(fā)者開(kāi)始和中間人PK

餐廳:

“服務(wù)員,這樣吧,腐竹不要了,換成蒜毫能快點(diǎn)嗎?對(duì)了,順便加點(diǎn)番茄醬”

——————因工期過(guò)長(zhǎng)再次改動(dòng)需求

廚房:

大廚:“你不知道蒜毫也得焯水啊?還有你讓我怎么往熱菜里放番茄醬????”

服務(wù)員:“焯水也比等腐竹強(qiáng)吧,番茄醬往里一倒不就行了嗎?很難嗎?”

大廚:“草。腐竹我還得接著泡,萬(wàn)一這孫子一會(huì)又想要了呢?!?/p>

——————頻繁改動(dòng)開(kāi)始導(dǎo)致大量冗余

餐廳:

“服務(wù)員,菜里加茄丁了沒(méi)有?我去其它飯店吃可都是有茄丁的”

“好好好您稍等您稍等”

——————奇葩需求

廚房:

大廚:“他吃的是斯里蘭卡三流技校炒的宮保雞丁嗎?宮保雞丁里放茄????”

服務(wù)員:“茄丁抄好了扔里邊不就行了嗎?”

大廚:“那TM還能叫菜嗎?哪個(gè)系的?”

服務(wù)員:“客戶(hù)要,你就給炒了吧?!?/p>

大廚:“MB你順道問(wèn)問(wèn)他腐竹還要不要,我這盆腐竹還占著地方呢不要我就扔了”

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

餐廳:

“服務(wù)員,還要多久能好啊”

“很快,很快…”

“再給我來(lái)杯西瓜汁。”

“…好”

“我再等10分鐘,還不好我就走了,反正還沒(méi)給錢(qián)?!?/p>

“很快,很快…”

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

10分鐘后

“咦,我上次吃的不是這個(gè)味???”

從廚房殺出來(lái)的大廚:“……”

——————最終決戰(zhàn)——————

你=客戶(hù)

服務(wù)員=客戶(hù)經(jīng)理+產(chǎn)品經(jīng)理

大廚=碼農(nóng)

請(qǐng)自行轉(zhuǎn)換…

注:以上場(chǎng)景已極度夸張,實(shí)際生產(chǎn)生活中碼農(nóng)和PM是和睦友好的相親相愛(ài)的一家人

以上內(nèi)容來(lái)源于知乎用戶(hù)@貓愛(ài)吃魚(yú)不吃耗子

編程語(yǔ)言,它終歸是一門(mén)語(yǔ)言,只是它的使用者是電腦軟件和硬件。產(chǎn)品經(jīng)理和程序員對(duì)于需求理解的思維體系、語(yǔ)言體系、語(yǔ)言上下文環(huán)境不同。

比如這個(gè)需求:一包中華45元,產(chǎn)目經(jīng)理給你50元,讓程序員去買(mǎi)包煙把找的5塊錢(qián)拿回來(lái)。

產(chǎn)品經(jīng)理覺(jué)得非常簡(jiǎn)單,一句話(huà)的事。

而對(duì)于程序員而言:

  • 50元是不是假錢(qián)?
  • 如果不是假錢(qián),去哪買(mǎi)煙?
  • 如果去西安買(mǎi)煙,西安賣(mài)煙的地方關(guān)門(mén)了?是回去給產(chǎn)品經(jīng)理說(shuō)賣(mài)煙的地方關(guān)門(mén)了還是一直找,直到找到一個(gè)沒(méi)有關(guān)門(mén)的賣(mài)煙的地方?
  • 如果這里的一包中華是40元,或者一包中華是50元,買(mǎi)不買(mǎi)?不管多錢(qián)都買(mǎi)?還是征求產(chǎn)品經(jīng)理同意后再買(mǎi)?
  • 怎么判斷買(mǎi)的煙不是假煙?還是不管真假買(mǎi)了一包中華就算?
  • 買(mǎi)了之后是郵寄給項(xiàng)目經(jīng)理?還是自己給帶回來(lái)?還是讓順道的同事給捎回去?
  • 如果買(mǎi)回來(lái)買(mǎi)的是50元一包的中華,產(chǎn)品經(jīng)理嫌貴了怎么辦?
  • 如果買(mǎi)回來(lái)的是40元一包的中華,是給產(chǎn)品經(jīng)理退5元錢(qián)還是給他退10元?
  • 如果產(chǎn)品經(jīng)理一定要45元的中華怎么辦?
  • 如果產(chǎn)品經(jīng)理突然不想要這煙了,讓你退回去怎么辦?
  • 如果賣(mài)煙的人不退怎么辦?
  • 如果產(chǎn)品經(jīng)理讓你退了重新在別的地方買(mǎi)一包怎么辦?
  • 如果賣(mài)煙的老王退了,但是再?zèng)]有別的賣(mài)煙的地方了怎么辦!
  • 如果又找到一個(gè)賣(mài)煙的地方,并且一包中華也是45元。帶給項(xiàng)目經(jīng)理。項(xiàng)目經(jīng)理聽(tīng)說(shuō)你是從西安買(mǎi)的,他要抽北京買(mǎi)的煙怎么辦?

……

你會(huì)發(fā)現(xiàn)問(wèn)題沒(méi)完沒(méi)了。

這會(huì)你可能會(huì)說(shuō)程序員太死腦筋。錯(cuò)!產(chǎn)品經(jīng)理所說(shuō)的,中華45元,給你50元,買(mǎi)完找5元。這句話(huà)是建立在一系統(tǒng)上下文語(yǔ)境,人類(lèi)生活習(xí)慣,生活常識(shí)當(dāng)中的。產(chǎn)品經(jīng)理的潛臺(tái)詞是說(shuō)找最近的有賣(mài)煙的買(mǎi)一包45的不是假煙的中華煙,找的五塊錢(qián)給我。

而對(duì)于程序語(yǔ)言,還是開(kāi)頭那句話(huà):編程語(yǔ)言是一門(mén)語(yǔ)言,它的使用者是軟件和硬件。對(duì)于計(jì)算機(jī)而言,它沒(méi)有情感,不理解人類(lèi)的這一系統(tǒng)語(yǔ)言環(huán)境,生活習(xí)慣,生活常識(shí)。它只嚴(yán)格按照它的語(yǔ)言規(guī)則,編譯原理一步一步,老老實(shí)實(shí),絲毫不露地往下執(zhí)行。如果沒(méi)有分歧,一切妥當(dāng)。如果有分歧,完蛋了。人類(lèi)千百萬(wàn)年來(lái)進(jìn)化形成的臨機(jī)應(yīng)變,相機(jī)行事等等這些本能,計(jì)算機(jī)及編程語(yǔ)言一丁點(diǎn)不具備。它就認(rèn)準(zhǔn)程序員寫(xiě)的程序,就乖乖地聽(tīng)你程序,指哪打哪。所謂的人工智能也只是程序員把每一種可能,人類(lèi)面對(duì)問(wèn)題所會(huì)面對(duì)的問(wèn)題事先寫(xiě)好程序語(yǔ)言錄入進(jìn)計(jì)算機(jī)。如果意外在之前所料之中,程序完美執(zhí)行,如果意外所料不及,那就是BUG,就是錯(cuò)誤。而這些BUG和錯(cuò)誤都要程序員去一點(diǎn)一點(diǎn)補(bǔ)充產(chǎn)品經(jīng)理所謂“需求”之外的所有潛臺(tái)詞。

這是在需求確定的情況下,如果程序員正在買(mǎi)煙的路上,產(chǎn)品經(jīng)理打電話(huà)說(shuō),剩下5塊錢(qián)回來(lái)再買(mǎi)瓶水。那之前所有的邏輯程序員又得再執(zhí)行一遍。如果產(chǎn)品經(jīng)理過(guò)一會(huì)又打電話(huà)說(shuō)再買(mǎi)個(gè)面包。。。那就折騰死程序員了。

從需求方面說(shuō)完,再?gòu)某绦騿T編碼實(shí)現(xiàn)方面來(lái)說(shuō)。還是剛才的需求:產(chǎn)品經(jīng)理給程序員50元,讓買(mǎi)一包45元的中華煙,找回來(lái)5元錢(qián)。

程序員一聽(tīng),程序里面寫(xiě)死了,從線(xiàn)路1去西大街,買(mǎi)完煙再沿線(xiàn)路2返回。但是中途產(chǎn)品經(jīng)理說(shuō)你再買(mǎi)點(diǎn)零食回來(lái)。程序員傻眼了?。。〉?,只能程序重新設(shè)計(jì),從線(xiàn)路2出發(fā)。

程序員一聽(tīng),程序里面寫(xiě)死了,從線(xiàn)路1去西大街,買(mǎi)完煙再沿線(xiàn)路2返回。但是中途產(chǎn)品經(jīng)理說(shuō)你再買(mǎi)點(diǎn)零食回來(lái)。程序員傻眼了?。。〉?,只能程序重新設(shè)計(jì),從線(xiàn)路2出發(fā)。

試想,從初中開(kāi)始學(xué)英語(yǔ),初中三年,高中三年,大學(xué)四年,十年下來(lái),有幾個(gè)人能面對(duì)外國(guó)人說(shuō)一口標(biāo)準(zhǔn)的英語(yǔ)?編程語(yǔ)言也一樣,有些程序員大學(xué)沒(méi)好好研究編程,或者根本不是計(jì)算機(jī)系,上過(guò)幾天培訓(xùn)班,知道編程是怎么一回事,會(huì)寫(xiě)if/else/for,就業(yè)所迫,就開(kāi)始商業(yè)編程了。寫(xiě)程序必然是指哪打哪,別的情況我不管。這樣的程序,脆弱的不敢碰,一有改動(dòng)就是要性命啊。

最后一方面是,國(guó)內(nèi)軟件開(kāi)發(fā),開(kāi)發(fā)流程不完善。有活就趕緊埋頭干,干了不對(duì)再說(shuō)。最終需求理解不到位,項(xiàng)目周期比火車(chē)還長(zhǎng),項(xiàng)目成本居高不下。

有時(shí)候拖著下巴想想,編程真是一門(mén)藝術(shù)活。

 

正文作者:支兩招

原文地址:https://www.zhihu.com/question/40712955

本文由作者@貓愛(ài)吃魚(yú)不吃耗子、@支兩招?授權(quán)發(fā)布。未經(jīng)許可,禁止轉(zhuǎn)載。

原文標(biāo)題:抖音加碼圖文“種草”,小紅書(shū)顫抖了嗎?

作者:明明;編輯:無(wú)花果;公眾號(hào):娛樂(lè)獨(dú)角獸(ID:yuledujiaoshou)

原文鏈接:https://mp.weixin.qq.com/s/Rr02cykNZl3CiDmVPSJ3YA

本文由 @娛樂(lè)獨(dú)角獸 授權(quán)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載

題圖來(lái)自 Unsplash,基于 CC0 協(xié)議

該文觀(guān)點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 哈哈哈,真是有才 ??

    來(lái)自浙江 回復(fù)
  2. 講段子這個(gè),好有才,幽默又很好的倒出了真實(shí)的情況

    來(lái)自四川 回復(fù)
  3. 技術(shù)型產(chǎn)品經(jīng)理:一個(gè)宮保雞丁都做不好?來(lái)來(lái)來(lái),領(lǐng)我去后廚,我示范你們廚子怎么炒!

    來(lái)自北京 回復(fù)
    1. 所以我不做開(kāi)發(fā),不做PM,改行做產(chǎn)品經(jīng)理。你說(shuō)的這個(gè)我也做過(guò),開(kāi)發(fā)說(shuō)你什么都不懂這樣做不了,我就給他畫(huà)示意圖描敘框架架構(gòu),這就是越了解越是死敵,開(kāi)發(fā)想越簡(jiǎn)單越好,產(chǎn)品卻是基于流程體驗(yàn)設(shè)計(jì)的,立場(chǎng)不一樣沖突難免

      來(lái)自廣東 回復(fù)