トレーサビリティというと食品の流通経路を追跡する技術をイメージする人は多いでしょう。しかし食品業界のみならず、さまざまな業界でトレーサビリティへの取り組みが進んでいます。
そのなかのひとつがIT業界です。国際的にもシステム開発におけるトレーサビリティ管理は不可欠になっており、また多くのメリットがあることから、取り組む企業が増えています。そこで本稿では、IT業界においてトレーサビリティがどのように活用されているかについて簡潔に解説します。
トレーサビリティとは
トレーサビリティとは、追跡できること(=トレース(追跡)+アビリティ(能力))を意味する造語です。品質管理の分野では、「(製品やサービスなど)対象の履歴,適用又は所在を追跡できること。」(Q 9000:2015)を指します。それには材料や部品、処理の履歴が辿れること、または製品・サービスを提供した先を把握できることが含まれます。前者をトレースバック、後者をトレースフォワードと呼びます。
トレーサビリティについては次の記事で詳しく解説しています。
https://blog.rflocus.com/traceability/
IT業界におけるトレーサビリティとは
食品業界では主に食の安全・安心を確保する目的で導入されているのに対して、IT業界の場合は少し状況が異なります。IT業界におけるトレーサビリティとは、主に処理の履歴を確認・可視化し、開発したソフトウェアの品質を保証する目的で導入されています。
システム開発にトレーサビリティが求められるのは世界的な流れです。IEC 61508(電気/電子/ソフトウェアの機能安全に関わる国際規格)等の国際認証でも、トレーサビリティ管理が求められています。
トレーサビリティチェックについて
システム開発の工程は、要件定義→外部設計→内部設計→プログラミング→単体テスト→統合テストという流れが一般的です。このような開発モデルはウォーターフォールと呼ばれ、上流工程が終わると次の工程にへと順番に進んでいきます。
そのため前の工程に漏れがあると、次工程以降に影響が出る可能性が高くなります。それを防ぐために要件定義や設計書、仕様書など、開発前後のドキュメントと成果物とを比較・チェックすることをトレーサビリティチェックと呼びます。
具体的には以下のようなチェックを行います。後述するトレーサビリティマトリクスなどを使うことで、項目の見落としを防ぎます。
「要件定義」と「設計書」との突き合わせ
要件定義書と設計書を付き合わせて、設計書の中に要件定義書に記載されている項目が漏れなく入っているかをチェックします。
「要件定義」と「テスト仕様書」との突き合わせ
テスト仕様書と要件定義書(または設計書)を付き合わせて、テスト仕様書の中に要件定義書に記載されている項目が漏れなく入っているかをチェックします。
トレーサビリティチェックの目的とは
トレーサビリティチェックの目的は、前工程に記載されている項目が開発内容に含まれているかをチェックし、対応漏れを発見する事です。また設計書と成果物間で追跡可能な状態になっていることで、品質を保証し、不具合があった場合に速やかに解析が可能になります。
トレーサビリティマトリクスについて
トレーサビリティマトリクスとは、日本語で「追跡可能性マトリクス」とも呼ばれる品質管理手法の一つです。成果物に要件のすべてが含まれ、実装され、評価されたことを保証し、追跡できるようにするしくみで、上位の要件と下位の要件とのトレーサビリティや、要件と成果物とのトレーサビリティを格子表(マトリクス)に表したものです。
仕様などが途中で変更した場合でもどこに影響があるのか、どこを修正すべきなのかがすぐに把握できます。要件の管理がしやすいのがメリットです。
要求仕様、設計書の内容が一覧化できるので、おかしなところが発見しやすくなります。
V字モデルについて
V字モデルとは、ソフトウェア開発における流れを表したものです。開発工程とテスト工程が対になっており、左辺には上流→下流の順に開発工程を、右辺には開発工程に対応するテスト工程を並べます。ウォーターフォール型に限らずアジャイル開発でも用いられるモデルです。
トレーサビリティマトリクスの書き方
トレーサビリティマトリクスは、基本的には、左側に要件を記述し、右側には要件に対応する内容を記述します。
Excelで作成することもありますが、作成に手間や時間がかかる、記入ミスが多いなどの課題があります。そのためツール導入などで作業を自動化することが望まれます。
トレーサビリティ管理ツールについて
トレーサビリティ管理ツールとは、要件定義と成果物をツール上で関連付けして管理するツールのことです。成果物に識別子を付記し、それを関連付けて関係性を表すもので、ミス防止、作業負担軽減、保守性の向上といったメリットがあります。
システム開発の現場では、開発途中で仕様変更が発生し、開発当初の仕様書と、最終的にリリースされた成果物で整合性が取れていないこともあります。しかしこのような一貫性がない状態だと、後からトレースできなくなる可能性があります。
そこで、ツールによって仕様書と成果物を紐づけて管理しようという目的で導入されるのがトレーサビリティ管理ツールです。国際的な認証基準においてもトレーサビリティ管理が求められていることもあり、導入する企業が増えています。
ITトレーサビリティの今後
2021年2月に新型コロナウイルス接触確認アプリ「COCOA」で、一部の利用者に対して通知されない不具合が発覚し、問題になりました。厚生労働省の調査結果では、テスト環境が整っておらず、役割分担も明確でなかったためテストが実施されなかった状況が指摘されています。
適切なテストが実施されないと、思わぬ不具合に気付かずに世の中に出てしまうのは今回の問題のとおりです。今回のように大きな影響が出ると、開発側の信頼度低下にもつながります。
このようなリスクを避ける手段としてもITトレーサビリティは非常に有用です。
トレーサビリティに取り組むことで開発の対応漏れやテスト漏れを防止し、余計なトラブルを防止できます。また何かあった場合にもトレースできるので問題にすばやく対応できます。
今後は、国際的な流れも受けつつ、IT業界でも今後は品質管理・リスク管理の視点から一般的なシステム開発においてもトレーサビリティへの需要は増えていくと考えられます。
まとめ
同じトレーサビリティと言っても、食品業界とIT業界では目的や活用の仕方に違いがあります。食品業界と比較すると手書きによる管理は少なくデジタル化が進んでいるのが特徴で、ツールによる自動化も積極的に行われています。
このようなIT業界でのトレーサビリティの取り組みは、製造業界にとっても参考になるでしょう。