構建自己的框架去做技術選型

凌虚發表於2024-11-21

技術選型無處不在,你可能需要選擇一種類庫、選擇一個框架、選擇一種語言、選擇一種元件、選擇一個架構模式、選擇一種系統方案……。
那麼如何構建一個決策或思維框架去做技術選型呢?

技術選型

如上圖所示,這是我自己總結出來的一套框架。

我把問題進行了層次結構的劃分,從以下方面考慮:

  • 需求滿足度:可選項對當前業務或技術需求的滿足情況,以及對未來潛在需求的支援程度,即“功能性”。
  • 非功能質量屬性

    • 效能:幾乎所有框架或元件都宣稱自己是高效能。
    • 高可靠/高可用性:是否支援叢集或主從結構,是否存在單點故障的可能。
    • 可修改性:是否能對 BUG 快速修復,是否支援擴充套件。
    • 安全性:是否有認證授權、追蹤審計、資料加密等等安全特性。
  • 團隊親合度:實施需要具體的人員,因此就有了:

    • 開發成本:研發對所選技術的上手程度、掌握情況。
    • 運維成本:運維管理的支撐難易。

注意,以上只是我提供的一種框架,每個維度針對不同場景都是可以改變的。例如,如果對比的是開源元件,那麼你很可能需要增加“成熟度”這一個維度。重要的不是那些條條框框,而是思考的方式。

構建自己的框架

為什麼要做技術選型?在我看來有兩個重要原因:輔助決策、達成共識。透過羅列各種指標,進行綜合性打分,可以減緩過多的主觀情緒對決策的影響。另外,技術選型也是在團隊成員間達成一致的手段,這也是一種協作、協商的機制。

你不需要生搬硬套各種技術選型的框架,更合適的方式應該是你進行“結構化”思考之後得到自己的層次結構圖,這需要一些積累與刻意練習,但並不難。一旦你掌握了結構化的思維方式之後,在處理其它問題上也會遊刃有餘。所以,請你只參考,但構建自己的框架。


(我是凌虛,關注我,無廣告,專注技術,不煽動情緒,歡迎與我交流)

相關文章