トレーサビリティの保証 プロジェクト管理の仕組み (その45)

更新日

投稿日

 前回のその44に続いて解説します。
 
 ハードウェア設計の場合も、要件と回路ブロックの仕様(スペック)、回路ブロックのスペックと部品のスペックなどの設計要素間のマッピングが必要になりますし、回路ブロックについては、設計根拠となるシミュレーション結果や実験結果、部品の信頼性データなどとのマッピングも必要になります。ハードウェア設計の場合はソフトウェア設計ほど工程間で明確に分離されていませんが、設計要素間の関連づけを明確にすることの必要性に変わりはありません。
 
 このように、開発工程間の設計要素のマッピングを明確にして、設計要素の網羅性、整合性を確保する設計作業を「Breadth 設計(広がり方向設計)」と呼びましょう。 Breadth 設計は当たり前のことのように感じるかもしれませんが、実施できている開発現場は少ないのが現実です。個別の設計や記述はあるものの、設計要素すべてについて(つまり広さ方向全部について)検討し、その結果を記述することはおろそかになりがちです。たとえば、基本設計工程から詳細設計工程への移行の際、機能とモジュールが1対1に対応していれば問題ないのですが、通常は1つの機能を複数のモジュールで実装したり、複数の機能を1つのモジュールで実装したりする複雑なケースが存在します。このような場合でも、設計文書に記載されているのは、モジュールごとに実装している機能を説明しているだけで、モジュール全体でどのような機能の割り当てにしたのかや、ある機能について他のモジュールとの関連がどのようになっているのかなど、モジュール全体の一覧性やモジュールをまたがった関係などは設計文書に明確に記載されていないことが多いものです。
 
 設計とは工程内での Depth 設計と工程間での Breadth 設計の両方の繰り返しです。この Depth 設計と Breadth 設計が設計の全工程を通じて正しく実施できていると、任意の設計項目について上流から下流までどのようにして設計が進んだのかを、どの時点でも明確に確認することができます。これが、設計におけるトレーサビリティが保証されているということです。
 
 トレーサビリティが保証されていなければ、Depth 設計で機能の詳細化・具体化を慎重に実施したとしても、Breadth 設計が不十分であれば機能の抜けや漏れがないことを保証することができませんし、レビューで確認することもできません。機能とモジュールのマッピングを作成していないために、そもそも機能に抜けがあることに気づかず市場不具合となった、というようなことが起きるのです。
 
R&D
図82.設計トレーサビリティ
 
 設計トレーサビリティが確保できている状態は、図82のように設計の上流から下流までが完全につながっていることを意味します。設計の正当性の保証には、Depth 設計と Breadth 設計の両方が正しく運用されていることが必要なのです。繰り返しになりますが、Breadth 設計は技術者の頭の中の暗黙的な設計作業となっていることが多いことが問題です。このような状態では、たとえば、詳細設計工程で詳細化したモジュールが要求定義工程で詳細化した要件をすべて網羅したものになっているかどうかを確認するのは、非常に大変です。担当している技術者が気づかなければ、第三者がレビューなどで確認するのは困難で、まさに担当者任せとなってしまいます。
 
 Breadth 設計を難しくしている理由のひとつに、設計単位(設計範囲)が設計工程ごとに違うことがあります。たとえば、要求定義工程ではユーザから見た機能(サービス)の分類ごとに要件を文書化し、その単位ごとに詳細化することが多いのですが、基本設計工程ではシステム内部構造上の内部ブロックごとに機能を文書化してあり、この単位で機能の詳細化をしていることが多いと思います。文書化の単位、つまり、設計単位が設計工程ごとに違っているのです。したがって、ある要件がどの機能、どのモジュール、どのテストケースとなって実装されているのかを...
 前回のその44に続いて解説します。
 
 ハードウェア設計の場合も、要件と回路ブロックの仕様(スペック)、回路ブロックのスペックと部品のスペックなどの設計要素間のマッピングが必要になりますし、回路ブロックについては、設計根拠となるシミュレーション結果や実験結果、部品の信頼性データなどとのマッピングも必要になります。ハードウェア設計の場合はソフトウェア設計ほど工程間で明確に分離されていませんが、設計要素間の関連づけを明確にすることの必要性に変わりはありません。
 
 このように、開発工程間の設計要素のマッピングを明確にして、設計要素の網羅性、整合性を確保する設計作業を「Breadth 設計(広がり方向設計)」と呼びましょう。 Breadth 設計は当たり前のことのように感じるかもしれませんが、実施できている開発現場は少ないのが現実です。個別の設計や記述はあるものの、設計要素すべてについて(つまり広さ方向全部について)検討し、その結果を記述することはおろそかになりがちです。たとえば、基本設計工程から詳細設計工程への移行の際、機能とモジュールが1対1に対応していれば問題ないのですが、通常は1つの機能を複数のモジュールで実装したり、複数の機能を1つのモジュールで実装したりする複雑なケースが存在します。このような場合でも、設計文書に記載されているのは、モジュールごとに実装している機能を説明しているだけで、モジュール全体でどのような機能の割り当てにしたのかや、ある機能について他のモジュールとの関連がどのようになっているのかなど、モジュール全体の一覧性やモジュールをまたがった関係などは設計文書に明確に記載されていないことが多いものです。
 
 設計とは工程内での Depth 設計と工程間での Breadth 設計の両方の繰り返しです。この Depth 設計と Breadth 設計が設計の全工程を通じて正しく実施できていると、任意の設計項目について上流から下流までどのようにして設計が進んだのかを、どの時点でも明確に確認することができます。これが、設計におけるトレーサビリティが保証されているということです。
 
 トレーサビリティが保証されていなければ、Depth 設計で機能の詳細化・具体化を慎重に実施したとしても、Breadth 設計が不十分であれば機能の抜けや漏れがないことを保証することができませんし、レビューで確認することもできません。機能とモジュールのマッピングを作成していないために、そもそも機能に抜けがあることに気づかず市場不具合となった、というようなことが起きるのです。
 
R&D
図82.設計トレーサビリティ
 
 設計トレーサビリティが確保できている状態は、図82のように設計の上流から下流までが完全につながっていることを意味します。設計の正当性の保証には、Depth 設計と Breadth 設計の両方が正しく運用されていることが必要なのです。繰り返しになりますが、Breadth 設計は技術者の頭の中の暗黙的な設計作業となっていることが多いことが問題です。このような状態では、たとえば、詳細設計工程で詳細化したモジュールが要求定義工程で詳細化した要件をすべて網羅したものになっているかどうかを確認するのは、非常に大変です。担当している技術者が気づかなければ、第三者がレビューなどで確認するのは困難で、まさに担当者任せとなってしまいます。
 
 Breadth 設計を難しくしている理由のひとつに、設計単位(設計範囲)が設計工程ごとに違うことがあります。たとえば、要求定義工程ではユーザから見た機能(サービス)の分類ごとに要件を文書化し、その単位ごとに詳細化することが多いのですが、基本設計工程ではシステム内部構造上の内部ブロックごとに機能を文書化してあり、この単位で機能の詳細化をしていることが多いと思います。文書化の単位、つまり、設計単位が設計工程ごとに違っているのです。したがって、ある要件がどの機能、どのモジュール、どのテストケースとなって実装されているのかを確認するのは、いくつかの文書をまたがって調べなくてはならないため簡単ではありません。ツール化なども含めて、開発現場に合わせた工夫が必要となります。ただ、このようなことすら認識できていないところも多いのです。
 
 さて、今回は設計におけるトレーサビリティについて解説しました。Depth 設計と Breadth 設計の両方について仕組み化することが大切であることをわかっていただけたと思います。トレーサビリティが保証された設計工程でなければ、設計だけでなくレビューや不具合分析も属人的な作業となり、組織として設計完成度を上げることや保証することは困難です。設計の「見える化」にはトレーサビリティの仕組み化は必要不可欠ですが、仕組み化にあたっては、開発現場ごとの事情や文化を考慮した個別の工夫や対応が必要になります。
 
 

   続きを読むには・・・


この記事の著者

石橋 良造

組織のしくみと個人の意識を同時に改革・改善することで、パフォーマンス・エクセレンスを追求し、実現する開発組織に変えます!

組織のしくみと個人の意識を同時に改革・改善することで、パフォーマンス・エクセレンスを追求し、実現する開発組織に変えます!


「技術マネジメント総合」の他のキーワード解説記事

もっと見る
活動で考慮すべきこと 1 開発効率を上げる(その6)

【開発効率向上の重要性 連載目次】 製造業の生産性 開発効率向上の重要性 開発効率向上活動の考え方 開発効率向上、活動計画 1  ...

【開発効率向上の重要性 連載目次】 製造業の生産性 開発効率向上の重要性 開発効率向上活動の考え方 開発効率向上、活動計画 1  ...


内発的動機付け 普通の組織をイノベーティブにする処方箋 (その81)

 エドワード・デシの4段階理論に基づき、外発的動機付けから内発的動機付けを誘引する4つの段階を解説しています。今回は、その80の続きです。 ◆関連解...

 エドワード・デシの4段階理論に基づき、外発的動機付けから内発的動機付けを誘引する4つの段階を解説しています。今回は、その80の続きです。 ◆関連解...


設計開発部門の悩み 「設計工数の見える化」から始める業務改善(その1)

  1. 設計開発部門の悩み    設計・開発部門(以下設計部門)は他部門から様々な要求を受けることが普通です。競争力のある商品...

  1. 設計開発部門の悩み    設計・開発部門(以下設計部門)は他部門から様々な要求を受けることが普通です。競争力のある商品...


「技術マネジメント総合」の活用事例

もっと見る
製品開発部へのカンバン導入記(その2)

        前回からの続きです。前回は製品開発部がカンバンを導入するに至った簡単な経緯と、最初の問題点(...

        前回からの続きです。前回は製品開発部がカンバンを導入するに至った簡単な経緯と、最初の問題点(...


台湾・高機能ファブリックメーカーがTRIZで革新的課題解決

※写真はイメージです   ♦ 市場をリードするイノベーション実現に向けアイデア発想力強化 1. 機能性ファブリック...

※写真はイメージです   ♦ 市場をリードするイノベーション実現に向けアイデア発想力強化 1. 機能性ファブリック...


品質の仕組みとは1 プロジェクト管理の仕組み (その27)

 製品開発を行っている組織において、設計・製造の仕組みを構築したり見直したりするというとき、品質向上に貢献することが何らかの形でゴールのひとつとなっている...

 製品開発を行っている組織において、設計・製造の仕組みを構築したり見直したりするというとき、品質向上に貢献することが何らかの形でゴールのひとつとなっている...