【知識】プロジェクトの成功を導く!「開発手法」の全容|情報処理問題1000本ノック
開発手法は、時代やプロジェクトの性質に合わせて進化してきました。大きく分けて「伝統的な手法」「アジャイル系」「品質・設計重視型」の視点で整理しましょう。
| 開発手法 | 一言説明(特徴・目的) |
|---|---|
| ウォーターフォール | 要件定義から順に、上流から下流へ滝のように戻ることなく進める最も標準的な手法。 |
| Vモデル開発 | 開発工程(左側)とテスト工程(右側)を対応させ、検証(検収)作業を明確にしたモデル。 |
| スパイラル開発 | 設計と試作(プロトタイプ)を繰り返し、徐々にリスクを排除しながら螺旋状に規模を拡大する。 |
| 反復開発 | システムを小さな単位に分割し、短期間のサイクル(イテレーション)を繰り返して完成させる手法の総称。 |
| アジャイル開発 | 柔軟な計画と短期間の反復を重視し、顧客との対話を通じて動くソフトウェアを迅速に提供する手法。 |
| XP (エクストリーム・プログラミング) | ペアプログラミングやテスト駆動開発など、技術的実践を通じて変化への対応力を高める。 |
| クリスタル開発 | プロジェクトの規模や重要度(色)に応じて、手法の厳密さを柔軟に使い分ける手法。 |
| DSDM | 時間の制約(タイムボックス)を優先し、ビジネス価値を迅速に届けるための英国発祥のアジャイル手法。 |
| リーン | トヨタ生産方式を源流とし、徹底的に「ムダ」を省いて価値提供の効率を最大化する考え方。 |
| 構造化開発 | 機能を段階的に詳細化(トップダウン)し、プログラムを単純な構造の組み合わせで構築する手法。 |
| オブジェクト指向開発 | データと手続きを「オブジェクト」としてまとめ、再利用性や保守性を高める設計手法。 |
| データ中心設計 (DOA) | 機能よりも先に、変化しにくい「データの構造」に着目してシステムを設計する手法。 |
| パターンベース開発 | 過去の成功例である「デザインパターン」などを再利用して、効率的に設計・開発を行う。 |
| クリーンルーム開発 | 数学的検証に基づき、バグの混入を未然に防いで「無欠陥」のソフトウェアを目指す高品質重視の手法。 |
| RAD (Rapid Application Development) | CASEツールやプロトタイプを用い、少人数で短期間にシステムを完成させることを目指す。 |
| RUP (Rational Unified Process) | オブジェクト指向を基盤とし、ユースケース駆動・リスク中心で進める反復型の開発フレームワーク。 |
| JAD (Joint Application Development) | ユーザーと開発者が一堂に会して集中討議を行い、合意形成を加速させる要件定義の手法。 |
| PSP / TSP | 個人のスキル向上(PSP)とチームのプロセス管理(TSP)を通じて、予測通りの納期と品質を達成する。 |
※これらの手法は独立しているわけではなく、たとえば「アジャイルという大きな枠組みの中にXPやリーンがある」といった関係性や、「オブジェクト指向という設計思想をウォーターフォールで使う」といった組み合わせが実際の現場ではよく見られます。