システム設計6 プロジェクト管理の仕組み (その38)

更新日

投稿日

◆システム設計は仮説と検証の繰り返し 

 
 前回は、システム(ここでは製品も含めてシステムと呼ぶことにします)に必要とされる要件を漏れなくリストアップする方法について解説しました。化粧品の自販機を例題にして、漏れなく要件を考えるための手法として FURPS+ を紹介し、品質特性に注目して要件をリストアップすることや、その品質特性は形を変えながらブレークダウンされるものであることなどを説明しました。これにより、そのままでは曖昧な顧客や企画部門からの要求やニーズが、製品開発におけるシステム設計の入力として適切なレベルの要件となったわけです。
 
 次に行うことは、開発すべきシステムをハードウェアやソフトウェアといったサブシステムに分けて、それぞれの要件を明確にすることです。サブシステムは、ハードやソフトという単位に分かれることもあれば、ユーザインタフェース・サブシステム、処理エンジンサブシステム、出力サブシステムというように、ハードやソフトを含む機能単位に分かれることもあります。
 
 今のところ、どのようなサブシステムにするのかについては、これまでの製品開発の流れや開発者の経験などにより決まるものと考えておきましょう。また、サブシステムではなく、ブロックと呼んでいたりモジュールと呼んでいたり、開発現場によって様々だと思いますが、ここではサブシステムで統一したいと思います。
 
 まず、わかっていただきたいことは、サブシステムに分ける作業は本質的に試行錯誤となる作業だということです。仮説と検証を繰り返しながら徐々にサブシステム構成を改善することが、適切なサブシステム構成を作るための確実な方法なのです。そして、この試行錯誤のために必要となるのが、仮説として考えたサブシステム構成の良し悪しを検証する手段、手法が確立していることです。仮説を評価できなければよりよいものにすることはできません。
 
 この検証作業の基本は、作成したシステム要件を実現するためにサブシステムがどのような処理の流れ、データ・信号の流れとなるのかを明らかにし、どのようなサブシステム間のやりとりになっているのかを確認することです。複雑な処理ややりとりになっている場合は、サブシステムを見直してより簡単なやりとりにできないかを考えます。この試行錯誤が適切にできるかどうかがカギとなります。経験を積んでいる人やセンスが良い人というのは、最初の仮説のレベルが高かったり、少ない試行錯誤でシンプルなやりとりにすることができるということなのですが、このような人であっても、頭の中でこの試行錯誤をやっているのであって、試行錯誤なしにはシステム設計を行うことはできません。
 
 システム設計経験が浅かったり、飛び抜けたセンスを持っていない場合は、この試行錯誤がどれだけできるのかがシステム設計の良し悪しに直結します。今回紹介するサブシステム構成の検証方法を確立・定着させ、試行錯誤の時間をできるだけ確保することにエネルギーを使うことができるような仕組みを作ってほしいと思います。
 
 それでは、例題である化粧品の自販機についてサブシステムへのブレークダウンをやってみましょう。開発の制約のひとつに「既存の缶ジュース自販機を流用して開発作業を最小限に抑える」というものがありましたので、既存のサブシス...

◆システム設計は仮説と検証の繰り返し 

 
 前回は、システム(ここでは製品も含めてシステムと呼ぶことにします)に必要とされる要件を漏れなくリストアップする方法について解説しました。化粧品の自販機を例題にして、漏れなく要件を考えるための手法として FURPS+ を紹介し、品質特性に注目して要件をリストアップすることや、その品質特性は形を変えながらブレークダウンされるものであることなどを説明しました。これにより、そのままでは曖昧な顧客や企画部門からの要求やニーズが、製品開発におけるシステム設計の入力として適切なレベルの要件となったわけです。
 
 次に行うことは、開発すべきシステムをハードウェアやソフトウェアといったサブシステムに分けて、それぞれの要件を明確にすることです。サブシステムは、ハードやソフトという単位に分かれることもあれば、ユーザインタフェース・サブシステム、処理エンジンサブシステム、出力サブシステムというように、ハードやソフトを含む機能単位に分かれることもあります。
 
 今のところ、どのようなサブシステムにするのかについては、これまでの製品開発の流れや開発者の経験などにより決まるものと考えておきましょう。また、サブシステムではなく、ブロックと呼んでいたりモジュールと呼んでいたり、開発現場によって様々だと思いますが、ここではサブシステムで統一したいと思います。
 
 まず、わかっていただきたいことは、サブシステムに分ける作業は本質的に試行錯誤となる作業だということです。仮説と検証を繰り返しながら徐々にサブシステム構成を改善することが、適切なサブシステム構成を作るための確実な方法なのです。そして、この試行錯誤のために必要となるのが、仮説として考えたサブシステム構成の良し悪しを検証する手段、手法が確立していることです。仮説を評価できなければよりよいものにすることはできません。
 
 この検証作業の基本は、作成したシステム要件を実現するためにサブシステムがどのような処理の流れ、データ・信号の流れとなるのかを明らかにし、どのようなサブシステム間のやりとりになっているのかを確認することです。複雑な処理ややりとりになっている場合は、サブシステムを見直してより簡単なやりとりにできないかを考えます。この試行錯誤が適切にできるかどうかがカギとなります。経験を積んでいる人やセンスが良い人というのは、最初の仮説のレベルが高かったり、少ない試行錯誤でシンプルなやりとりにすることができるということなのですが、このような人であっても、頭の中でこの試行錯誤をやっているのであって、試行錯誤なしにはシステム設計を行うことはできません。
 
 システム設計経験が浅かったり、飛び抜けたセンスを持っていない場合は、この試行錯誤がどれだけできるのかがシステム設計の良し悪しに直結します。今回紹介するサブシステム構成の検証方法を確立・定着させ、試行錯誤の時間をできるだけ確保することにエネルギーを使うことができるような仕組みを作ってほしいと思います。
 
 それでは、例題である化粧品の自販機についてサブシステムへのブレークダウンをやってみましょう。開発の制約のひとつに「既存の缶ジュース自販機を流用して開発作業を最小限に抑える」というものがありましたので、既存のサブシステム構成を活かしたものをサブシステム構成の第1版としました。これを図74 に示します。
 
R&D
図74.サブシステム構成(第1版)
 
 図74 では、サブシステムとして「金銭管理」「商品管理」「操作管理」「状態管理」の4つとしています。既存の自販機システムが金銭、商品、ユーザインタフェース(操作)のブロックに別れており、それぞれを流用することができるだろうという目論見です。繰り返しになりますが、大切なのは、考えたサブシステム構成を検証し、よりよい構成にできる余地があるかどうかを検討できる仕組みです。次回では、実際の検証作業を解説します。
 
 

   続きを読むには・・・


この記事の著者

石橋 良造

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

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


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

もっと見る
研究者自身が感じる脅威とは 『価値づくり』の研究開発マネジメント (その21)

    今回は、オープンイノベーションに抵抗する心理として、研究者自身の能力の外部による置換の脅威について解説します。 ◆関連解説『事...

    今回は、オープンイノベーションに抵抗する心理として、研究者自身の能力の外部による置換の脅威について解説します。 ◆関連解説『事...


激変を予測するとは 普通の組織をイノベーティブにする処方箋 (その66)

 今回も、ここまでと同様、「思い付く」ための「知識・経験を整理するフレームワーク」の中の、知識・経験を時系列で整理する「期」ついて議論をします。 ◆...

 今回も、ここまでと同様、「思い付く」ための「知識・経験を整理するフレームワーク」の中の、知識・経験を時系列で整理する「期」ついて議論をします。 ◆...


「真の原因」を追求する品質管理、接点障害と腐食問題から学ぶ現場調査と科学分析の要諦

【目次】 製品トラブルの解決において、目に見える現象だけを追っても根本的な解決には至らない。今回は、特定の個体で繰り返された電話機の...

【目次】 製品トラブルの解決において、目に見える現象だけを追っても根本的な解決には至らない。今回は、特定の個体で繰り返された電話機の...


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

もっと見る
プロジェクトの問題を見極める1 プロジェクト管理の仕組み (その23)

 進捗管理のための基本メトリクスセットのひとつである開発工数メトリクスについて解説していますが、前回は、プロジェクト構造(WBS)軸とアクティビティ軸のそ...

 進捗管理のための基本メトリクスセットのひとつである開発工数メトリクスについて解説していますが、前回は、プロジェクト構造(WBS)軸とアクティビティ軸のそ...


システム設計3 プロジェクト管理の仕組み (その35)

 前回はシステム設計を、開発工程上はシステムエンジニアリングと、ハードやソフトなどのサブシステムのエンジニアリングの両方と定義しました。ここで、システムエ...

 前回はシステム設計を、開発工程上はシステムエンジニアリングと、ハードやソフトなどのサブシステムのエンジニアリングの両方と定義しました。ここで、システムエ...


設計部門とリスク管理(その3)

【設計部門とリスク管理 連載目次】 1. リスク管理とは目標達成までのシナリオ作成 2. コンティンジェンシープランの注意事項 3. リスク管理...

【設計部門とリスク管理 連載目次】 1. リスク管理とは目標達成までのシナリオ作成 2. コンティンジェンシープランの注意事項 3. リスク管理...