システム開発で用いられることのあるV字モデルについてご存知でしょうか。様々な開発手法がありますが押さえておくべきモデルの1つです。そこで本記事では、V字モデルについての概要をはじめ、メリットやデメリット、工程やW字モデルとの違いなどについて徹底解説いたします。
V字モデルとは
V字モデルとは、システム開発において開発の工程およびテストの相関をその名の通りVの字で表現したものを指します。具体的にはV字の左上から下まで順番に開発工程を書き出し、右側には開発工程に対応するテストを下から右上に書き出すことて、どの工程に対してどのテストを実施するのかが視覚的にわかりやすいという特徴があります。
V字モデルのメリット
システム開発においてV字モデルを採用することによって得られる代表的なメリットは下記の4点が挙げられます。
- テスト内容を明確にすることができる
- 作業進捗を把握しやすい
- 不具合が生じた場合の修正コスト削減を図ることができる
テスト内容を明確にすることができる
V字モデルを採用することによって、開発工程に対して実施するべきテスト内容を明確にすることが可能です。そのため、漏れがないようにテストを効率よく行うことができ、成果物の品質向上を図ることができます。
作業進捗を把握しやすい
V字モデルでは、テスト内容が明確であるため、テストにかかるスケジュールを見積もりやすいだけでなく、テストの結果によっては不具合が発生して修正を行うことになる際にも工数をチェックしやすいというメリットがあり、他の開発手法よりも作業進捗を把握しやすいと言えます。もし想定よりも遅れてしまっている場合には、人員調整を行うなど、対策も行いやすいでしょう。
不具合が生じた場合の修正コスト削減を図ることができる
V字モデルは、各開発工程に応じたテストが明確になっているため、もしテストで不具合が発生しても原因を特定したり、修正したりという作業が非常に容易であると言えます。他の開発手法であれば、テスト実施時に発生した不具合の原因を特定するのにとても時間がかかってしまうことも少なくないことを考慮すると、非常に効率が良い手法と言えるでしょう。
V字モデルのデメリット
V字モデルを採用すると、効率的かつ品質の高いシステム開発を行うことができますが、下記のようなデメリットも存在しますので、頭に入れておきましょう。
上流工程で問題があった場合手戻りリスクがある
V字モデルでは、各開発工程に応じたテストを実施するため、初期段階の上流工程で何かしらの不具合があった場合手戻りのリスクが大きくなり、想定よりも工数が増えてしまったり、開発スケジュールを圧迫したりということが起きる可能性があります。
V字モデルの工程
V字モデルの概要、メリットやデメリットを理解したところで、本項目では具体的な工程について解説いたします。
- 要求定義
- 要件定義
- 基本設計
- 詳細設計
要求定義
要求定義とは、クライアントの要求および機能をまとめたものですが、具体的には現状抱えている課題を洗い出し、その課題を解決するための理想の状態はどのようなものなのか、課題を解決するためにどのようなシステムや機能があれば良いのかが明確にすることを言います。
V字モデルにおける要求定義では、クライアントの要求を満たしているのかを確認するための受け入れテストとして、機能テストやユーザビリティテストが実施されます。この機能テスト及びユーザビリティテストはPM(プロジェクトマネージャー)が担当しますが、クライアントも積極的に関与しなければ成り立ちません。
要件定義
要件定義とは、クライアントの要求定義を実際にどのような機能を搭載して実現していくのかという要件をまとめたものです。具体的には、システム開発の目的をはじめ、予算や必要な機能、納期、スケジュール、必要人員、想定工数などを決定します。
V字テストにおける要件定義では、総合テストとして、確認テストや評価テスト、負荷テストなどが実施されます。これらのテストも、PM(プロジェクトマネージャー)が中心となって行いますが、クライアントの関与も欠かせません。
基本設計
基本設計とは、要件定義をもとにして、UI(ユーザーインターフェース)などの外側から見たシステム設計を行うことです。具体的には、搭載する機能の洗い出しをはじめ、取り扱うデータを整理したり、データを明確化したり、システム画面のレイアウトを決定したりします。
V字モデルにおける基本設計では、結合テストとしてブラックボックステストやインターフェーステスト、トップダウン・ボトムアップテストが実施されます。主にSE(システムエンジニア)とPM(プロジェクトマネージャー)が中心となりますが、クライアントも関わることができる最終チャンスでもあります。
詳細設計
詳細設計では、基本設計をベースとして、プログラマーに伝わるようにプログラミングの指示書及び設計書を作成します。V字モデルにおける詳細設計では、単体テストとしてホワイトボックステストを中心として行い、SE(システムエンジニア)が担当します。
V字モデルとウォーターフォール
ウォーターフォールは上流工程から下流工程に向けてまるで滝のように進んでいく開発手法です。万が一大きな不具合が発生してしまった場合などに手戻りのリスクが大きいというデメリットがあります。
しかしV字モデルであれば、各開発工程ごとに行われるテストが明確であるため、ウォーターフォールの進化版と言えるでしょう。
V字モデルとアジャイル開発
アジャイル開発とは、システム開発の過程では仕様及び設計の変更があって当たり前という前提のもと、開発当初から厳密な仕様は決定せずに大まかな仕様だけで細かなイテレーション(反復)開発を行い、小さな単位での実装からテスト実施を繰り返すことで徐々に開発を進めていく手法のことです。
ウォーターフォールの進化版とも言えるV字モデルとはそもそもの開発工程が大きく異なりますが、それぞれの開発工程に対応したテストを実施するという面では、慎重に品質を担保しながら開発を進めることができるので、似ている手法であると言えるでしょう。
V字モデルとW字モデルとの違い
W字モデルとは、V字モデルにおける左側に書き出される開発工程及び対応するテスト工程の作業を並行して実施する開発手法のことです。つまり、V字モデルの品質向上の方法をさらに詳細に表現したものであり、V字モデルの進化版と言えます。
V字モデルとW字モデルとの違いとしては、次の3点が挙げられます。
- 開発とテストを同時並行に進めていく
- 手戻りが少ない
- テストエンジニアが上流工程から参画
開発とテストを同時並行に進めていく
V字モデルでは、あくまで各開発工程に対応したテストを明確にするだけですが、W字モデルでは、同時並行で各テストを実施することになるため、V字モデルの唯一と言っても過言ではないデメリットである上流工程で不具合が発生してしまった場合にもカバーすることが比較的容易です。
手戻りが少ない
W字モデルでは、上流工程からテストを同時並行で実施するために、次の工程に進む際の不具合発生頻度は必然的に減少するという特徴があるため、結果的に手戻りも少なくなり、品質を向上させたり、コストカットやテスト工程の負担軽減を図ることができるでしょう。
テストエンジニアが上流工程から参画
W字モデルでは、上流工程からテストエンジニアが参画するため、他の開発手法とは異なり、テストエンジニアのプロジェクトに対する理解度が大きいと言えます。そのため、テストも効率よく実施できるのです。
まとめ
V字モデルについて、本記事では、V字モデルについての概要をはじめ、メリットやデメリット、工程やW字モデルとの違いなどについて徹底解説いたしました。
システム開発において、ウォーターフォール開発の進化版とも言えるV字モデルの効率の良さをご理解いただけたのではないでしょうか。品質を担保しつつ、各開発工程に対してのテストが明確なV字モデルを活用してプロジェクトを進めていってください。