ストーリー
Month 8までに、パフォーマンスエンジニアリングをはじめとする技術の深い部分を学んできた。しかし佐藤CTOの表情はいつもと違う。
ThoughtWorks Technology Radar とは
概要
ThoughtWorks Technology Radar は、ThoughtWorks 社が年2回発行する技術トレンドレポートであり、同時に組織が自分たちの技術選定を体系化するためのフレームワークでもあります。
| 要素 | 説明 |
|---|---|
| 目的 | 技術選定の意思決定を可視化し、組織全体で共有する |
| 頻度 | 四半期〜半年ごとに更新が推奨される |
| 参加者 | テックリード、アーキテクト、CTO、開発者代表 |
| 成果物 | レーダー図、各技術の評価コメント |
4つのリング
テクノロジーレーダーの核心は、技術を4つのリング(推奨度)に分類することです。
Adopt(採用)
組織として積極的に使うべき技術。プロダクションでの実績があり、チームに十分な知見がある。
例:
- TypeScript(フロントエンド・バックエンド共通)
- PostgreSQL(RDBMS標準)
- Docker + Kubernetes(コンテナオーケストレーション)
- GitHub Actions(CI/CD)
Trial(試行)
PoC やサイドプロジェクトで使い始める段階。実績は限定的だが、有望であり、チームが積極的に検証すべき技術。
例:
- Deno(サーバーサイドランタイム)
- Temporal(ワークフローエンジン)
- OpenTelemetry(オブザーバビリティ標準)
Assess(評価)
調査・研究する価値がある技術。チームメンバーが学習し、適用可能性を評価する段階。
例:
- WebAssembly(サーバーサイド利用)
- AI-assisted coding(GitHub Copilot等)
- Edge Computing(CDN上でのコンピューティング)
Hold(保留)
新規プロジェクトでは採用しない技術。既存プロジェクトでの利用は継続するが、移行計画を検討する。
例:
- jQuery(新規フロントエンドでは非採用)
- MongoDB(特定ユースケース以外では非推奨)
- 自前メッセージキュー(マネージドサービスへ移行)
「Hold は”悪い技術”という意味ではない。組織の文脈で”今は新規採用しない”という判断だ。技術そのものではなく、自分たちの文脈での適切さを評価するんだ」 — 佐藤CTO
4つの象限(Quadrants)
レーダーでは技術を4つの象限に分類します。
| 象限 | 対象 | 例 |
|---|---|---|
| Techniques | 開発手法・プラクティス | TDD、ペアプロ、Feature Flags、Trunk-based Development |
| Tools | 開発ツール・ソフトウェア | Terraform、Grafana、k6、Playwright |
| Platforms | プラットフォーム・インフラ | AWS Lambda、Cloudflare Workers、Supabase |
| Languages & Frameworks | 言語・フレームワーク | Rust、Go、Next.js、FastAPI |
チーム独自のテクノロジーレーダーを構築する
ステップ1: ブリップの収集
チーム全員から「注目している技術」「使い始めた技術」「やめたい技術」を収集します。
# ブリップ収集テンプレート
blip:
name: "OpenTelemetry"
quadrant: "Tools"
ring: "Trial"
submitter: "田中"
reason: |
分散トレーシングの標準化が進んでおり、
ベンダーロックインを避けつつオブザーバビリティを
確保できる。現在のDatadogトレーシングからの移行候補。
evidence:
- "CNCF graduated project"
- "主要クラウドベンダーがサポート"
- "チーム内で2名が個人プロジェクトで検証済み"
ステップ2: レーダーミーティング
| 項目 | 内容 |
|---|---|
| 頻度 | 四半期に1回(2〜3時間) |
| 参加者 | テックリード + 希望する開発者(6〜12名推奨) |
| 進行 | 象限ごとに議論、投票で合意形成 |
| ファシリテーター | テックリードまたはアーキテクト |
ステップ3: 合意形成のルール
1. 各ブリップについて提案者がプレゼン(3分)
2. Q&A(5分)
3. 投票(Adopt / Trial / Assess / Hold)
4. 過半数で決定。意見が割れる場合は Trial に
5. 反対意見も記録に残す(ADR的アプローチ)
ステップ4: レーダーの公開と活用
graph TD
A["活用方法"]
A --> B["新規プロジェクト開始時に参照"]
B --> B1["Adopt の技術をデフォルト選択肢として使う"]
A --> C["採用面接"]
C --> C1["候補者に自社のテクノロジーレーダーを共有"]
A --> D["技術負債の可視化"]
D --> D1["Hold にある技術の使用箇所を特定し移行計画を立てる"]
A --> E["エンジニアの学習指針"]
E --> E1["Assess / Trial の技術を学習テーマとして推奨"]
style A fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e40af
style B fill:#d1fae5,stroke:#059669,color:#065f46
style C fill:#d1fae5,stroke:#059669,color:#065f46
style D fill:#fef3c7,stroke:#d97706,stroke-width:2px,color:#92400e
style E fill:#d1fae5,stroke:#059669,color:#065f46
style B1 fill:#f3f4f6,stroke:#9ca3af,color:#374151
style C1 fill:#f3f4f6,stroke:#9ca3af,color:#374151
style D1 fill:#f3f4f6,stroke:#9ca3af,color:#374151
style E1 fill:#f3f4f6,stroke:#9ca3af,color:#374151
テクノロジーレーダーの落とし穴
よくある失敗パターン
| パターン | 問題 | 対策 |
|---|---|---|
| HiPPO問題 | 最も声の大きい人の意見が通る | 匿名投票を導入する |
| 新しもの好きバイアス | 新しい技術が過大評価される | 「プロダクションでの実績」を必須条件にする |
| 更新されない | 作って終わり | 四半期更新をカレンダーに登録 |
| 粒度が粗すぎる | 「JavaScript」のような大きすぎる単位 | 具体的なフレームワーク・ツール単位で |
| 全員の意見を聞かない | シニアだけで決める | ジュニアも含めた幅広い参加 |
実践テンプレート:テクノロジーレーダー評価シート
# テクノロジーレーダー評価シート
## 基本情報
- 技術名: [名前]
- 象限: Techniques / Tools / Platforms / Languages & Frameworks
- 提案リング: Adopt / Trial / Assess / Hold
- 提案者: [名前]
- 評価日: [日付]
## 評価基準(各5段階)
| 基準 | スコア | コメント |
|------|--------|---------|
| チームの習熟度 | /5 | |
| コミュニティの活性度 | /5 | |
| プロダクション実績 | /5 | |
| 学習コスト | /5 | |
| 既存スタックとの親和性 | /5 | |
| ベンダーロックインリスク | /5 | |
## 判定
- 推奨リング: [Adopt / Trial / Assess / Hold]
- 次回レビュー: [日付]
- アクションアイテム: [具体的なアクション]
まとめ
| ポイント | 内容 |
|---|---|
| テクノロジーレーダー | 技術選定を組織的・可視的に行うフレームワーク |
| 4リング | Adopt(採用)、Trial(試行)、Assess(評価)、Hold(保留) |
| 4象限 | Techniques、Tools、Platforms、Languages & Frameworks |
| 運用の鍵 | 定期的な更新、幅広い参加者、証拠に基づく議論 |
チェックリスト
- テクノロジーレーダーの4つのリングの意味を理解した
- 4つの象限による技術分類を理解した
- チーム独自のレーダー構築プロセスを把握した
- レーダー運用の落とし穴と対策を理解した
次のステップへ
次は「テクノロジーロードマップの策定」を学びます。レーダーで技術の現状を可視化した後、それを時間軸に展開してロードマップを作成する方法を見ていきましょう。
推定読了時間: 30分