目次
「V字モデル」はシステムやモバイルアプリ開発のプロジェクトを成功させるための管理手法の一つです。システムやモバイルアプリを開発する場合、要件定義、設計、開発、試験といった工程を経てから上市(リリース)されますが、各工程と各試験を対の関係で進めていくのがV字モデルの特徴です。本記事では、開発プロジェクトにV字モデルを取り入れることで得られるメリットについて説明します。
V字モデルとは何か?
上図の通り、「V字モデル」は開発の各工程と試験の対応関係をまとめたもので、開発プロジェクトを適切に管理するために採用されるものです。V字の左側(右下に下がる赤矢印)は、プロジェクトの上流工程から中流工程を順番に並べます。V字の右側(右上に上がる赤矢印)は、左側の各工程に対応する試験工程を列挙します。V字の左右を比較することで、各工程でどのような試験・検証を行うのか、どこにゴール(目標)を設定するのか、が俯瞰できます。
V字モデルの具体的な流れ
企画・構想段階と対になる受入試験は、クライアント側の最終試験を意味します。当初描いていた企画や構想が実現できているか、上市する前に懸念すべき点などはないか、などを確認・検証します。単体試験や結合試験、総合試験を終えた後の最後の試験となりますので、それ相応の品質水準が求められます。
要件定義の工程では、クライアントから情報収集し、機能要件・非機能要件・デザイン要件、業務系のシステムであれば業務要件を整理し、ドキュメント類にまとめます。対となる総合、要件定義工程の中で定義付けされた各種要件が満たされているかどうかを確認します。具体的な例をあげると、以下のような試験を行います。
・負荷試験:同時接続やアクセス過多といった事象にも耐えうるか。など
・性能試験:操作後の挙動や応答は適切か。バッチ処理の動作は適切か。など
・障害試験:障害発生後、想定の時間内に復旧し、正常稼働できるか。など
続いて基本設計の工程では、クライアント側から見える画面やインターフェース(以下、IFとします。)などの設計を行います。基本設計の対となる結合試験では、画面設計やIFの設計を見ながらそれぞれが適切に実装されているかどうかを確認・検証します。結合試験の具体例は以下の通りです。
・ブラックボックス試験:入力値に対し、想定する出力値で表示されるか。など
・IF試験:結合されたモジュール間で正常にデータ受け渡しが行われるか。など
基本設計の後の詳細設計の工程と対になる試験は単体試験です。詳細設計はエンジニア向けに各機能やモジュールなどの細部なロジックを設計する工程です。詳細設計工程で作成される詳細設計書を基にして実際のソースコードプログラムが開発されることになります。従いまして対となる単体試験では、詳細設計の工程で設計がなされたロジックの通りにソースコードプログラムが動作するかを確認・検証します。具体的な単体試験の項目としては、以下のようなものがあります。
・ホワイトボックス試験:機能やモジュールの内部構造が設計書の通り動作するか。など
このホワイトボックス試験とブラックボックス試験は似ているようで異なります。具体的な違いとしては、ホワイトボックス試験では内部構造が正常に動作するかを確認・検証しますが、ブラックボックス試験では機能やモジュールの内部構造は意識せずに、入力値に対して想定する出力値が得られるかを検証します。
V字モデルを導入するメリットは何か?
「V字モデル」を導入することで得られるメリットは大きく3つ存在します。
V字モデルのメリット1:試験の具体的な内容を明らかにできる
冒頭でご説明したように、V字モデルは各工程と各試験が明確に紐付きます。対応関係を明らかにすることで試験内容がより具体的に、より明瞭になると言えます。企画・構想段階の取り決めを確認するのは受入試験、要件定義書の内容は総合試験、基本設計の内容は結合試験の時に、という感じです。システム開発やモバイルアプリ開発では、数万行~数百万行のソースコードを扱います。V字モデルの導入により、抜け漏れなく各種機能やモジュールが実装されているかを確認することができ、結果としてプロジェクト全体の品質向上に繋がります。
V字モデルのメリット2:効率よくプロジェクトを進行できる
V字モデルでは、ソースコード(プログラム)単位から試験を開始し、徐々に全体的な確認に入ります。つまり微視的な試験から巨視的な試験を行う流れになります。細部の確認を試験初期から行うことで、確実に不具合箇所・不適合箇所を検出し、改修を加えた上で次工程に移行します。結果として、不具合対応を効率的に行うことができ、円滑なプロジェクト進行に貢献するのです。もし仮に受入試験(最終試験)直後にモジュール単位の不具合が見つかると、既に結合試験をクリアしているため、他ソースコードへの影響、詳細設計の補正、見直しといった大規模な手戻りが発生することになります。このようなトラブルを未然に防止するために、極力細かい単位での試験から実施すべきと感がるのがV字モデルなのです。
V字モデルのメリット3:タスク進捗状況が読みやすい
メリット1に近い内容になりますが、試験内容が具体的かつ明瞭であると、「どの試験をいつまでに実施すればよいのか。」が見えてますので、必然とスケジュールや段取りがしやすくなります。また各試験結果で得られる不具合発生率や改修にかかる工数などを適宜確認することで、粒度の高いタスク管理や将来行うべきタスク予測が実現できます。V字モデルを適切に運用することで、プロジェクトに関わるスタッフの調整や全体的なタスク管理にも良い影響が生まれるのです。
V字モデルのデメリット
V字モデルには先程あげた大きなメリットが存在しますが、他方デメリットも存在します。
V字モデルのデメリット1:専門知識・ノウハウが不可欠
V字モデルを導入し、適切に運用していくためには、どうしても専門的な知識や開発に関するノウハウが必要になります。開発プロジェクトの経験がない方、経験がないチームが「よし、V字モデルは良さそうだから次のプロジェクトで採用してみよう。」と一念発起したとしても各工程と各試験の繋がりや意味を適切に理解していないと、反対に無駄な稼働がかかってしまう可能性があります。
V字モデルのデメリット2:前工程の影響を受ける
どの開発プロジェクトでも共通的なお話になるので、こちらは明確なデメリットとは言えませんが、念のため列挙します。V字モデルでは、各工程の前段階が完璧に行われているといった前提でプロジェクトが進行します。つまり、単体試験のミスが潜在的に残されていると、次工程の結合試験や総合試験、受入試験にも残存し続けるのです。発見が遅れれば遅れるほどプロジェクト全体の負の影響は深く大きくなる傾向があります。そのため、上位試験の単体試験には優秀なQAテスターを配置する、試験人員を増やすといった対処も時には必要になってきます。
W字モデルとV字モデルの違い
V字モデルを改良・発展させた管理手法にW字モデルというものがあります。このW字モデルは、システム開発やモバイルアプリ開発における上流工程、つまりは企画構想や要件定義の段階から試験計画を始動させ、開発と同時並行的に試験を進行させるといったものです。本記事ではV字モデルについて触れましたが、次の記事ではこのW字モデルについても詳しく説明したいと思います。
おわりに
V字モデルは開発プロジェクトを支える管理手法の一つです。適切に導入・運用を行うことでプロジェクト全体の品質だけでなく、システムやモバイルアプリといった成果物の出来にも大きく影響します。V字モデルの採用にはプロジェクト管理に関する専門知識やノウハウを持つ開発会社やITコンサルティング会社との連携が必要不可欠ではありますが、一度経験を積むとV字モデルがもたらす効果が体感できるはずです。今後システムやモバイルアプリといったプロダクト開発を行う方は、繋がりのある開発会社やコンサルティング会社に相談をしてみましょう。
それでは本日はここまでといたします。最後までご覧いただき、ありがとうございました。
—————————————————————————————————————
システム開発、アプリ開発、新規事業立ち上げ、DX化の推進でお困りではありませんか?
日本全国には開発会社が無数にありますが、Webサービスやアプリサービスのスケール(規模拡大)を実現するビジネス推進力やシステムの堅牢性、可用性を意識した設計力・技術力を持つ会社は、多くはなく、弊社は数少ないその一つ。お客様のご要望通りに開発することを良しとせず、お客様のビジネス全体にとって最適な解を模索し、ご提案ができるビジネス×テック(技術力)×デザインの三位一体型の開発会社です。ITやDX全般に関して、何かお困りのことがございましたらお気軽にご連絡いただけたらと思います。
—————————————————————————————————————