システム開発を外注しようと考えたとき、「V字モデル」という言葉を耳にしたことはないでしょうか。
V字モデルは、開発工程とテスト工程を対応づけることで品質の高いシステムをコスト効率よく実現するための枠組みです。
この記事では、V字モデルの仕組みと各工程の役割、メリット・デメリット、W字モデルとの違い、向いているプロジェクトの特徴まで体系的に解説します。
システム開発の発注を検討している経営者・担当者の方が、ベンダー選定や仕様確認を進める際の判断材料としてお役立てください。
AI・DX支援
AI活用・業務効率化、
専門家に相談してみませんか?
DimeBizを運営するFrom Downtown合同会社では、中小企業のAI導入・DX推進をご支援しています。
記事の内容に関するご質問もお気軽にどうぞ。
システム開発のV字モデルとは何かを理解しよう
V字モデルの定義と背景
V字モデルとは、システム開発における工程管理モデルのひとつです。
V字の左辺に要件定義・設計・実装といった「作る工程」を上流から下流に向かって並べ、V字の右辺にそれぞれの工程に対応するテスト工程を下流から上流に向かって並べた構造になっています。
各開発工程と対応するテスト工程の関係を可視化することで、テスト計画を上流工程から立案できる点が最大の特徴です。
V字モデルはドイツのコンサルタントであるPaul Rook氏が1980年代に提唱したとされています。
日本では独立行政法人情報処理推進機構(IPA)の技術資料にも品質管理モデルとして記載されており、国内のシステム開発現場でも1990年代以降に広く普及しました。
特に業務系・基幹系システムの開発では今もV字モデルの考え方が標準的な品質管理の枠組みとして活用されています。
ウォーターフォール開発とV字モデルの関係
V字モデルは、ウォーターフォール開発の枠組みの中に位置づけられます。
ウォーターフォール開発とは、要件定義→設計→実装→テストの各工程を順番に進め、前の工程が完了してから次の工程に移る開発スタイルです。
V字モデルとウォーターフォール開発は別物ではなく、ウォーターフォールの「一方向に進む流れ」に「各工程と対応するテストの関係」を加えたものがV字モデルと考えると理解しやすくなります。
ウォーターフォール開発ではテストは主に実装後に実施されますが、V字モデルはそこに「どの開発工程がどのテスト工程と対応するか」という構造を明示することで、テストの計画漏れや品質のばらつきを防ぐのに役立ちます。
なお、「V字モデルを採用する=全工程を一切やり直さずに進める」という意味ではありません。
V字モデルはあくまでテスト計画の体系を示すフレームワークであり、実際のプロジェクト進行の中で細部の調整や追加レビューが行われるのは通常のことです。
V字モデルの工程と対応するテストの全体像
V字モデルは左辺の設計工程と右辺のテスト工程が対をなす構造です。
それぞれの対応関係を正しく把握することが、V字モデルを活用する前提になります。
要件定義と受け入れテストの対応
要件定義はプロジェクトの最上流に位置する工程であり、「このシステムで何を実現するか」を発注者と開発者が合意する段階です。
機能要件(何ができるか)だけでなく、非機能要件(処理速度・セキュリティ・運用保守の条件など)も含めてここで定義します。
要件定義に対応するのが受け入れテスト(ユーザー受け入れテスト、UATとも呼ばれます)です。
受け入れテストでは、実際の利用者や発注者が「要件定義で定めた内容をシステムが満たしているか」を確認します。
要件定義が曖昧なまま進めると、受け入れテストの合否判断ができなくなるリスクがあります。
発注者が受け入れテストの基準を事前に定義しておくことが、プロジェクト完了時のトラブルを防ぐ上で重要です。
基本設計とシステムテストの対応
基本設計(外部設計)では、要件定義を具体的なシステム仕様に落とし込みます。
画面・帳票のレイアウト、データの入出力仕様、外部システムとのインターフェース定義などがこの工程の成果物です。
基本設計に対応するのがシステムテスト(総合テスト)です。
システム全体として基本設計の仕様どおりに動作するか、複数の機能を組み合わせたときに問題が生じないかを検証します。
システムテストは開発会社が実施することが多いですが、発注者がオブザーバーとして参加するケースもあります。
詳細設計と結合テストの対応
詳細設計(内部設計)では、モジュール単位の処理ロジックやデータ構造を定義します。
基本設計で決めた「何を実現するか」を、「どのように実装するか」に変換する工程です。
詳細設計に対応するのが結合テストです。複数のモジュールを組み合わせたときに、インターフェース(モジュール間のデータのやり取り)が詳細設計の仕様どおりに機能するかを確認します。
実装と単体テストの対応
実装はV字の底にあたる工程で、詳細設計をもとにプログラムコードを記述します。
単体テスト(コンポーネントテスト)は、個々の関数やクラス・モジュールが仕様どおりに動くかを最小単位で確認するテストです。
実装と並行または直後に実施されることが多く、バグを最小単位で早期に発見するために重要な工程です。
システム開発にV字モデルを採用する3つのメリット
テスト計画を上流工程から明確にできる
V字モデルの最も重要なメリットは、テスト計画を開発工程の早い段階で立案できることです。
要件定義の段階で「受け入れテストでは何を確認するか」を決めておくことで、テスト漏れを防ぎ「この機能は実際にはテストできない」という後工程での発覚を回避できます。
独立行政法人情報処理推進機構(IPA)が公表している「要件定義を巡る課題、経営者が考慮しなければならないポイント」(2019年)によれば、要件定義の段階で発見した不具合の修正コストを1とした場合、システムの稼働後に発覚した場合の修正コストは数倍から数十倍に膨らむとされています。
テスト計画を早期から立案して問題を前倒しで発見することは、プロジェクト全体のコスト削減に直結します。
品質基準と責任範囲が明確になる
各開発工程と対応するテスト工程が可視化されることで、「誰が何を検証するか」の責任範囲が整理されます。
発注者と開発者がそれぞれの役割を明確に理解した上で開発を進められるため、「テストの段階になって責任の所在がはっきりしない」というトラブルを未然に防ぎやすくなります。
特に外注でシステムを開発する中小企業にとって、受け入れテストを「発注者側が責任を持って実施する工程」と位置づけることは重要です。
開発会社まかせにせず、発注者自身が確認基準を持つことで、納品後の認識ズレを減らせます。
進捗管理とスケジュール管理がしやすい
V字モデルは工程が順序立てて並んでいるため、「どの段階まで進んでいるか」を可視化しやすい特徴があります。
各工程の完了基準(成果物の確認・レビューの承認など)を事前に定めておけば、遅延が発生したときにどの工程で止まっているかをすぐに把握できます。
一般的なシステム開発における工程別費用配分の目安は、要件定義が全体の10〜20%、設計が15〜25%、開発が40〜50%、テストが10〜20%とされています。
工程ごとにマイルストーンを設定できるV字モデルは、こうした費用管理と進捗管理を連動させやすい構造を持っています。
V字モデルのデメリットと課題を押さえる
仕様変更への対応コストが高い
V字モデルは上流工程で要件・設計を固め、順番に下流へ進む構造のため、途中で仕様が変わった場合の対処コストが大きくなりやすいという課題があります。
たとえば基本設計が完了した後に要件定義の内容が変わると、基本設計と詳細設計の両方をやり直す必要があります。
対応するテスト計画も変更が必要になるため、手戻りが複数の工程に及ぶことがあります。
頻繁に仕様が変わるプロジェクトや、リリース後のフィードバックをもとに機能を継続的に改善するプロダクト型のサービス開発には、V字モデルよりもアジャイル開発が向いている場合があります。
スマートフォンアプリやWebサービスのように要求が変化しやすい開発と、業務系の基幹システムのように要件を固めて作り上げる開発では、適切な手法が異なります。
上流工程の品質がプロジェクト全体を左右する
V字モデルでは、要件定義・基本設計といった上流工程の品質がプロジェクト全体の成否を大きく左右します。
上流工程が曖昧なまま実装に進むと、単体テストや結合テストの段階で不整合が発覚し、大幅な手戻りが発生するリスクがあります。
「とりあえず作ってみて後から調整する」「詳細は開発会社に任せる」というアプローチはV字モデルと根本的に相性が悪く、上流工程に十分な時間とリソースを投入することが採用の前提です。
発注者が要件定義に積極的に関与することが、V字モデルを活用する上での大前提になります。
V字モデルとW字モデルの違いと選び方
W字モデルとは何か
W字モデルはV字モデルを発展させたモデルであり、テスト設計を開発工程と並行して進めることが特徴です。
V字モデルが「実装後にテストを開始する」のに対し、W字モデルでは要件定義の段階からテストエンジニアがプロジェクトに参加し、設計書のレビューと同時にテスト計画を立案します。
W字という名前は、V字を2つ組み合わせたような形状から来ています。
V字モデルでは「開発→テスト」という流れが1本ですが、W字モデルでは「開発と並行したテスト設計」という2本の流れが同時に走るイメージです。
V字とW字、どちらを選ぶべきか
V字モデルとW字モデルの本質的な違いは、テストエンジニアがどのタイミングからプロジェクトに関与するかという点です。
W字モデルはより早期に設計上の問題を発見できる反面、テストエンジニアを上流工程から確保する必要があり、プロジェクト管理の複雑さが増します。
V字モデルは工程間の役割分担が明確で導入しやすく、品質要求が高い基幹系システムや公共系システムで幅広く採用されています。
中小企業がシステム開発の品質管理を本格的に取り組む場合、まずV字モデルの考え方を理解した上でベンダーと対話できるようになることが現実的なステップです。
W字モデルへの移行は、開発経験を積んだ後の選択肢として検討するとよいでしょう。
V字モデルが向いているシステム開発プロジェクトの特徴
V字モデルが特に有効なのは、次のような特徴を持つプロジェクトです。
1点目は、要件が開発着手前の段階でほぼ確定しており変更が少ないと見込まれるケースです。
販売管理・在庫管理・会計・生産管理といった業務系の基幹システムは、業務フローが安定していることが多く、V字モデルとの相性が良いとされています。
IPAの技術資料でも基幹業務システムへの適用事例が紹介されています。
2点目は、品質や信頼性への要求が高い場合です。
金融機関のシステム・医療系・行政系など、バグが業務やサービスに直接影響するシステムでは、各工程でテスト計画を明確にするV字モデルのアプローチが有効です。
3点目は、ドキュメント管理が求められる場合です。
V字モデルは各工程で成果物(要件定義書・設計書・テスト仕様書など)を整備する考え方と相性が良く、後からシステムを改修するときや担当者が変わったときの参照資料としても活用できます。
逆に、市場の変化に合わせて機能を素早く追加・変更したいプロダクトや、初期フェーズでユーザーの反応を確かめながら方向性を決めていきたいサービス開発は、V字モデルよりもアジャイル開発やスクラムの方が適していることが多いです。
発注者が押さえておきたいV字モデル活用の3つのポイント
V字モデルを採用してもプロジェクトが失敗するケースがあるとすれば、多くは上流工程の詰めが甘いことが原因です。
発注者の立場から実践できる3つのポイントを整理します。
1点目は、要件定義に十分な時間を確保することです。
要件定義は開発会社任せにせず、自社の業務担当者が積極的に関与してください。
「現行業務の何がどう変わるか」「どのデータがどの形で必要か」を言語化することが、要件定義の精度を高める最短ルートです。
要件定義への投資を惜しんで後工程での手戻りが発生すると、修正コストが大幅に膨らむことはIPAのデータが示すとおりです。
2点目は、受け入れテストの基準を自社で定義することです。
「テストは開発会社がやるもの」という認識は誤りです。
V字モデルにおける受け入れテストは、発注者が責任を持って実施する工程です。
「どの操作をして、何の結果が返れば合格か」を開発着手前に定義しておくことで、納品時の認識ズレをなくせます。
3点目は、各工程のレビューに発注者が参加することです。
要件定義書・基本設計書が完成した段階で、発注者自身がレビューして承認するプロセスを設けましょう。
承認の記録が「仕様を合意した」という証跡になり、後から仕様変更が発生したときの追加費用交渉の根拠にもなります。
開発会社が作成した成果物を確認せずに進めることは、V字モデルの利点を活かせないまま進んでいることと同義です。
まとめ
V字モデルは、各開発工程に対応するテスト工程を明確にすることで、品質の早期確保と手戻りリスクの軽減を図るシステム開発の枠組みです。
仕様変更への弱さという課題はあるものの、業務系・基幹系のシステム開発では今も広く採用されており、発注者が理解しておくべき基礎知識のひとつといえます。
メリットを最大限に引き出すには、発注者自身が要件定義・受け入れテスト・工程レビューに積極的に関与することが欠かせません。
「開発会社任せ」のままでは、V字モデルの本来の品質管理機能が働かないまま開発が進んでしまうリスクがあります。
システム開発の手法選定や要件定義の進め方にお悩みの場合は、Dimebizにお気軽にご相談ください。
中小企業のシステム開発・AI開発に関するご相談を随時受け付けています。



