開発組織のスピードを向上させるための体系的な思考プロセス。課題の特定から施策の優先順位付けまでをカバーするフレームワーク。
## 開発スピードの構造
```
開発スピード = 人数 × 一人当たり生産性 × 稼働率
向上させるには:
- 人数を増やす → 採用・増員
- 一人当たり生産性を上げる → プロセス改善、技術改善、スキル向上
- 稼働率を上げる → ムダの削減、集中できる環境
```
ただし、**単に人を増やせば速くなるわけではない**(ブルックスの法則):
- オンボーディングコスト
- コミュニケーションコスト
- コードベースの複雑さによる限界
## 思考プロセス
### 1. 現状のボトルネックを特定する
**問い**: 開発が遅い理由は何か?どこで時間を使っているか?
#### 1-1. 開発プロセスのどこで時間がかかっているか
- 仕様確定・要件定義
- 設計
- 実装
- レビュー
- テスト(自動・手動)
- QA・バグ修正
- リリース作業
#### 1-2. 待ち時間・ブロッカー
- 仕様待ち(PdM、デザイナー)
- レビュー待ち
- QA待ち
- 他チームへの依存(API、インフラ)
- デプロイ待ち
#### 1-3. やり直し・手戻りのコスト
- 仕様変更による手戻り
- レビューでの大幅な修正
- バグ修正の手間
- テストの失敗とデバッグ
- リリース後の緊急対応
#### 1-4. 技術的な制約
- ビルド時間、テスト実行時間
- デプロイの時間と頻度
- 技術的負債による開発速度への影響
- アーキテクチャの複雑さ
- レガシーコードの保守コスト
#### 1-5. 人・スキルの制約
- 特定の人にしかできない作業(属人化)
- スキル不足で時間がかかる部分
- レビュアー不足
- 並行作業できない理由
### 2. 目標開発スピードを定量化する
**問い**: どれくらい速くなれば良いのか?
#### 2-1. 事業が求める開発スピード
- 現在:月に何機能リリースしているか
- 理想:月に何機能リリースしたいか
- ギャップ:何倍にする必要があるか
#### 2-2. 将来の開発要求
- 来期の開発規模感(今期比)
- 新規プロダクト・大型施策の有無
- タイムラインの制約
#### 2-3. 実現可能性の評価
- 今の延長線上で達成可能か
- 抜本的な改革が必要か
- 段階的に到達するのか、一気に変えるのか
### 3. 改善施策を考える
**問い**: ボトルネックを解消し、スピードを上げるには何をすべきか?
#### 3-1. すぐにできる改善(Quick Wins)
- ムダな会議・作業の削減
- レビュープロセスの改善
- 並行作業の促進(ブロッカー解消)
- 小さな自動化
#### 3-2. プロセス改善
- 仕様確定の早期化・明確化
- レビューの分散化(待ち時間削減)
- QAの前倒し・シフトレフト
- デプロイ頻度の向上
- ふりかえりと継続的改善
#### 3-3. 技術改善
- CI/CDの高速化
- テスト自動化の拡充
- 技術的負債の計画的返済
- アーキテクチャのモジュール化
- 開発ツールの改善
#### 3-4. 人・組織の強化
- **採用・増員**: 何人、いつまでに、どのレベル
- **スキルアップ**: ペアプロ、モブプロ、勉強会
- **属人性の解消**: ドキュメント化、ナレッジ共有
- **レビュアー育成**: レビュー品質とスピード向上
- **チーム文化**: 心理的安全性、主体性
#### 3-5. スコープ・優先順位の最適化
- 本当に必要な機能か(やめられることはないか)
- MVPでリリースして段階的に拡張
- 技術的負債返済への投資時間確保
### 4. 施策の優先順位付けと実行計画
**問い**: 何から手をつけるべきか?
#### 4-1. インパクト×実現性マトリクス
- **高インパクト × 高実現性**: すぐやる(Quick Wins)
- **高インパクト × 低実現性**: 計画的に取り組む
- **低インパクト × 高実現性**: 余裕があればやる
- **低インパクト × 低実現性**: やらない
#### 4-2. タイムラインの設定
- **短期(〜3ヶ月)**: 今期中に効果を出す
- **中期(3〜6ヶ月)**: 来期に向けた準備
- **長期(6ヶ月〜)**: 組織・技術基盤の抜本改革
#### 4-3. 責任者とリソース配分
- 各施策の責任者・推進者
- 必要なリソース(時間、予算、人)
- 既存の開発タスクとのバランス
#### 4-4. 成功指標の設定
- 開発スピード指標(リードタイム、ベロシティ)
- 品質指標(バグ率、差し戻し率)
- チーム指標(エンゲージメント、稼働率)
- 定期的なモニタリングと振り返り
### 5. 継続的な改善サイクル
- 月次・四半期でのレトロスペクティブ
- 指標のトラッキング
- 施策の効果検証
- うまくいかない施策は見直す
- 新たなボトルネックが見つかれば対応
## 推奨アプローチ
**開発スピード向上の施策は、大きく以下の優先順位で考える:**
1. **まず効率化**(生産性を上げる)
- プロセス改善、自動化、ムダの削減
- 投資コストが低く、効果が早い
- 人を増やす前にやるべき
2. **次に増員**(量を増やす)
- 効率化してから人を増やす方が効果的
- オンボーディングコストを考慮
- 採用は時間がかかるので早めに計画
3. **並行して技術基盤強化**(将来への投資)
- 技術的負債の返済
- アーキテクチャ改善
- 短期的には遅くなるが、長期的には必須
## 関連ノート
- [[開発組織の作り方]]
- [[Engineering Manager (EM)]]
- [[Four Keys]]
- [[技術的負債]]