忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【知識】プロジェクトの成功を導く!「開発手法」の全容|情報処理問題1000本ノック

開発手法は、時代やプロジェクトの性質に合わせて進化してきました。大きく分けて「伝統的な手法」「アジャイル系」「品質・設計重視型」の視点で整理しましょう。

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

※これらの手法は独立しているわけではなく、たとえば「アジャイルという大きな枠組みの中にXPやリーンがある」といった関係性や、「オブジェクト指向という設計思想をウォーターフォールで使う」といった組み合わせが実際の現場ではよく見られます。

PR