重點摘要#

  • 架構師喜歡使用**隱喻(metaphor)**來溝通抽象概念,但隱喻可能會反噬
  • 不要愛上你的系統隱喻——它只應用於探索性溝通
  • 隱喻過度延伸會導致客戶誤解系統能力、團隊做出錯誤決策
  • 交付的系統中不應殘留著早已過時的隱喻痕跡

詳細內容#

架構師喜歡使用隱喻,因為它們為抽象、複雜且不斷變化的主題提供了具體的把手。無論是與團隊溝通還是向終端使用者介紹架構,找到一個有形的實體或物理事物來比喻你正在建構的東西,是非常誘人的。

隱喻的演變#

一開始通常運作良好——共同語言讓人們感覺事情正在朝正確的方向發展。隱喻發展並成長,最終擁有了自己的生命。人們對隱喻感覺良好——我們正在進步!

但接下來,隱喻開始變得危險,並可能反噬它的創造者:

三種危險情境#

1. 客戶過度解讀隱喻

業務客戶開始更喜歡你的隱喻而非你實際提議的系統,採取了最樂觀的解讀。例如:你說「我們正在建構一個像船在碼頭間穿梭的運輸系統」,客戶想的是跨太平洋的貨櫃船,而你其實想的是游泳池裡的划船。

2. 團隊被隱喻綁架

開發團隊開始認為隱喻比實際的商業問題更重要,為了迎合隱喻而做出奇怪的決策。例如:「我們說它像個檔案櫃,所以當然要按字母排序顯示給使用者」。

3. 系統殘留隱喻遺跡

交付的系統中包含了早已被拋棄的舊隱喻的名稱殘留——那些早已被重構和覆蓋的概念的考古遺跡。

不要愛上你的系統隱喻。僅將它用於探索性溝通目的,不要讓它反過來控制你。

— By David Ing