甚麼是技術雷達?
技術雷達是一種評估工具,用來判斷軟體領域中各種技術並對這些技術應採取什麼行動的方法。(來源為 ThoughtWorks,參閱這裡)
象限
技術雷達本身是一個切割成4等份的圓形,這4等份各為技巧(左上),工具(左下),語言框架(右上),平台(右下),代表技術種類(在官方網站中稱為象限)。
技術種類如下:
1.工具
軟體開發的各種工具,範圍很廣,包含IDE,資料庫,版控等等。
2.語言框架
大部分是開源的程式語言,函式庫,框架等等
3.技巧
可強化軟體開發的實務技巧,包含各種設計實踐(模式/原則/開發法/建議/演算法)
4.平台
可在其上建構技術的多樣平台,包含作業系統,微服務,分散式系統
要注意的是象限並不是雷達的重點,只是放置技術的分類。
圓環
在圓形中從圓心由內而外分為四層,各為採納(第1層)(最內層),試驗(第2層),評估(第3層),暫停(第4層)(最外層),代表採取行動。(在官方網站中稱為圓環)。
採取行動如下:
1.採納
已被證實成熟,應該立即使用的技術,但要注意並不代表應該在任何情況下都使用,必須經過評估。
2.試驗
可以使用的技術,但還未被充分證明。重點在知道如何使用這項技術,可以在一些無關緊要的專案實施。
3.評估
可以了解並釐清未來是否會對組織造成影響。進行Survey,開發探索,研究計畫,會議,但還不需要實施在專案中。
4.暫緩
可能是技術不夠成熟或被錯誤使用,別在專案中引入。
項目
出現在雷達上的單一圓點就是項目,代表目前出現的軟體技術。項目位置會不斷變化代表其應該採取的行動
在 ThoughtWorks 實際的技術雷達如下
透過這四層及四等份就可列出應該對什麼技術採取什麼行動,畫成表格如下
技術種類\進行動作 | 採納 | 試驗 | 評估 | 暫停 |
技巧 | 應該採用的技巧 | 應該試驗的技巧 | 應該評估的技巧 | 應該暫停的技巧 |
工具 | 應該採用的工具 | 應該試驗的工具 | 應該評估的工具 | 應該暫停的工具 |
語言框架 | 應該採用的語言框架 | 應該試驗的語言框架 | 應該評估的語言框架 | 應該暫停的語言框架 |
平台 | 應該採用的平台 | 應該試驗的平台 | 應該評估的平台 | 應該暫停的平台 |
建立雷達的策略
ThoughtWorks 每半年會更新一次雷達,基本上可以根據該雷達來挑選想採取的行動和技術,也有提供建立私人雷達的方式,參閱這裡。
另外每個不同的組織都有不同的商業目標,要發展的軟體策略也不盡相同,因此最好自行建立組織本身需要的技術雷達。
對於架構師而言,廣度應該優先於深度(但不代表深度不重要),在加入項目的策略上應該盡量讓項目平均分佈在四個象限,而不是讓項目全集中在某個象限或某個象限只有一個項目。
也要特別注意別輕易引入暫緩的項目。若採納的項目和自己專業有關但還很陌生,也請花一些時間進行了解(測試式學習是一個好的開始)。