LESSON 30分

ストーリー

あなた
最近、チームメンバーから”Bunってどうですか?""HTMXって使えますか?“みたいな質問が増えたんですが…
高橋アーキテクト
新しい技術に興味を持つのは良いことだ。でも、すべてに飛びつくわけにはいかない。ThoughtWorksのTechnology Radarを知っているか?
あなた
聞いたことはあります。技術のトレンドをまとめたやつですよね?
高橋アーキテクト
それだけじゃない。自チーム専用のTechnology Radarを作ることで、技術の採用方針をチーム全体で共有できるんだ。“うちのチームではこの技術はこういう位置付け”という共通認識ができれば、個別の判断に迷わなくなる

ThoughtWorks Technology Radarとは

Technology Radarは、技術やツールを4つのリングに分類して可視化するフレームワークです。

// Technology Radarの構造
enum Ring {
  ADOPT = "Adopt",     // 積極的に採用すべき
  TRIAL = "Trial",     // プロジェクトで試すべき
  ASSESS = "Assess",   // 調査・評価すべき
  HOLD = "Hold",       // 新規採用を控えるべき
}

enum Quadrant {
  TECHNIQUES = "Techniques",           // 技法・プラクティス
  TOOLS = "Tools",                     // ツール
  PLATFORMS = "Platforms",             // プラットフォーム
  LANGUAGES_FRAMEWORKS = "Languages & Frameworks", // 言語・フレームワーク
}

interface RadarItem {
  name: string;
  ring: Ring;
  quadrant: Quadrant;
  description: string;
  movedFrom?: Ring; // 前回からの移動
  isNew: boolean;
}

4つのリングの判断基準

## Adopt(採用)
- 業界で広く使われ、十分に成熟している
- チーム内に経験者が複数いる
- 本番環境で実績がある
- 例: TypeScript, React, PostgreSQL, Docker

## Trial(試用)
- 有望だが、本番環境での実績が限定的
- PoCで良い結果が出ている
- 次のプロジェクトで積極的に試したい
- 例: Bun, Deno, tRPC, Turborepo

## Assess(評価)
- 興味深いが、まだ十分に理解していない
- 技術ブログや勉強会で情報収集中
- PoCの実施を検討する段階
- 例: HTMX, Tauri, Effect-TS

## Hold(保留)
- 新規プロジェクトでの採用を控える
- 既存プロジェクトではメンテナンスのみ
- より良い代替手段がある
- 例: jQuery(新規), Moment.js, Enzyme

自チームのTechnology Radarを作る

// チーム固有のRadar作成
interface TeamRadar {
  teamName: string;
  updatedAt: string;
  items: RadarItem[];
  decisionLog: RadarDecision[];
}

interface RadarDecision {
  item: string;
  previousRing: Ring;
  newRing: Ring;
  reason: string;
  decidedBy: string;
  date: string;
}

const teamRadar: TeamRadar = {
  teamName: "プロダクト開発チーム",
  updatedAt: "2025-Q1",
  items: [
    // Adopt
    {
      name: "TypeScript",
      ring: Ring.ADOPT,
      quadrant: Quadrant.LANGUAGES_FRAMEWORKS,
      description: "全プロジェクトで標準採用。型安全性による品質向上を実証済み",
      isNew: false,
    },
    {
      name: "Next.js",
      ring: Ring.ADOPT,
      quadrant: Quadrant.LANGUAGES_FRAMEWORKS,
      description: "React製アプリの標準フレームワーク。SSR/SSG対応",
      isNew: false,
    },
    {
      name: "GitHub Actions",
      ring: Ring.ADOPT,
      quadrant: Quadrant.PLATFORMS,
      description: "CI/CDの標準。全リポジトリで使用",
      isNew: false,
    },
    // Trial
    {
      name: "Biome",
      ring: Ring.TRIAL,
      quadrant: Quadrant.TOOLS,
      description: "ESLint + Prettier の代替。高速な lint/format",
      movedFrom: Ring.ASSESS,
      isNew: false,
    },
    {
      name: "Hono",
      ring: Ring.TRIAL,
      quadrant: Quadrant.LANGUAGES_FRAMEWORKS,
      description: "軽量WebフレームワークEdge Workers との相性良好",
      isNew: true,
    },
    // Assess
    {
      name: "Effect-TS",
      ring: Ring.ASSESS,
      quadrant: Quadrant.LANGUAGES_FRAMEWORKS,
      description: "型安全なエラーハンドリング。学習コストが課題",
      isNew: true,
    },
    // Hold
    {
      name: "Moment.js",
      ring: Ring.HOLD,
      quadrant: Quadrant.LANGUAGES_FRAMEWORKS,
      description: "新規採用禁止。date-fns に移行",
      isNew: false,
    },
  ],
  decisionLog: [
    {
      item: "Biome",
      previousRing: Ring.ASSESS,
      newRing: Ring.TRIAL,
      reason: "PoCで lint 速度が10倍向上。副プロジェクトで検証開始",
      decidedBy: "テクニカルリード",
      date: "2025-01-15",
    },
  ],
};

Radarの運用プロセス

フェーズ内容頻度
収集チームメンバーから技術提案を収集常時
議論月次のTech Radar会議で議論月1回
更新リングの移動を決定、理由を記録四半期に1回
共有全社に公開、他チームと情報交換更新時
## Tech Radar会議のアジェンダ(月次/60分)

1. **新規提案の紹介(15分)**
   - 提案者が技術を3分で紹介
   - チームからの質問

2. **既存項目の見直し(20分)**
   - Trial → Adopt に昇格する候補はあるか
   - 新たに Hold に移すべきものはあるか

3. **PoC計画(15分)**
   - Assess → Trial に移すためのPoC計画を議論

4. **アクションアイテム(10分)**
   - 次回までの調査担当を決める

技術トレンドの情報源

情報源特徴頻度
ThoughtWorks Technology Radar業界標準のRadar半年ごと
State of JS / CSS / HTML開発者アンケート年次
GitHub OctoverseGitHubの利用統計年次
Stack Overflow Survey開発者トレンド調査年次
InfoQ Trends Report技術トレンドの分析四半期
Hacker News / Redditコミュニティの反応日次
カンファレンス最新の実践事例随時

まとめ

ポイント内容
Technology Radar技術を4リング × 4象限で分類する手法
4つのリングAdopt → Trial → Assess → Hold
チーム独自のRadar自チームの文脈で技術を評価・分類
運用月次議論、四半期更新、決定理由の記録

チェックリスト

  • Technology Radarの4つのリングを説明できる
  • 自チームのRadarの作り方を理解した
  • Radar運用のプロセスを把握した
  • 技術トレンドの情報源を確認した

次のステップへ

次は「ベンダーロックインの回避」を学びます。技術選定で見落としがちな長期的リスクについて理解を深めましょう。


推定読了時間: 30分