athrunwang

          紀(jì)元
          數(shù)據(jù)加載中……
          技術(shù)債務(wù)(母雞的遭遇)

          技術(shù)債務(wù), 是指匆忙的實(shí)現(xiàn)一個(gè)功能,卻對(duì)現(xiàn)有的程序庫(kù)造成了破壞(在實(shí)現(xiàn)的過(guò)程中污染了代碼庫(kù)的設(shè)計(jì)),這對(duì)于一些項(xiàng)目經(jīng)理/客戶來(lái)說(shuō)就像是天書(shū)奇談。也許他們是明 白的,只是不愿意承認(rèn)罷了,我估計(jì)是這樣的。不管怎樣,我想起來(lái)一個(gè)小故事,當(dāng)下次遇到這種情況,需要向他們解釋增加某些新功能的代價(jià)時(shí),也可用講這個(gè)故 事給他們聽(tīng)。

          一個(gè)農(nóng)夫有3只母雞。每只母雞每天下一個(gè)蛋。農(nóng)夫跟當(dāng)?shù)氐囊粋€(gè)食品店老板做生意。食品店老板每天從農(nóng)夫那里買(mǎi)2給雞蛋放在店里出售。一切都很好,直到有一天,食品店老板出現(xiàn)在農(nóng)夫家里:

          食品店老板: 哎呀,今天我需要一些雞肉。

          農(nóng)夫: 雞肉?你和我的生意里可不包括這些。

          食品店老板: 我知道。但我真的需要一些雞肉。我計(jì)劃要做一個(gè)B2S(S是胃的縮寫(xiě))模式的PaaS(P是肉禽的縮寫(xiě))平臺(tái)。

          農(nóng)夫: 什么?

          食品店老板: 非常重要的東西。你可以提供我一些雞肉嗎?

          農(nóng)夫: 這樣呀,事情不是那么容易辦到 — 我要孵化雞蛋,等小雞長(zhǎng)大了才能給你…少說(shuō)也要一個(gè)月吧。

          食品店老板: 一個(gè)月?太久了…我以為你現(xiàn)在就能給我呢。

          農(nóng)夫: 時(shí)間有自己的腳步,你必須耐心一點(diǎn)等。

          食品店老板: 可是,為什么你不能在現(xiàn)有的母雞中殺一個(gè)呢?這樣一來(lái),我有了雞肉,你每天還能產(chǎn)兩個(gè)蛋。這就夠了,不是嗎?

          農(nóng)夫: 可是,我不覺(jué)得這是一個(gè)好主意。這會(huì)把我推向一個(gè)沒(méi)有回旋余地的境況,萬(wàn)一剩下的雞中有一只突然出了什么意外怎么辦。

          食品店老板: 放心啦,不會(huì)發(fā)生那樣的事的…我真的非常非常需要雞肉!殺一只雞吧!

          農(nóng)夫: 那好吧,我想我可以…

          于是,農(nóng)夫拿起一把刀,把他的一只母雞送入了天堂。食品店老板得到了他的雞肉,返回了食品店。

          一周后,食品店老板又一次來(lái)到了農(nóng)夫家里:

          食品店老板: 你好,我來(lái)了!

          農(nóng)夫: 你好,有什么事?

          食品店老板: 你聽(tīng)我說(shuō) — 你的雞肉好極了。事實(shí)上,它是如此的鮮美,賣(mài)的如此的好,你必須要再給我一只雞。最遲明天早上。

          農(nóng)夫: 這是不可能的事。如果我要再殺一只雞給你,我就沒(méi)法每天提供你兩個(gè)雞蛋了。

          食品店老板: 哦,別那么緊張!客戶需要雞肉,我已經(jīng)答應(yīng)客戶明天早上提供給他們了…

          農(nóng)夫: 不行,絕對(duì)不能這么干。如果我這么做,我就履行不了我和你的協(xié)議了,你知道嗎?如果我這么做,我就沒(méi)法提供你足夠的雞蛋了。

          食品店老板: 可是我真的真的需要雞肉!明天早上之前!否則客戶會(huì)發(fā)飆的,地球?qū)?huì)塌陷,世界末日將會(huì)到來(lái)!給我一只雞吧,現(xiàn)在!

          農(nóng)夫: 那好吧,如果你非要這么不顧后果的想要,那就拿去吧!但是,從現(xiàn)在開(kāi)始,雞蛋我是沒(méi)法提供你了,明白?

          食品店老板: 當(dāng)然,當(dāng)然。但我相信是個(gè)很聰明的人,我猜你能找到方法解決這個(gè)問(wèn)題。再見(jiàn)!

          食品店老板離開(kāi)回到了店里。

          第二天:

          食品店老板: 嗨,雞蛋呢?

          農(nóng)夫: 你什么意思?

          食品店老板: 雞蛋。你只給了我一個(gè)雞蛋。發(fā)生了什么事?

          農(nóng)夫: 發(fā)生了什么事?我有3只雞,你拿走了兩只。現(xiàn)在就剩下一只。一只雞,一個(gè)雞蛋。我認(rèn)為我解釋的已經(jīng)很清楚了。

          食品店老板: 但是合同里并沒(méi)有這些!合同里說(shuō)的很清楚 — 你每天提供我2給雞蛋!你現(xiàn)在讓我向客戶怎么交代?

          農(nóng)夫: 哦,情況我很明白。我無(wú)能為力。

          食品店老板: 好吧,好吧,不談這事了。咱們聊點(diǎn)其它事情…要是能再能點(diǎn)雞肉就好了。你再給我一些吧?

          所以,千萬(wàn)別學(xué)農(nóng)夫 — 堅(jiān)決拒絕為了當(dāng)前利益而長(zhǎng)久的破壞你的代碼庫(kù)的無(wú)理要求,如果你被強(qiáng)迫這樣做,拒絕承擔(dān)這樣的任務(wù) — 也不要做食品店老板 — 不要做提出這樣不合理的要求,你要為自己的決定承擔(dān)后果。

          posted on 2012-03-19 10:00 AthrunWang 閱讀(292) 評(píng)論(1)  編輯  收藏

          評(píng)論

          # re: 技術(shù)債務(wù)(母雞的遭遇) 2012-03-19 23:24 何楊

          對(duì)某些公司做的項(xiàng)目里面,這樣的事情天天在發(fā)生!!

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 石城县| 五台县| 大悟县| 丰城市| 遵义县| 新邵县| 铜陵市| 龙陵县| 东乌珠穆沁旗| 梨树县| 石城县| 尉氏县| 平远县| 连平县| 平安县| 高陵县| 博罗县| 板桥市| 嘉义市| 双牌县| 仁化县| 濮阳县| 通榆县| 乳源| 田阳县| 开化县| 河津市| 太保市| 海口市| 永康市| 乐至县| 丰县| 林芝县| 南召县| 高陵县| 石城县| 普定县| 台中县| 抚顺市| 泰兴市| 寻乌县|