システム開発手法 | 中小企業診断士1次試験 経営情報システム

U

「ウォーターフォールとアジャイル、どっちが優れているのか?」と最初は思っていました。でも調べてみると、どちらが正しいという話ではなく、「どんなシステムを作るのか」によって使い分けるものだと分かって、一気に整理できました。

システム開発手法とは、ソフトウェアをどのような順序・体制で作り上げるかの設計思想です。「どうやってコードを書くか」ではなく、「誰が・いつ・何をするか」というプロジェクト全体の進め方を定めます。

試験では、各手法の特徴・メリット・デメリットと「どんなシステムに向いているか」が問われます。名前と定義を暗記する前に、なぜその手法が生まれたのかという背景を押さえておくと、選択肢を見た瞬間に判断できるようになります。

目次

4つの主要開発手法:全体像をつかむ

手法進め方最大の特徴向いているシステム
ウォーターフォール 工程を順番に・逆戻りなし 計画通りに進む。文書化が充実 要件が明確・変更が少ない大規模システム
スパイラル 機能ごとにウォーターフォールを繰り返す リスク分析を重視しながら段階的に開発 大規模・高リスク・要件が段階的に確定
プロトタイプ 試作品を作って顧客確認→改良を繰り返す 要件の曖昧さを早期に解消できる 要件が不明確・顧客が具体的イメージを持ちにくい
アジャイル 短いサイクルで動くソフトを繰り返し届ける 変化への対応力が最も高い 要件が変化しやすい・スモールスタートのサービス

ウォーターフォールモデル:計画通りに進む王道手法

ウォーターフォール(瀑布型)は、水が上から下へ流れるように前の工程が完全に終わってから次の工程へ進む手法です。1970年代から使われてきた最も伝統的な手法で、大規模開発の標準として長く使われてきました。

要件
定義
要件定義
「何を作るか」を顧客と合意する工程。システムが実現すべき機能・性能・制約を文書化します。ここの精度がプロジェクト全体の品質を左右します。
外部
設計
外部設計(概要設計)
ユーザーから見えるシステムの設計。画面遷移・帳票・データ入出力などを定めます。
内部
設計
内部設計(詳細設計)
プログラム内部の設計。モジュール分割・アルゴリズム・データ構造を定めます。エンジニアが作業できる粒度まで詳細化します。
実装
実装(プログラミング)
設計書に基づいてコードを書く工程。単体テスト(ユニットテスト)もここで実施します。
テスト
テスト(結合→システム→受入)
結合テスト(モジュール間)→システムテスト(全体動作)→受入テスト(顧客確認)の順に実施します。
運用
保守
運用・保守
本番稼働後の障害対応・機能追加・改修を行います。
メリット
工程ごとに成果物が明確で進捗管理しやすい
大人数・長期プロジェクトの管理に向く
文書化が充実し、後からの参照・引き継ぎがしやすい
デメリット
途中の要件変更に弱い(コスト・品質に影響大)
動くシステムが完成するのがプロジェクト終盤
問題発覚が遅れると手戻りコストが膨大になる
U

「工程の逆戻りなし」というのがウォーターフォールの核心ですね。水は上から下にしか流れない——そのイメージを持つと「前工程の完了が絶対条件」という制約が自然に頭に入ります。

アジャイル開発:変化に強い反復アプローチ

アジャイル(Agile=「俊敏な」)は、短い開発サイクル(イテレーション・スプリント)を繰り返しながら、動くソフトウェアを継続的に届ける手法です。2001年の「アジャイルソフトウェア開発宣言」から広まりました。

「計画通りに進む」より「変化に対応する」ことを優先します。顧客との継続的なコミュニケーションが前提です。

スクラムのスプリントサイクル(2〜4週間を1単位)

プロダクト
バックログ
スプリント
計画
スプリント
実行
レビュー
振り返り
繰り返し
(次のスプリントへ)
スクラム(Scrum)
チーム自律型の開発フレームワーク。プロダクトオーナー・スクラムマスター・開発チームの3役割。スプリントバックログで作業を管理し、デイリースクラムで毎日進捗を共有します。
最も普及している
XP(エクストリームプログラミング)
技術プラクティスを重視するアジャイル手法。テスト駆動開発(TDD)・ペアプログラミング・継続的インテグレーション(CI)が主要プラクティスです。
技術品質重視

スパイラルモデルとプロトタイプモデル

スパイラルモデル
機能単位でウォーターフォールのサイクルを繰り返す手法。各サイクルでリスク分析を実施するのが特徴です。大規模・高リスクプロジェクトでリスクを段階的に管理したい場合に有効です。
リスク管理重視
プロトタイプモデル(試作型)
開発初期に試作品(プロトタイプ)を作り、顧客に確認してもらいながら要件を固める手法。「使ってみないと分からない」という要件の曖昧さを早期に解消できます。
要件確定に有効

銀行ATMとSNSアプリで考えてみると

「どの手法を使うべきか」は、要件の変化しやすさ・品質要求の厳しさ・規模によって決まります。

システム例特性適した手法理由
銀行ATM・勘定系システム 要件が明確・バグ絶対NG・大規模 ウォーターフォール 厳格な品質管理・文書化が必須。途中変更は許容されない
SNS・EC サービス 要件が変化・スピード優先・スモールスタート アジャイル ユーザーの反応を見ながら機能を追加・変更し続ける
新規業務システム(要件不明確) 顧客もイメージが曖昧・中規模 プロトタイプ 試作品を見せることで要件が明確になる
大規模基幹システム刷新 高リスク・長期・段階的リリース スパイラル 機能ごとに開発・リスク分析しながら進める
逆説で考えてみると
もしウォーターフォールしか存在しなかったら——SNSやスマホアプリの世界では、リリース後に「やっぱりこの機能はいらない」「あの機能が欲しい」という発見が当たり前です。3年かけて完成したシステムを市場に出した瞬間に陳腐化する、というリスクを解消するためにアジャイルは生まれました。手法の違い=変化に対する哲学の違いです。
U

「どっちが優れているか」ではなく「何を作るかで使い分ける」——この視点を持てると、試験の選択肢も「このシステムの特性なら〇〇手法が向く」と判断できるようになりますね。

試験頻出ポイントのまとめ

  • ウォーターフォール:工程の逆戻りなし。要件定義→外部設計→内部設計→実装→テスト→運用の順序を覚える
  • アジャイル:短いイテレーション(スプリント)を繰り返す。変化対応力が最高。スクラム・XPが代表手法
  • スパイラル:機能単位でウォーターフォールを繰り返す+リスク分析が特徴
  • プロトタイプ:試作品→顧客確認→改良を繰り返す。要件が不明確なときに有効
  • スクラムの3役割:プロダクトオーナー・スクラムマスター・開発チーム
  • XPの主要プラクティス:テスト駆動開発(TDD)・ペアプログラミング・継続的インテグレーション(CI)
  • 手法の選択基準:要件の明確さ・変化の頻度・品質要求・規模の4軸で判断
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

中小企業診断士試験勉強中のアラフィフシングルマザーです。
大学卒業後から現在まで、数々の失敗をしながらずっと自営業として試行錯誤を重ねてきました。
もっときちんと経営やビジネスの知識を身につけて、将来は他の事業者の方のお役にも立てたらいいな、と思うようになり、中小企業診断士の試験に挑戦中です。

目次