讀古今文學網 > 程序員必讀之軟件架構 > 挑戰 >

挑戰

記住這一點,如果問人們是否需要一個東西,無疑我們都知道他們會說「是的」。這就是為什麼很難劃分功能需求、用戶故事等的優先級。不管你使用哪一種度量優先級的方法(MoSCoW1 ,高/中/低,等等),只要嘗試劃分優先級,每件事最後都會變成「不可或缺」。你可以創建一個「一定不能少」的目錄,但我們知道每件事都會上目錄。

1 https://en.wikipedia.org/wiki/MoSCoW_Method

這就要換一種方法,提出成本的影響有助於集中注意力。比如下面這些。

  • 架構師:「你需要一個正常運行時間為100%的系統。構建這個系統必須通過大量冗余來消除每一個故障點,我們所有的花費都需要翻一番,外加很多自動故障轉移工程的工作。這個成本大概是100萬美元。或者我們可以為你構建一個簡單一些的系統,必須告誡你,某些組件可能需要進行監測,發生故障時需要手動重啟,這樣的成本大概是10萬美元。您需要哪一種呢?」
  • 擔保人:「哦,如果是那樣,我要便宜的方案。」

凡事皆有可能,但每件事都有代價。解釋那些代價有助於找到給定語境中的最好方案。