甚麼是技術雷達?

技術雷達是一種評估工具,用來判斷軟體領域中各種技術並對這些技術應採取什麼行動的方法。(來源為 ThoughtWorks,參閱這裡)

象限

技術雷達本身是一個切割成4等份的圓形,這4等份各為技巧(左上),工具(左下),語言框架(右上),平台(右下),代表技術種類(在官方網站中稱為象限)。

技術種類如下:

1.工具
軟體開發的各種工具,範圍很廣,包含IDE,資料庫,版控等等。

2.語言框架
大部分是開源的程式語言,函式庫,框架等等

3.技巧
可強化軟體開發的實務技巧,包含各種設計實踐(模式/原則/開發法/建議/演算法)

4.平台
可在其上建構技術的多樣平台,包含作業系統,微服務,分散式系統

要注意的是象限並不是雷達的重點,只是放置技術的分類。

圓環

在圓形中從圓心由內而外分為四層,各為採納(第1層)(最內層),試驗(第2層),評估(第3層),暫停(第4層)(最外層),代表採取行動。(在官方網站中稱為圓環)。

採取行動如下:

1.採納
已被證實成熟,應該立即使用的技術,但要注意並不代表應該在任何情況下都使用,必須經過評估。

2.試驗
可以使用的技術,但還未被充分證明。重點在知道如何使用這項技術,可以在一些無關緊要的專案實施。

3.評估
可以了解並釐清未來是否會對組織造成影響。進行Survey,開發探索,研究計畫,會議,但還不需要實施在專案中。

4.暫緩
可能是技術不夠成熟或被錯誤使用,別在專案中引入。

項目

出現在雷達上的單一圓點就是項目,代表目前出現的軟體技術。項目位置會不斷變化代表其應該採取的行動

在 ThoughtWorks 實際的技術雷達如下

Radar From ThoughtsWork

透過這四層及四等份就可列出應該對什麼技術採取什麼行動,畫成表格如下

技術種類\進行動作採納試驗評估暫停
技巧應該採用的技巧應該試驗的技巧應該評估的技巧應該暫停的技巧
工具應該採用的工具應該試驗的工具應該評估的工具應該暫停的工具
語言框架應該採用的語言框架應該試驗的語言框架應該評估的語言框架應該暫停的語言框架
平台應該採用的平台應該試驗的平台應該評估的平台應該暫停的平台

建立雷達的策略

ThoughtWorks 每半年會更新一次雷達,基本上可以根據該雷達來挑選想採取的行動和技術,也有提供建立私人雷達的方式,參閱這裡

另外每個不同的組織都有不同的商業目標,要發展的軟體策略也不盡相同,因此最好自行建立組織本身需要的技術雷達。

對於架構師而言,廣度應該優先於深度(但不代表深度不重要),在加入項目的策略上應該盡量讓項目平均分佈在四個象限,而不是讓項目全集中在某個象限或某個象限只有一個項目。

也要特別注意別輕易引入暫緩的項目。若採納的項目和自己專業有關但還很陌生,也請花一些時間進行了解(測試式學習是一個好的開始)。