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

【システム開発手法・アジャイル】作って見せて軌道修正!「プロトタイプ手法(イテレイティブ・モデル)」|情報処理問題1000本ノック

基本情報技術者試験、応用情報技術者試験、プロジェクトマネージャ試験の「システム開発ライフサイクル(SDLC)・開発モデル」分野で頻出の重要テーマ。手戻りを防ぎリスクを最小化する「プロトタイプ手法(反復型・イテレイティブモデル)」の基本的な考え方、メリット・デメリット、適しているプロジェクトの特徴を整理して攻略しましょう。

■ プロトタイプ手法(反復型イテレイティブモデル)のプロセスとサイクル

プロトタイプ手法とは、システムの要件定義や設計段階で早い段階から「試作品(プロトタイプ)」を作成し、ユーザーに実際に触れてもらいながらフィードバックを反映させる開発アプローチです。従来のウォーターフォールのように一括りで作るのではなく、小さなサイクルを何度も繰り返します。

プロセスの段階主な活動内容ポイント・目的
(1) 初期調査
(Initial Investigation)
プロジェクトの目的、大まかな予算・納期、解決すべき課題や全体像を初期段階で把握・整理する。 開発全体の方向性を定め、プロトタイプ作成のスコープを明確にする。
(2) 要件定義
(Requirement Definition)
ユーザーの要望を聞き取り、画面のレイアウトや主要な機能要件を洗い出して定義する。 「言葉だけの定義」にとどまらず、早い段階で形にする準備を行う。
(3) システムデザイン
(System Design)
プロトタイプとして動かすための簡易的な画面設計、データ構造、アーキテクチャの設計を行う。 完璧な設計を目指すのではなく、まずは「動くもの」を素早く作る設計にする。
(4) コーディング・テスト
(Coding & Testing)
設計に基づきプロトタイプを急ぎ実装し、簡単な動作確認(テスト)を行ってユーザーに提示する。 ここで得たフィードバックを元に、(2)〜(4)のサイクルを何度も繰り返す。

■ プロトタイプ手法の基本的な考え方とメリット

  • 小さく分割してリスクを削減する:巨大な開発を一度に行うリスクを避け、不確実性の高い部分を小分けにして早期につぶし込む。
  • 変更の容易化:開発の初期〜中期に仕様変更を何度も受け入れることで、後工程での致命的な手戻りを防ぐ。
  • ユーザーを全般へ巻き込む:ユーザーが常に開発プロセスに参加するため、「作ってみたらイメージと違った」というミスマッチを防ぐ。

試験対策の重要ポイント:欠点(デメリット)と適しているプロジェクト

  • 【適しているプロジェクト】:
    • ユーザーインターフェース(UI/UX)や画面デザインが重視されるシステム(Webアプリやスマホアプリ等)
    • 要件が固まっておらず、試行錯誤しながら仕様を固めていきたい(アジャイル的な)プロジェクト
  • 【主な欠点・デメリット】:
    • コストと工期の肥大化(スコープクリープ):「ここも直して、あそこも変えて」と要望が際限なく膨らみ、スケジュールや予算が管理しにくくなる。
    • 「使い捨て」の難しさ:本来は仕組み検証用の試作品(プロトタイプ)であるはずが、そのまま本番のコードとして流用されてしまい、構造の汚さやセキュリティ・性能不足を抱えたまま稼働してしまうリスクがある。

※例えるなら、家のリフォームで「完成図面(紙)だけを見て家を建てる」のではなく、まずはダンボールや簡易模型(プロトタイプ)を作って実際に中を歩いてもらい、「やっぱりこの廊下は狭いから広げよう」「ここにコンセントが欲しい」とその場で直していくアプローチです。イメージの共有には最強ですが、何度も作り直すうちに「あれもこれも」と追加工事費(コスト増)になりやすい点に注意が必要です。



PR