【基礎知識】V字モデルとは?ウォーターフォール型開発におけるメリット・デメリット!
ウォーターフォール型開発について調べたことのある方は、V字モデルと言う言葉を聞いたことがあるのではないでしょうか。
今回は、ウォーターフォール型開発について理解を深めるために、なじみの深いV字モデルについて解説します。
ウォーターフォール型開発に関しては以下の記事で詳しく解説していますので、合わせてお読みください。
目次
V字モデル(Vモデル)とは
まず、下記の図をご覧ください。
V字モデルとは上の図のように、ソフトウエアの開発から最終段階のリリースまで、開発工程とテスト工程の対応関係を表したモデルの1つです。
ウォーターフォール型開発を基にしており、原則として後戻りはできません。
上の図では、ウォーターフォール図で左側に「開発工程」を表し、「実装」で折り返し、左側の開発工程に対応した「テスト工程」が右上がりに表されています。
工程の流れを図にするとV字型になることからV字モデルと呼ばれるのです。
V字の左右、同じ高さを見比べることで、実施されるテストが「どのレベルの開発内容を検証するのか」、「何に着目したテストなのか」、が一目瞭然になります。
V字モデルは、ウォーターフォール型開発に「テスト工程」をリンクさせることで検証の精度を上げた、進化した開発モデルと言えるでしょう。
ここからは、V字モデルをそれぞれ開発工程、テスト工程でリンクする関係に分けて見ていきます。
要求分析→システム/受入テスト
V字モデルを活用、高品質なソフトウェアの開発には、かかる期間やコストの明確化が必要になります。
そこで、エンドユーザーの要望を分析し、品質や実装すべき機能を明確にする要求分析を行うのです
ここでのテストは、
- 要件通りに機能や性能がみたされているか
- 不具合やリスクが排除されているか
- 品質が基準を満たしているか
を検証していきます。
上記は、要件定義した内容が、正しく実現されているかチェックすることが目的です。
基本設計→結合テスト
ここでのテストは、
- インターフェースが基本設計通りか
- 業務シナリオ、業務構想通りか
- 負荷に耐えられるか
を検証していきます。
上記は、ユーザーが快適に使用できるかをチェックすることが目的です。
詳細設計→コンポーネントテスト
ここでのテストは、
- モジュール単位で作動するか
- ブラックボックス(システムの仕様)
- ホワイトボックス(プログラムが想定通り動いているか)
を検証していきます。
上記は、単体で適切に作動するか、開発物の細かな機能や性能が正常に働くかをチェックすることが目的です。
実装
ここでの実装は、プログラミング・コーディングを指します。
ユーザーの求める機能・動作をシステム上で正しく作動せるべく、作成した詳細設計書をもとに丁寧に製造するのです。
V字モデルのメリット4つ
次に、V字モデルのメリットを4つ詳しく紹介します。
適切なテスト内容を決定しやすい
上のV字モデルの図を見ると、どの開発工程がどのテスト工程に対応するのか一目瞭然です。
一見複雑な開発工程において、どのテストを実施すれば良いのかが明確になっているため、適切なテスト内容を決定しやすくなります。
システム開発において、よりスムーズに工程を進められるのは、大きなメリットといって良いでしょう。
テスト工程の進捗を管理しやすい
より精度の高いテストを計画する場合にも、V字モデルを使うことでテスト工程の進捗を管理しやすくなります。
テスト工程において「何を検証するのか」「どのような作業が必要なのか」といった認識がプロジェクト関係者の間で共有しやすくなり、リスクの発生や認識のずれを最小限に抑えられるでしょう。
これにより、各工程における計画をさらに精度の高い物にして、プロジェクトの進捗を正確に把握・予測できます。
前工程の修正作業など「手戻り」リスクの軽減できる
ソフトウエアの開発で一番問題になるものの一つに「手戻り」があります。
手戻りとは作業工程の途中で不具合が発生したり、大きな問題が見つかったりした結果、前の段階に戻って工程をやり直すことです。
V字モデルでの開発は各テストのレベルを規定して、各工程の不具合を十分に検証し、修正してから初めて次の工程に進むというモデルになっているため、この手戻りのリスクを軽減することが可能になります。
手戻りはなるべく避けたいソフトウエアの開発で、このリスクを軽減できるのは大きなメリットと言えるでしょう。
不具合の修正コストの削減できる
V字モデルは各テスト工程において適切にテスト・修正できるので、不具合が発生した場合にも該当するレベルを調査対象にします。
テストの工程が明確になることで不具合の修正がより容易となり、大幅な労力やコストの軽減になります。
開発工程では不具合の修正の影響範囲が特定しづらく、発生した不具合の原因がどのレベルにあるのかの調査に大幅な時間がかかり収拾がつかなくなるケースもあります。そこで、開発工程に合わせてテスト工程を明確に規定したV字モデルは大きな効力を発揮します。
V字モデルのデメリット2つ
次に、V字モデルのデメリットを2つ紹介します。
上流工程に正確性が求められる
V字モデルでは、上流工程ほど慎重に丁寧に進めていく必要があります。
上流工程で不具合が起こるとその後の工程にすべて修正が加わり、膨大な労力、コストがかかるでしょう。そのため、上流工程には何よりも正確性が求められます。
途中で方針変更しにくい
V字モデルは顧客からの変更要求や、テスト工程での仕様変更には対処しにくいでしょう。
ウォーターフォール型開発をもとにしている為、基本的には後戻りはできない開発モデルです。
そのため、途中で方針変更はできない旨を顧客に伝えておくなど、あらかじめ対処が必要になります。
V字モデルとW字モデルの違いは?
V字モデルによく似た開発モデルに、W字モデルが挙げられます。
V字モデルとW字モデルの違いは、進行の方法です。具体的には、V字モデルでは一つ一つの工程をクリアして次の工程に進んでいました。
それに対してW字モデルは開発工程とテスト工程をリンクさせた上で、工程同士を同時並行に進行させます。またテスト工程を行うエンジニアが開発工程初期の設計から参加するのも特徴です。
以上のことから、上流工程から確実に順を追って開発を進める場面ではV字モデル、開発工程とテストを同時進行させる場面ではW字モデルが有効です。
まとめ:大規模開発はV字モデルのウォータフォール開発がおすすめ!
今回は、ウォーターフォール開発の際に良く出てくる「V字モデル」と言う手法について紹介しました。ウォーターフォールは文字通り、滝のように順序立てて開発を行なっていきますが、必ずテストはあります。
このテストで致命的なミスを見逃さないことが、ローンチ後の不具合を最小限に抑えることに繋がります。
ウォーターフォール開発を行う際は、本記事に書いてあるメリット・デメリットを理解した上で、V字モデルを採用してください。
弊社は、大手ITベンダー・大手webディレクター2人体制でプロジェクト管理を徹底し、徹底したチームワークのもと非常に高い「アタリマエ品質」を提供することが可能なプロの集団です。
開発の前段階では、フルカスタマイズのデザイン作成にも対応。デザインを通じて最終イメージを擦り合わせられるため、安心感のある開発が強みです。保守フェーズでは円滑な業務遂行を支えるDB定義書や保守ドキュメントの作成まで実施します。
「保守性が高く、クイックで健康的な開発支援」をお探しの方は、是非一度弊社までお問い合わせください。より効率的に、より早くあなたのサービスを世の中に提供する、その一助になれれば幸いです。