開発業務を効率よく進めるための手法にはさまざまな種類があります。
開発の効率化や品質向上のためにも、開発するシステムのタイプでどの手法を採用するか見極めて用いる必要があります。
今回は開発手法の1つであるV字モデル、そしてV字モデルが主に利用されるウォーターフォール型モデルについて、それぞれのメリット・デメリットをご紹介します。
V字モデルとは?
V字モデルとは、主にウォーターフォール型モデルで利用される開発手法です。
ソフトウェアの開発工程とテスト工程を、レベルに応じて対に並べ、各工程の対応関係を示したモデルになります。
上記画像のように、システム開発の基本的な工程である要件定義→基本設計→詳細設計→コーディング・単体テスト→結合テスト→統合テスト→受け入れテストを順に並べて、コーディング・単体テストの部分で折り返し左側が開発工程、右側がテスト工程に分けて表します。
この形がVの字に見えることから、V字モデルと呼ばれています。V字モデルによっては、要件定義の前に要求分析、詳細設計の対には単体テストを並べるという考え方もあります。
V字モデルの3つのメリット
1.行うべきテスト内容が明確になっている
V字モデルでは、開発工程ごとに対応するテスト工程が表されているため、どのテスト工程でどの内容までをテストすればよいか明確になっています。
例えば要件定義は、システムに欲しい機能についてクライアントと打ち合わせ、実現すべき機能をまとめる工程です。
そのため、V字モデル上で対となっている受け入れテストの工程では、実現すべき機能が正しく要件を満たしているかを確認すれば良いということになります。
2.テスト工程の作業進捗が管理しやすい
テスト内容が明確になっているということは、何をどのようにテストするか、そのためにどのような作業が発生するかをプロジェクトのメンバー間で共有しやすくなります。
これによって、テスト内容や作業内容の認識に齟齬が生じるリスクを低減させることが出来ます。
3.手戻りのリスクが軽減される
開発業務における大きな手戻りは、一般的にはテスト工程で起こることが多いです。
テストで不具合や機能の実装漏れが発覚して、それを修正するためにコーディングの工程へ戻るケースです。
V字モデルでは、各テスト工程で行うべきテスト内容は明確になっているため、十分に検証してから不具合を修正することができ、最小限の手戻りで済ませることが可能です。
V字モデルの2つのデメリット
1.各工程を慎重に進めていかなければ、不具合が起こった場合のリカバリが大変になる
V字モデルは性質上、上流工程から順に作業していきますが、各工程は前段階の工程が綿密に行われたことを確認してから作業に入っていきます。
そのため、間違いや不具合があると次の工程で問題が発生し、手戻りとなってしまいます。問題が発生したのが上流工程であればあるほど、リカバリは大変なものになってきます。
2.仕様変更には弱い
V字モデルでは、対象ソフトウェアについての機能等は要件定義の段階で綿密に打ち合わせ、その後の開発工程に進んでいくため、途中でクライアントから仕様変更の要求があると対処しにくいです。
ウォーターフォール型モデルとは?
ウォーターフォール型モデルとは、開発工程の基本的な流れである要件定義、基本設計、詳細設計、コーディング、テストをシステム全体規模で上流工程から順に行っていく開発手法です。
つまり、何を作るかを明確にした状態で開発に臨む手法です。ウォーターフォール型モデルでは、後から仕様変更が発生しないよう綿密に要件定義を行う必要があります。
要件定義に沿ってプロジェクトを進めることが出来れば、開発途中のリソース管理もしやすく、スケジュールが大きく乱れるリスクも軽減されます。
そのため、比較的スケジュールが複雑になってくる大規模案件や、システムに高い品質を求める場合によく使われる手法です。
システム開発工程や手法については、こちらの記事でも詳しく紹介しているのでぜひご確認ください。
ウォーターフォール型モデルの2つのメリット
1.プロジェクトの全体的な計画が立てやすい
開発の内容を予め決めて、上流工程から着実に進めていくのがウォーターフォール型モデルの特徴なため、作業の全容が把握しやすく、プロジェクトの全体的な計画が立てやすいです。
2.進捗管理が容易で、適切なタスクを人員に割り振ることが出来る
工程毎の作業内容が明確なため、進捗が管理・把握しやすくなります。進捗管理が適切に行われることで、人員に無理のないタスクを割り振ることが出来、トラブルが発生した場合にも柔軟な対応が行えます。
ウォーターフォール型モデルの2つのデメリット
1.手戻りが発生してしまうと、スケジュールが乱れて工数が増えてしまう可能性がある
前もって全体的なスケジュールを策定して作業を進めていくため、手戻りが発生してしまうと、スケジュールが大きく乱れてしまう可能性があります。
開発工程にまで進んだ状態で手戻りが発生してしまうと、開発全てがやり直しとなってしまう恐れもあり、工数が大幅に増えてしまいます。
2.ユーザーの意見が取り入れられず、ユーザビリティの低いシステムになってしまうことが多い
ウォーターフォール型モデルでは開発内容を予め決めるため、作業が進んでから設計内容に不満点が見つかったとしてもそのまま作業を続行してしまい、結果的にユーザビリティの低いシステムとなってしまう可能性もあります。
V字モデルとウォーターフォールモデルの関係性とは?
V字モデルは、ウォーターフォール型モデルの進化版と言えます。いずれもモデルも、上流工程から順に作業を行なっていく点に違いはありません。
その中でもV字モデルは、開発工程とテスト工程をそれぞれ関連付けることで、行うべきテスト内容を明確にして精度の高いテストを行うことが可能です。
そのため、ウォーターフォール型モデルよりも品質の高い開発モデルであると評価されています。
V字モデルとW字モデルの違い
V字モデルと似たモデルに、W字モデルというものがあります。
W字モデルは上記画像のように、V字モデルの各工程の隣にそれぞれテスト・デバッグの項目を追加したモデルです。V字モデル同様、図解した際の形からW字モデルと呼ばれています。
W字モデルではそれぞれの設計段階でもテストを行うため、設計時点で不具合の原因となるような仕様がある場合に早急に気がつくことが出来ます。
その結果、テスト段階に入ってから不具合が判明するよりもかなり早期に対応が出来るため、全体的な工数削減に繋がります。
テストの工程が細分化されてより精度が上がるため、W字モデルはV字モデルをさらに発展させたモデルと言えます。
【まとめ】V字モデルの活用を検討してみよう
システムを開発するにあたって、どの開発手法を選ぶかはシステムの品質や開発スケジュールに大きく影響して、顧客との信頼性にも関わってくる大事な要素です。
行うべき作業を明確にして出来るだけ手戻りが発生せず、なおかつテスト内容をはっきりさせることが出来るV字モデルは、開発側のリスク軽減にも繋がる非常に効率的な手法です。
システム開発においてどの手法を取るべきか悩んでいる場合は、V字モデルの活用を検討してみてはいかがでしょうか。