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

更新日

投稿日

 前回でシステム設計の位置づけが明確になったと思いますので、次に、多くの開発現場で起きているシステム設計の問題について考えてみたいと思います。次のようなことが典型的なものです。
 

1. 製品の企画や仕様がいつまでも決まらない

 
 製品規模の増大や複雑化の進展などにより、製品全体を把握することが困難になりシステム設計を担当する人がいなくなったり、専門の企画グループを設置したことで設計グループとは別に行動して実現性検討が曖昧になったり、リリース直前まで仕様を変更したりすることが原因になって、いつまでも仕様が決まらない状態になります。
 

2. 開発終盤で品質問題が多発する

 
 製品全体のシステム設計をすることなく、機能の光り物や目新しい要素技術に注目した作り込みを行い、その他の機能は後で作り込んで製品としてまとめ上げるという開発スタイルをとるため、後になって作り込んだ部分と先に作り込んだ部分との間の不整合が不具合の原因となります。
 

3. 同じラインナップの製品を作っているのに品質や生産性が上がらない

 
 システム設計によるアーキテクチャの検討、確定、共有が実施できないため、同じような製品であっても毎回新製品として開発することになります。アーキテクチャが確定しないため再利用も場当たり的な対応になってしまい、効率向上につながらないことになります。
 
 システム設計を実施しないとこのような問題が起きることが多いのですが、具体的にどのようなことが起きているのかを考えてみたいと思います。図68を見てください。次のようなことが起きています。
 
R&D
図68. システム設計の欠如
 
 企画担当が構想や企画、仕様定義といった開発工程を通じて、製品仕様の詳細化、具体化を行いますが、アウトプットは市場や競合の分析から検討した仕様一覧です。これは、前回で定義したようなシステム設計はまだ実施されていませんから、「実現したい」仕様一覧表ができている状態ということができます。本来は、この実現したい仕様一覧表をインプットとして、システムエンジニアリングとハードウェアエンジニアリング、ソフトウェアエンジニアリングであるシステム設計が行われるはずなのですが、多くの開発現場ではこの工程が抜けてしまっています。つまり、「実現したい」機能一覧表から、担当者あるいは担当チームに直接「実現したい」機能のサブセットを割り振っています。
 
 そのため、「実現したい」仕様一覧表はシステム設計による実現妥当性の分析や評価により「実現できる」仕様一覧表になるはずのものが、実現性の裏付けのない「実現したい」仕様一覧表のままで開発が進むことになります。「実現したい」仕様のサブセットを担当するところだけで見た場合は、問題なく詳細設計や試作が進むかもしれませんが、他のサブセットを担当しているところとつなげたとき、あるいは製品全体で結合したときに、動かない、性能が出ないと言うことになる可能性が非常に高くなります。製品全体で見たときにはシステム設計により実現妥当性を検証した「実現できる」仕様一覧表になっていないからです。
 
 実際のシステム設計の実施方法は次回に解説します。今回は実施のポイントを整理しておきます。
 

【対象は製品あるいはシステム全体】

 電気、機構、ソフトといった主要なサブシステムはもちろんシステム設計の対象となりますが、生産技術、製造、保守、サービスといった領域も対象にします。
 

【機能要求と非機能要求のセットで考える】

 仕様や要件のブレークダウンを行う際に常に品質属性を考慮することが大切です。機能要求と非機能要求とをセットで取り扱うことにより、品質属性の取り扱いが容易になります。
 

【ブレークダウン(展開)は構成要素間の関係を保証して実施する】

 仕様の詳細化や仕様から内部構...
 前回でシステム設計の位置づけが明確になったと思いますので、次に、多くの開発現場で起きているシステム設計の問題について考えてみたいと思います。次のようなことが典型的なものです。
 

1. 製品の企画や仕様がいつまでも決まらない

 
 製品規模の増大や複雑化の進展などにより、製品全体を把握することが困難になりシステム設計を担当する人がいなくなったり、専門の企画グループを設置したことで設計グループとは別に行動して実現性検討が曖昧になったり、リリース直前まで仕様を変更したりすることが原因になって、いつまでも仕様が決まらない状態になります。
 

2. 開発終盤で品質問題が多発する

 
 製品全体のシステム設計をすることなく、機能の光り物や目新しい要素技術に注目した作り込みを行い、その他の機能は後で作り込んで製品としてまとめ上げるという開発スタイルをとるため、後になって作り込んだ部分と先に作り込んだ部分との間の不整合が不具合の原因となります。
 

3. 同じラインナップの製品を作っているのに品質や生産性が上がらない

 
 システム設計によるアーキテクチャの検討、確定、共有が実施できないため、同じような製品であっても毎回新製品として開発することになります。アーキテクチャが確定しないため再利用も場当たり的な対応になってしまい、効率向上につながらないことになります。
 
 システム設計を実施しないとこのような問題が起きることが多いのですが、具体的にどのようなことが起きているのかを考えてみたいと思います。図68を見てください。次のようなことが起きています。
 
R&D
図68. システム設計の欠如
 
 企画担当が構想や企画、仕様定義といった開発工程を通じて、製品仕様の詳細化、具体化を行いますが、アウトプットは市場や競合の分析から検討した仕様一覧です。これは、前回で定義したようなシステム設計はまだ実施されていませんから、「実現したい」仕様一覧表ができている状態ということができます。本来は、この実現したい仕様一覧表をインプットとして、システムエンジニアリングとハードウェアエンジニアリング、ソフトウェアエンジニアリングであるシステム設計が行われるはずなのですが、多くの開発現場ではこの工程が抜けてしまっています。つまり、「実現したい」機能一覧表から、担当者あるいは担当チームに直接「実現したい」機能のサブセットを割り振っています。
 
 そのため、「実現したい」仕様一覧表はシステム設計による実現妥当性の分析や評価により「実現できる」仕様一覧表になるはずのものが、実現性の裏付けのない「実現したい」仕様一覧表のままで開発が進むことになります。「実現したい」仕様のサブセットを担当するところだけで見た場合は、問題なく詳細設計や試作が進むかもしれませんが、他のサブセットを担当しているところとつなげたとき、あるいは製品全体で結合したときに、動かない、性能が出ないと言うことになる可能性が非常に高くなります。製品全体で見たときにはシステム設計により実現妥当性を検証した「実現できる」仕様一覧表になっていないからです。
 
 実際のシステム設計の実施方法は次回に解説します。今回は実施のポイントを整理しておきます。
 

【対象は製品あるいはシステム全体】

 電気、機構、ソフトといった主要なサブシステムはもちろんシステム設計の対象となりますが、生産技術、製造、保守、サービスといった領域も対象にします。
 

【機能要求と非機能要求のセットで考える】

 仕様や要件のブレークダウンを行う際に常に品質属性を考慮することが大切です。機能要求と非機能要求とをセットで取り扱うことにより、品質属性の取り扱いが容易になります。
 

【ブレークダウン(展開)は構成要素間の関係を保証して実施する】

 仕様の詳細化や仕様から内部構造への変換など、適宜構成要素をブレークダウンしていくことになりますが、その際に、構成要素間の関係がどのようになっていて、それが機能・非機能要求を満足することになっていることを記述することが大切です。また、設計根拠を明確にすることも重要です。
 
 今回はシステム設計のイントロダクションになりました。システム設計に対する認識が人によってかなり違うため、まずは、開発工程におけるシステム設計の位置づけや、システム設計が行われない場合の課題についての解説を中心に話を進めました。これでシステム設計が意味するところについては共有することができたと思いますので、次回はシステム設計の実施方法について解説します。
 
 

   続きを読むには・・・


この記事の著者

石橋 良造

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

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


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

もっと見る
真の「デザイン」は、「設計」の概念!

1. デザイン重視の背景  例えば携帯電話の開発で、アップル、韓国LG電子、NEC、ソニーなどが、デザインを最優先する戦略をとり始めています。競合各社の...

1. デザイン重視の背景  例えば携帯電話の開発で、アップル、韓国LG電子、NEC、ソニーなどが、デザインを最優先する戦略をとり始めています。競合各社の...


自社コア技術の強化のための技術 普通の組織をイノベーティブにする処方箋 (その33)

        前回までは自社のコア技術を拠り所にして外部技術を活用する方法として、「その1:自社のコア技術...

        前回までは自社のコア技術を拠り所にして外部技術を活用する方法として、「その1:自社のコア技術...


イノベーション 普通の組織をイノベーティブにする処方箋 (その144)

  イノベーションの活動を行うことを妨げる「失敗のコストのマネジメント」の解説をしていますが、今回もこの解説を続けたいと思います。 &n...

  イノベーションの活動を行うことを妨げる「失敗のコストのマネジメント」の解説をしていますが、今回もこの解説を続けたいと思います。 &n...


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

もっと見る
進捗の見える化:第1回 プロジェクト管理の仕組み (その10)

 この数回はプロジェクト管理の仕組みについて解説していますが、表面的な仕組みではなく、本質的な課題に対応したより進化・深化した仕組みにするための考え方を解...

 この数回はプロジェクト管理の仕組みについて解説していますが、表面的な仕組みではなく、本質的な課題に対応したより進化・深化した仕組みにするための考え方を解...


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

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

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


生産を見越した試作の方法とは

        今回は、次のような事例により、生産を見越した試作の方法を解説します。   1. 事例: 試作のタイミングで、注意をすべきこと ...

        今回は、次のような事例により、生産を見越した試作の方法を解説します。   1. 事例: 試作のタイミングで、注意をすべきこと ...