はじめに
皆さんも、「トレーサビリティ」という言葉を聞いたことがある方も多くいらっしゃるかと思います。
特にIT業界では最近、「トレーサビリティチェック」という言葉をよく耳にします。
果たして、「トレーサビリティチェック」とは、どのような意味なのでしょうか?
今回は、IT業界における「トレーサビリティチェック」について説明します。
「トレーサビリティ」とは?
そもそも、「トレーサビリティ(traceability)」とは、一言でいうと、「製品や商品の生産、流通経路が追跡可能な状態にあること」と言う意味で、業種を問わず、様々な意味合いで使用されています。
例えば、ある製品や、その製品の原材料が、いつ、誰が、どのように作った原材料なのかという情報が、いつでも追跡可能な状態を意味します。
また、製品や商品の生産、流通経路を追跡出来ることを「トレーサビリティシステム(生産流通情報把握システム)」と言います。
IT業界では?
IT業界でも、「トレーサビリティ」の意味と同じように、様々な追跡が出来ることを意味しますが、システム開発において、最近、「トレーサビリティチェック」という営みを行うことが増えてきています。
次に、「トレーサビリティチェック」について説明します。
「トレーサビリティチェック」とは?
IT業界における「トレーサビリティチェック」とは、品質管理の一つとして、要件定義、設計書、ソースコード、テスト仕様書などを用いて、開発工程の前後の成果物を突き合わせ、以下のようなチェックを行うことを言います。
●「要件定義」と「設計書」との突き合わせ
設計工程が完了した時点で、設計工程の成果物である設計書と、要件定義を関連づけて、設計書に要件定義に定義されている要件が正しく取り込まれているかをチェックします。
例えば、簡単な「トレーサビリティチェック」の例を示すと、縦軸に定義された要件を並べ 、横軸にシステム機能を並べて、定義された要件が、どのシステム機能によって実現(網羅)されているかのチェックを行い、◯を付けるなどのチェック方法があります。
[例]
※上図の例では、要件AからDが、システム機能AからDのどの機能によって実現されているかを示しています。
●「設計書」と「ソースコード」との突き合わせ
製造工程が完了した時点で、製造工程の成果物であるソースコードと、設計書を関連づけて、ソースコードに設計された内容が正しく取り込まれているかをチェックします。
例えば、縦軸にシステム機能を並べ 、横軸にソースを並べて、設計したシステム機能が、どのプログラムソースによって実現(網羅)されているかのチェックを行い、◯を付けるなどのチェック方法があります。
[例]
※上図の例では、システム機能AからDが、プログラムソースAからDのどのソースによって実現されているかを示しています。
●「要件定義」と「テスト仕様書」との突き合わせ
製造工程が完了し、テスト工程に入る際に、要件定義、あるいは、設計書を関連づけて、テスト仕様書に要件定義で定義されている要件 、設計したシステム仕様が正しくテスト仕様書に取り込まれているかをチェックします。
例えば、縦軸に定義された要件を並べ 、横軸にテストケースを並べて、定義された要件が、どのテストケースよって試験されるかのチェックを行い、◯を付けるなどのチェック方法があります。
[例]
※上図の例では、要件AからDが、テストケースAからDのどのケースによって試験されるかを示しています。
上記の例では、基本的な開発工程における成果物の組み合わせによる「トレーサビリティチェック」をご紹介しましたが、工程や成果物の組み合わせにより様々なチェック方法(突き合わせ方法)があります。
また、本来の「トレーサビリティ」の意味と同じよう、要件、システム機能、テストケースなど、どこからでも追跡可能になっていることがポイントになります。
「トレーサビリティチェック」の目的
IT業界における「トレーサビリティチェック」の目的は、先にチェック方法を説明した通りに、要件定義に定義された要件がシステム機能に取り込まれているかを確認し、「取り込み漏れ」や「考慮漏れ」、「対応漏れ」を見つけ出すことを目的としています。
特に、新規要件に対する新規のシステム機能が漏れることは稀ですが、新規要件に対する既存のシステム機能への対応漏れを見つけ出すことも目的としています。
また、もちろんですが、「トレーサビリティチェック」は、影響範囲の少ない上流工程の段階から順に実施していくことが重要になります。
「トレーサビリティチェック」の今後
IT業界、特にシステム開発を行う業務に従事している方は、今後、品質管理、品質強化の観点から「トレーサビリティチェック」の需要は増えてくると思われるため、是非、早い段階から実施することをおすすめします。
最後に
筆者の周りでは「トレーサビリティチェック」は、定常的に実施されるようになってきました。
「トレーサビリティチェック」を実施する際は、やはり、目的を明確にして、プロジェクトに合った「トレーサビリティチェック」を行う必要があると感じます。