技術債務(母雞的遭遇)
技術債務是指匆忙的實現一個功能,卻對現有的程式庫造成了破壞(在實現的過程中汙染了程式碼庫的設計),這對於一些專案經理/客戶來說就像是天書奇談。也許他們是明白的,只是不願意承認罷了,我估計是這樣的。不管怎樣,我想起來一個小故事,當下次遇到這種情況,需要向他們解釋增加某些新功能的代價時,也可用講這個故事給他們聽。
一個農夫有3只母雞。每隻母雞每天下一個蛋。農夫跟當地的一個食品店老闆做生意。食品店老闆每天從農夫那裡買2給雞蛋放在店裡出售。一切都很好,直到有一天,食品店老闆出現在農夫家裡:
食品店老闆: 哎呀,今天我需要一些雞肉。
農夫: 雞肉?你和我的生意裡可不包括這些。
食品店老闆: 我知道。但我真的需要一些雞肉。我計劃要做一個B2S(S是胃的縮寫)模式的PaaS(P是肉禽的縮寫)平臺。
農夫: 什麼?
食品店老闆: 非常重要的東西。你可以提供我一些雞肉嗎?
農夫: 這樣呀,事情不是那麼容易辦到 — 我要孵化雞蛋,等小雞長大了才能給你…少說也要一個月吧。
食品店老闆: 一個月?太久了…我以為你現在就能給我呢。
農夫: 時間有自己的腳步,你必須耐心一點等。
食品店老闆: 可是,為什麼你不能在現有的母雞中殺一個呢?這樣一來,我有了雞肉,你每天還能產兩個蛋。這就夠了,不是嗎?
農夫: 可是,我不覺得這是一個好主意。這會把我推向一個沒有迴旋餘地的境況,萬一剩下的雞中有一隻突然出了什麼意外怎麼辦。
食品店老闆: 放心啦,不會發生那樣的事的…我真的非常非常需要雞肉!殺一隻雞吧!
農夫: 那好吧,我想我可以…
於是,農夫拿起一把刀,把他的一隻母雞送入了天堂。食品店老闆得到了他的雞肉,返回了食品店。
一週後,食品店老闆又一次來到了農夫家裡:
食品店老闆: 你好,我來了!
農夫: 你好,有什麼事?
食品店老闆: 你聽我說 — 你的雞肉好極了。事實上,它是如此的鮮美,賣的如此的好,你必須要再給我一隻雞。最遲明天早上。
農夫: 這是不可能的事。如果我要再殺一隻雞給你,我就沒法每天提供你兩個雞蛋了。
食品店老闆: 哦,別那麼緊張!客戶需要雞肉,我已經答應客戶明天早上提供給他們了…
農夫: 不行,絕對不能這麼幹。如果我這麼做,我就履行不了我和你的協議了,你知道嗎?如果我這麼做,我就沒法提供你足夠的雞蛋了。
食品店老闆: 可是我真的真的需要雞肉!明天早上之前!否則客戶會發飆的,地球將會塌陷,世界末日將會到來!給我一隻雞吧,現在!
農夫: 那好吧,如果你非要這麼不顧後果的想要,那就拿去吧!但是,從現在開始,雞蛋我是沒法提供你了,明白?
食品店老闆: 當然,當然。但我相信是個很聰明的人,我猜你能找到方法解決這個問題。再見!
食品店老闆離開回到了店裡。
第二天:
食品店老闆: 嗨,雞蛋呢?
農夫: 你什麼意思?
食品店老闆: 雞蛋。你只給了我一個雞蛋。發生了什麼事?
農夫: 發生了什麼事?我有3只雞,你拿走了兩隻。現在就剩下一隻。一隻雞,一個雞蛋。我認為我解釋的已經很清楚了。
食品店老闆: 但是合同裡並沒有這些!合同裡說的很清楚 — 你每天提供我2給雞蛋!你現在讓我向客戶怎麼交代?
農夫: 哦,情況我很明白。我無能為力。
食品店老闆: 好吧,好吧,不談這事了。我們們聊點其它事情…要是能再能點雞肉就好了。你再給我一些吧?
所以,千萬別學農夫 — 堅決拒絕為了當前利益而長久的破壞你的程式碼庫的無理要求,如果你被強迫這樣做,拒絕承擔這樣的任務 — 也不要做食品店老闆 — 不要做提出這樣不合理的要求,你要為自己的決定承擔後果。
相關文章
- 吐槽“技術債務” - morethancoding
- 用GC的策略,管理團隊的技術債務GC
- 什麼是技術債,為什麼要還技術債?
- 你瞭解什麼是技術債務嗎?
- 技術債務是對業務功能缺乏真正的理解 -daverupert.com
- 求用100文錢買100只雞 公雞 母雞 小雞的只數
- 技術債務讓51%的工程師考慮辭職 - venturebeat工程師
- 建議將技術債務為科技財富 - incrementREM
- 產品經理如何幫助減少技術債務 ?
- 應對 DevOps 中的技術債務:創新與穩定性的微妙平衡dev
- 技術債正在悄悄拖垮你的團隊!
- 2021年,是時候把技術債務管理提上日程了
- 戰術競技遊戲的吃雞之路遊戲
- 一隻菜雞的半年技術部落格之路
- Atlas VPN:2021年全球76%的公司遭遇因技術問題導致的業務中斷
- 入職阿里5年,他如何破解“技術債”?阿里
- Deno 如何償還 Node.js 的十大技術債?Node.js
- deno 如何償還 node.js 的十大技術債Node.js
- 用人工智慧監督人工 遭遇非技術困局人工智慧
- 程式碼質量與規範,那些年你欠下的技術債
- 解碼技術債:AI程式碼助手與智慧體的革新之道AI智慧體
- 一個菜雞技術人員,很另類的總結
- 雞肋的Redis事務Redis
- KentBeck:“改善架構”比“還清技術債務”可以帶來更好的感覺,決定和結果。架構
- 為什麼不斷做遷移,那是在還技術債
- 權威解讀什麼是技術負債? - martinfowler.com
- 淺談活動中臺系統技術債管理實踐
- 出來混遲早要還的,技術債Dagger2:Android篇(上)Android
- 技術債! 怎樣簡潔高效的實現多個 Enum 自由轉換
- 出來混遲早要還的,技術債Dagger2:基礎篇
- 吃雞開發商Krafton上市首日遭遇滑鐵盧 IPO下跌8.8%Raft
- 金地集團三季報:歸母淨利潤同比降超三成,仍存債務壓力
- 技術管理進階——技術總監的第一要務
- 妄想只用技術就能為巴黎聖母院這些文物續命?naive!AI
- 母嬰眾生相:孩子王上市、貝貝網欠債、親寶寶蓄力
- 百雞問題擴充套件-N雞問題N元錢買N只雞,公雞每隻5元,母雞每隻3元,小雞1元3只,N元錢必須剛好買N只雞,而且雞必須整隻買,不能劈開買。套件
- 科技愛好者週刊(第 292 期):所有程式碼都是技術債
- 極狐GitLab小課堂|如何利用DevOps來償還技術負債?Gitlabdev
- 出來混遲早要還的,技術債Dagger2:Android篇(中)@Scope、@SingletonAndroid