技術債務(母雞的遭遇)
技術債務是指匆忙的實現一個功能,卻對現有的程式庫造成了破壞(在實現的過程中汙染了程式碼庫的設計),這對於一些專案經理/客戶來說就像是天書奇談。也許他們是明白的,只是不願意承認罷了,我估計是這樣的。不管怎樣,我想起來一個小故事,當下次遇到這種情況,需要向他們解釋增加某些新功能的代價時,也可用講這個故事給他們聽。
一個農夫有3只母雞。每隻母雞每天下一個蛋。農夫跟當地的一個食品店老闆做生意。食品店老闆每天從農夫那裡買2給雞蛋放在店裡出售。一切都很好,直到有一天,食品店老闆出現在農夫家裡:
食品店老闆: 哎呀,今天我需要一些雞肉。
農夫: 雞肉?你和我的生意裡可不包括這些。
食品店老闆: 我知道。但我真的需要一些雞肉。我計劃要做一個B2S(S是胃的縮寫)模式的PaaS(P是肉禽的縮寫)平臺。
農夫: 什麼?
食品店老闆: 非常重要的東西。你可以提供我一些雞肉嗎?
農夫: 這樣呀,事情不是那麼容易辦到 — 我要孵化雞蛋,等小雞長大了才能給你…少說也要一個月吧。
食品店老闆: 一個月?太久了…我以為你現在就能給我呢。
農夫: 時間有自己的腳步,你必須耐心一點等。
食品店老闆: 可是,為什麼你不能在現有的母雞中殺一個呢?這樣一來,我有了雞肉,你每天還能產兩個蛋。這就夠了,不是嗎?
農夫: 可是,我不覺得這是一個好主意。這會把我推向一個沒有迴旋餘地的境況,萬一剩下的雞中有一隻突然出了什麼意外怎麼辦。
食品店老闆: 放心啦,不會發生那樣的事的…我真的非常非常需要雞肉!殺一隻雞吧!
農夫: 那好吧,我想我可以…
於是,農夫拿起一把刀,把他的一隻母雞送入了天堂。食品店老闆得到了他的雞肉,返回了食品店。
一週後,食品店老闆又一次來到了農夫家裡:
食品店老闆: 你好,我來了!
農夫: 你好,有什麼事?
食品店老闆: 你聽我說 — 你的雞肉好極了。事實上,它是如此的鮮美,賣的如此的好,你必須要再給我一隻雞。最遲明天早上。
農夫: 這是不可能的事。如果我要再殺一隻雞給你,我就沒法每天提供你兩個雞蛋了。
食品店老闆: 哦,別那麼緊張!客戶需要雞肉,我已經答應客戶明天早上提供給他們了…
農夫: 不行,絕對不能這麼幹。如果我這麼做,我就履行不了我和你的協議了,你知道嗎?如果我這麼做,我就沒法提供你足夠的雞蛋了。
食品店老闆: 可是我真的真的需要雞肉!明天早上之前!否則客戶會發飆的,地球將會塌陷,世界末日將會到來!給我一隻雞吧,現在!
農夫: 那好吧,如果你非要這麼不顧後果的想要,那就拿去吧!但是,從現在開始,雞蛋我是沒法提供你了,明白?
食品店老闆: 當然,當然。但我相信是個很聰明的人,我猜你能找到方法解決這個問題。再見!
食品店老闆離開回到了店裡。
第二天:
食品店老闆: 嗨,雞蛋呢?
農夫: 你什麼意思?
食品店老闆: 雞蛋。你只給了我一個雞蛋。發生了什麼事?
農夫: 發生了什麼事?我有3只雞,你拿走了兩隻。現在就剩下一隻。一隻雞,一個雞蛋。我認為我解釋的已經很清楚了。
食品店老闆: 但是合同裡並沒有這些!合同裡說的很清楚 — 你每天提供我2給雞蛋!你現在讓我向客戶怎麼交代?
農夫: 哦,情況我很明白。我無能為力。
食品店老闆: 好吧,好吧,不談這事了。我們們聊點其它事情…要是能再能點雞肉就好了。你再給我一些吧?
所以,千萬別學農夫 — 堅決拒絕為了當前利益而長久的破壞你的程式碼庫的無理要求,如果你被強迫這樣做,拒絕承擔這樣的任務 — 也不要做食品店老闆 — 不要做提出這樣不合理的要求,你要為自己的決定承擔後果。
相關文章
- 趣文:用雞講解技術債務的形成過程
- 技術債務之輪
- 技術債務管理以及Firefox/Chromium的債務評價Firefox
- 技術債務真正的代價
- 吐槽“技術債務” - morethancoding
- 我們來聊聊技術債務
- 用GC的策略,管理團隊的技術債務GC
- 什麼是技術債,為什麼要還技術債?
- 建議將技術債務為科技財富 - incrementREM
- 技術債務:究竟讓你付出了多大代價?
- 母雞與前端工程師前端工程師
- 產品經理如何幫助減少技術債務 ?
- 技術債務是對業務功能缺乏真正的理解 -daverupert.com
- 技術債務讓51%的工程師考慮辭職 - venturebeat工程師
- 解決技術債務的花費:每行程式碼3.61美金行程
- 技術債 - 到底花你多少錢?
- 戰術競技遊戲的吃雞之路遊戲
- 應對 DevOps 中的技術債務:創新與穩定性的微妙平衡dev
- 2021年,是時候把技術債務管理提上日程了
- 一隻菜雞的半年技術部落格之路
- 入職阿里5年,他如何破解“技術債”?阿里
- 雷軍遭遇滑鐵盧,沒核心技術是硬傷
- deno 如何償還 node.js 的十大技術債Node.js
- Deno 如何償還 Node.js 的十大技術債?Node.js
- 【同行說技術】前端開發的技術資料和雞湯美文 彙總(一)前端
- 雞肋的Redis事務Redis
- 入侵檢測技術,雞肋還是機會?
- 程式碼質量與規範,那些年你欠下的技術債
- 一個菜雞技術人員,很另類的總結
- 技術詳解Facebook人工智慧母體FBLearner Flow人工智慧
- 用人工智慧監督人工 遭遇非技術困局人工智慧
- KentBeck:“改善架構”比“還清技術債務”可以帶來更好的感覺,決定和結果。架構
- 吃雞開發商Krafton上市首日遭遇滑鐵盧 IPO下跌8.8%Raft
- 為什麼不斷做遷移,那是在還技術債
- 病毒木馬釣魚網站肉雞等技術的正向利用網站
- 技術債! 怎樣簡潔高效的實現多個 Enum 自由轉換
- 程式碼是債務,越少越好
- 權威解讀什麼是技術負債? - martinfowler.com