ハードウェア開発におけるverificationとvalidationの違いを学びましょう。V&V計画、V字モデル、そして避けるべき一般的なミスについて解説します。
ハードウェア設計は、テストベンチ上では完全に正しく見えることがあります。たとえば、MCU は安定して 160 MHz で動作し、センサーは I²C で通信し、電源はフルロード時でも 12 V を維持している、といった具合です。しかし、あらゆる要件を満たしている製品でも、実際にユーザーの手に渡ると期待に届かないことがあります。
検証と妥当性確認(V&V)は、要件を満たすことと、実環境で本当に必要とされることを満たすこととの間にあるギャップを埋めるためのものです。ハードウェアチームの中には、この 2 つの用語を混同している場合があります。V&V をひとつの工程として扱ったり、プロトタイプが動いているように見えるからといってどちらかを省略したりすると、監査時や製品が現場に出た後になって問題が見つかることがあります。
この記事では、ハードウェア開発における検証と妥当性確認の意味と、その違いを説明します。また、V-Model を通じて V&V がどのように要件と結び付くのか、V&V 計画をどのように作成するのか、そしてよくあるミスをどのように避けるのかについても取り上げます。
検証とは、ハードウェアが定義された要件およびエンジニアリング仕様に適合しているかを確認するプロセスです。これは次の問いに答えるものです。 私たちは製品を正しく作っているか?
検証の目的は、思い込みを証拠に置き換えることです。回路が動作するはずだと想定するのではなく、チームは設計や物理プロトタイプを定義済みの要件と照らし合わせ、それを満たしているかどうかを示す証拠を記録します。
検証には、次のような活動が含まれます。
実際にはどう見えるかハードウェア開発において、検証は最終製品ができあがるずっと前から始まります。たとえば、「12 V 入力はフルロード時でも ±5% 以内を維持しなければならない」という要件を考えてみましょう。これは段階的に検証されます。まず回路図上で部品定格を確認し、次に電源シミュレーションを実行し、最後にベンチ上でプロトタイプを測定します。各ステップが証拠を積み上げていきます。 |
妥当性確認とは、ハードウェアが意図された用途、ユーザー、運用環境において実際に機能するかを確認するプロセスです。これは次の問いに答えるものです。 私たちは正しい製品を作っているか?
妥当性確認の主な目的は、その製品が設計時に解決しようとした問題に実際に対処できていることを示す証拠を得ることです。ある設計がすべての技術要件を満たしていても、実際の運用条件で期待どおりに機能しなければ不十分である可能性があります。妥当性確認によって、完成したシステム全体が、関係者が実際に必要としている役割に適しているという確信が得られます。
妥当性確認には、次のような活動が含まれます。
実際にはどう見えるかたとえば、商用ドローンがベンチ試験をすべて通過したとします。妥当性確認を行うには、そのドローンを想定された環境で運用します。高湿度によってセンサーがドリフトする、あるいは直射日光の下ではステータス LED が読めなくなる、といったことが分かった場合、その製品は技術要件に対しては検証済みであっても、意図された用途に対する妥当性確認には失敗している可能性があります。 |
ハードウェア開発プロセスにおける検証と妥当性確認。
V&V では、試験、測定、検査、解析といった同じエンジニアリングツールが使われることがよくあります。違いは、その結果によって何を証明しようとしているかです。
たとえば、恒温槽試験によって、製品が規定された −20 °C ~ 60 °C の範囲で動作することを検証できます。一方、妥当性確認で問われるのは、その温度範囲が実際のニーズに合っているかどうかです。製品が日光にさらされる筐体に設置され、その内部温度が 75 °C に達するのであれば、検証には合格しても、実使用では失敗する可能性があります。同じ恒温槽でも、完成品が現場で実際にさらされる温度プロファイルで試験を行えば、妥当性確認にも活用できます。
検証は通常、定義済み要件に対してより直接的な合否結果を与え、個々の要件、設計、またはハードウェア要素に適用できます。妥当性確認は、より広い視点で統合されたシステム全体を見て、その総合的な振る舞いが意図された用途に対して許容できるかを評価します。
要件主導のプロセスでは、検証は個々の技術要件が満たされたことを示す証拠を積み上げます。次に妥当性確認では、完成品全体が実際の運用条件下でステークホルダーのニーズを満たしているかを確認し、要件そのものが不完全または誤っていたことを明らかにする場合もあります。
項目 | 検証 | 妥当性確認 |
問い | 私たちは製品を正しく作っているか? | 私たちは正しい製品を作っているか? |
比較対象 | 要件、仕様、設計特性 | 意図された用途とステークホルダーのニーズ |
焦点 | 各システムレベルにおける個々の要件、設計ファイル、技術特性 | 意図された使用文脈における完成品全体 |
タイミング | 早期に開始し、開発全体を通じて継続する | 要件の妥当性確認から始まり、完成品の形が見えてきた段階で再び実施される |
使用される方法 | レビュー、検査、解析、シミュレーション、実証、および定義済み要件に対する試験 | ユースケース試験、環境試験、ユーザー評価、フィールド試験。必要に応じて解析で補完される |
成果 | ハードウェアが定義された技術要件を満たしていることを示す証拠 | 完成品全体が、意図された用途においてステークホルダーのニーズを満たしていることを示す証拠 |
V-Model は、ハードウェア開発プロジェクト全体で V&V をどのように整理するかを示します。
V-Model は、システムのライフサイクルを V 字型で表したものです。左側はステークホルダーのニーズや期待から始まり、それらをシステム要件およびサブシステム要件に変換し、さらにアーキテクチャや詳細設計へと具体化していきます。V の底辺が実装です。右側では統合を通じて上へ戻り、コンポーネント、サブシステム、完成品の各レベルで試験を行います。
システムエンジニアリングプロセスの V-Model。
左側の各レベルは右側の試験レベルと対応しており、その対応関係によってトレーサビリティが生まれます。各要件は、それを確認する V&V 活動とその証拠に結び付けられ、チームは設計が進行中の段階でその活動を計画します。
たとえば、「12 V 入力はフルロード時でも ±5% 以内を維持しなければならない」という要件は、複数のレベルで確認できます。回路図に対する部品定格の確認、基板の電源シミュレーション、そして組み立て後の製品での測定です。
この構造の中で、V&V はそれぞれ異なる役割を持ちます。
ハードウェアが試験段階に到達する時点では、チームはすでに、何を確認するのか、それがどの要件に関係するのか、結果をどのように判断するのか、そしてどのような証拠を記録しなければならないのかを把握しているべきです。V&V 計画は、そうした判断を 1 つの文書にまとめるものです。
V&V 計画では通常、次の 6 つの判断を扱います。
ソフトウェアのバグはアップデートで修正できることが多い一方で、ハードウェア設計の問題は、基板を製造する前の段階で対処するのが最も容易です。こうした問題の多くは、要件の記述方法や、V&Vの計画方法に起因しています。
以下の表では、V&Vでよくある落とし穴と、それを避けるためのベストプラクティスを示します。
よくある落とし穴 | 回避方法 |
検証と妥当性確認を同じ活動として扱う | 検証(要件に対する確認)と妥当性確認(ステークホルダーのニーズに対する確認)は、別個の明確に区別された活動として計画します。 |
あいまい、またはテスト不能な要件を書く | 設計を開始する前に、要件の明確さとテスト可能性をレビューし、要件とあわせて受け入れ基準も記述します。 |
ハードウェアの設計・製造後までV&V計画を先送りする | 要件が利用可能になった時点ですぐにV&Vを計画し、実装完了前に各要件をどのように検証するかを定義します。 |
V&V活動の優先順位が明確でない | 安全上重要な要件、技術的リスク、動作条件に基づいてV&V活動の優先順位を設定します。 |
実機ハードウェア試験のみに依存する | 各要件に対して、レビュー、検査、解析、シミュレーション、デモンストレーション、試験の中から最も適した方法を割り当てます。 |
関連するステークホルダーの意見を取り入れない | 初期要件から最終的な妥当性確認まで、ユーザーと主要ステークホルダーを関与させ、検証には設計エンジニアも参加させます。 |
V&Vの結果と証跡を文書化しない | 各V&V活動の記録と証跡を保持し、関連する要件まで完全にトレーサブルであることを確保します。 |
開発後半でのハードウェア変更は、ソフトウェア変更より高コストになる傾向があります。基板のリスピン、金型変更、認証試験の失敗は、実際に時間と予算を消費し、出荷済み製品のハードウェアは後から修正するのが困難です。これが、ハードウェア開発において検証と妥当性確認が特に重要視される理由です。両者を組み合わせることで、チームは主に次の4つの利点を得られます。
ハードウェア開発では多くの要件とテスト結果を扱うため、プロジェクト全体でそれらを手作業で追跡するのは困難になりがちです。チームは、次のような分散したファイルや連携していないツールの寄せ集めに陥ることがあります。
要件とあわせて共有ワークスペース内でV&V活動を計画・追跡したいチーム向けに、Requirements Portalは要件を検証計画、テスト実行、証跡、変更履歴と結び付けます。これにより、チームは何が検証済みで、何にまだ対応が必要かを把握できます。
要するに、検証はハードウェアが仕様を満たしていることを証明し、妥当性確認はそれが実際にユーザーにとって機能することを証明します。これを実現するには、V&Vを最終段階のチェックリストにしてはいけません。初日から製品開発プロセスに組み込む必要があります。
V&Vのフレームワークについてさらに理解を深めたい場合は、次の資料が役立ちます。
理論から実践へ進む準備ができているなら、Requirements Portalを試して、テストケースを要件や電子設計に関連付け、カバレッジを追跡し、エンジニアリング証跡を記録してください。
いいえ。同じではありません。Verificationは、ハードウェアが定義済みの要件に適合しているかを確認します。Validationは、その要件と製品が、実際の使用においてステークホルダーのニーズを反映しているかを確認します。
どちらも早い段階で計画すべきであり、どちらも単一の工程ではありません。Verificationは、設計が進むにつれてレビュー、解析、シミュレーションから始まります。Validationは、まず要件がステークホルダーのニーズに合っているかを確認することから始まり、統合された製品の形が見えてくるにつれて、より重要性が高まります。
一般的なV&V手法には、レビュー、検査、解析、シミュレーション、デモンストレーション、試験があります。同じ手法でも、定義済み要件を確認するのか、意図された用途の文脈で製品を評価するのかによって、VerificationにもValidationにも用いることができます。