川村渇真の「知性の泉」

手順:難関箇所を見極めて最優先で解消する


実現の見通しを早目に立てることが、大失敗を防止する

 設計という作業は、製造や工事などの作業と異なり、予定どおり進むかどうかの確証がない。思ったような性能が出ないとか、採用した技術に欠点が見付かったとか、途中で問題が発生する可能性が高いからだ。何か問題が起こると、終了時期を遅らせたり、機能を削ったりして何とか仕上げることもある。
 何も考えずに設計作業を進めると、そんな状況に陥りやすい。設計の最終段階になって失敗だと分かり、「こんなはずではなかった」と嘆いても、もはや遅すぎる。そうならないためには、作業の順序を十分に考えて決める必要がある。もっとも重要なのは、こうすれば問題なく設計できるという見通しを、できるだけ早い時期に立てることだ。どの技術を採用し、どんな材料や道具を使い、どのような構造や構成で組み上げたら大丈夫なのか、早目に見極める必要がある。大きな問題の出そうな箇所がなくなれば、予定した機能や性能のものが、スケジュールどおりに設計できやすい。
 このよう考え方は、設計作業におけるリスク管理である。失敗のリスクが高い部分を見付け出して早目に解決すれば、設計が失敗する可能性をかなり低められる。この際に大切なのは2点。どの部分でリスクが高いのかを慎重に見極めて、すべての項目を洗い出すこと。ここでは難関箇所と呼ぼう。もう1つは、いろいろな資源を効果的に投入して、難関箇所に含まれる問題をできるだけ早い時期に解決することだ。
 難関箇所とは、問題ないことが明らかでない部分がすべて含まれる。どうなるのか不安な部分と表現してもよいだろう。開発ツールの一般的な機能であっても、設計で使用した実績がなければ含めるべきである。すべてを入れると大変なので、設計対象の中で重要な位置を占めるものだけに限る。たとえば、システム全体の制御を担当する機能とか、製品の主要機能を実現する技術とかだ。

考えられる難関箇所をすべて洗い出す

 まず最初は、難関箇所の発見だ。それを見付けるためには、設計で採用する技術や基本構造を仮に決めなければならない。複数の候補がある場合には、もっとも良いと思われるものに仮決めする。どうしても優劣が付けられないなら、両方を検討の対象とするしかない。
 採用技術や基本構造が決まったら、問題が発生しそうな点を考えてみる。最初は、どんな小さな項目でもすべて挙げる。洗い出しの作業では、より多くの人が参加したほうがよい。人数が多いほど、幅広い視点で検討することが可能だからだ。検討の初期段階に限り、あまり詳しくない人を参加させる手もある。素人の素朴な意見が、実は盲点を付いていることもあり得る。ただし、実際には多くが役に立たない意見なので、とりあえす思い付くまま言ってもらい、採否は後で検討する。
 その次に考えるのは、洗い出した難関箇所ごとで、もし解決できなかった場合にどの程度の影響があるかだ。影響の大きい順に並べて、上から順番に解決方法を検討する。どのように設計したらよいのか、どんな性能の機器を使ったら大丈夫なのかなど、1つ以上の対処を見付ける。
 設計に見通しを立てるためにも、すべての難関箇所に解決方法を割り当てる必要がある。どうしても解決できない難関箇所があったら、別な技術や基本構造に変更することも検討する。その際には、難関箇所の洗い出しをやり直すしかない。

本当に解決できるかを最優先で確かめる

 難関箇所と解決方法がまとまったら、本当に解決できるかを確かめなければならない。実際の設計してみたら、ツールなどの不具合が原因で期待通り動作しないこともある。最近では、多くの機器がコンピュータで制御されている。あまり使われていない機能だと、バグが残っていてい仕様どおり動かないことも起こりうる。実際に使ってみて確認することは重要だ。ただし、すべての難関箇所について試験するのは大変なので、本当に重要なものだけに絞り込む。試験内容を作成する際には、目的の機能だけを確認できればいいので、できるだけ簡単に済ませる。また、作ったものが本設計に流用できるかどうか検討し、可能ならばそうする。
 試験の作業では、効率よりも時間の短さを重視する。手順としては、まず試験すべき項目を決め、それから試験方法を求める。試験期間を短縮するために、並列で試験できるように方法を決め、空いている人を積極的に活用する。予定どおり進まない状況になったら、空いてない人に参加してもらう。重要な見極めに使う試験なので、きちんと実施するように注意や管理を強化すべきである。
 確認すべき内容によっては、簡単に試験できないこともある。たとえば、オンラインシステムの応答時間の測定で、最終的な状態に近い負荷を持つ何件ものトランザクションを発生させるのは容易ではない。やろうと思えば可能ではあるが、試験のデータや環境を作る手間を考えると、現実的ではない。この種の問題が、実は厄介なのだ。もし試験するのが大変ならば、装置の処理能力の余裕を大きく取る方法もある。机の上で算出した性能の2倍のマシンを導入するといった方法だ。性能が2倍になることで増える費用が、試験の費用と時間的な遅れよりも得だと判断できれば、採用して構わない。しかし、試験をしないので、2倍で十分かは定かでない。机上の算出の根拠を十分に検討すべきだし、余裕を2倍でなく4倍に設定する方法もある。どちらにしても、試験をしないと余分なリスクを抱え込むことだけは知っておくべきだ。
 実際に動かして確かめる作業は、かなり大変なことが多い。この段階では、より多くの人を参加させて、期間を短縮しなければならない。専門知識のない人でも簡単な手伝いぐらいはできるので、中心メンバーの深い軽減するために最大限の資源を投入すべきだ。ずっと続くことがないように、管理者が終了時期を明示することも大切。
 試験の結果によっては、予定した性能や機能が実現できないこともある。別な解決方法を探るのと並行して、代替技術や基本構造なども検討する。再び難関箇所の洗い出しから始めなければならない。この繰り返しは、設計の見通しが立つまで続く。
 意外に厄介なのは、そこそこの性能といった中途半端な結果だ出たときだ。採用すべきかどうかの判断で、かなり迷うだろう。改良する余地があれば、それを検討して再び試験を実施する。もちろん、並行して代替案を探す。最終的には、幅広く検討した結果をもとに、誰かが決断するしかない。

設計対象の失敗許容度も考慮すべき

 すべての設計には、失敗許容度と新技術挑戦度がある。失敗許容度は、失敗しても許される度合いのことだ。ここでいう失敗とは、まったく使いものにならない重い状態だけでなく、予定した性能に届かないような軽い失敗も含む。絶対に失敗できない設計は許容度が小さく、失敗しても許される設計は大きい。新技術挑戦度は、新しい技術や設計方法をどれだけ取り入れるかの度合いである。それが大きいと予想できない問題が発生しやすく、設計が難しくなりやすい。
 難関箇所の解決のために採用技術や基本構造を決めるとき、失敗許容度を考慮する。失敗許容度が極度に小さいなら、解決方法を徹底的に確認しなければならない。また、少しでも不安な技術や構造は採用しないほうがよい。逆に、失敗許容度が大きいなら、新しい技術や設計方法を試すチャンスである。積極的に採用してノウハウを蓄積したい。ただし、難関箇所を事前に見極めるなど、失敗を防止する作業だけは十分に実施すべきだ。そうすれば、失敗の可能性を限界まで小さくできる。
 もっとも難しい設計は、失敗許容度が非常に小さいにもかかわらず、新技術挑戦度が大きいもの。自社の命運をかけたオンラインシステムを、まったく新しい設計手法や技術で構築するといった場合が該当する。競争相手と大きく差別化するために、新しい技術を採用すると決断することが多い。この種の設計では、難関箇所の解決に十分な検討を加え、念入りに試験する必要がある。当然、優秀な人材や十分な資金を投入しなければ、失敗する可能性は高い。意思決定する人は、そのことを深く理解し、強力なリーダーシップを発揮すべきだ。
 失敗許容度が小さくて新技術挑戦度が大きい設計は失敗の可能性が高いので、本来ならできるだけ避けなければならない。「これは将来使うことになるな」と思った技術や設計方法については、試験開発を事前にするなど、先を見越した準備が大切である。そうしておけば、実際に必要になったとき準備は整っている。なかなか失敗しない人は、普段からそれだけのことをしているのだ。

達成には設計者の高い能力が必要

 言うまでもないことだが、きちんとした見通しを立てるためには、設計する分野の高い技術力が必要となる。それも、細かな技術を深く理解しているだけでは不十分だ。設計対象をシステムとして捉え、全体の構成を上手に仕上げる能力が求められる。「技術に詳しい」ことに加えて、「システム的な設計力」が必要なのだ。後者を身に付けるためには、本人が設計をシステムとして捉えながら、設計を何度か経験しなければならない。ただ経験するのではなく、“システムとして捉える”部分が非常に大切で、本人の視点がものを言う。「システム的な設計力」があれば、個々の技術を最大限に生かせる。その意味から、技術を活用するための栄養剤とも言えるだろう。
 同様に、難関箇所の見付け方も、ある程度の経験で上手になる。重大な点に気付かずに見落としたり、確認の作業に失敗したりするうちに、上手な方法を身に付ける。このような作業では、誰もが身に付けられるような簡単なトレーニング方法が作れないので、今のところ“意識的に”経験するしかない。
 ここで説明した作業手順は、設計する内容が難しいほど効果を発揮する。また、グループで設計する際に有効なだけでなく、一人で設計するときでも非常に役立つ。ある程度の規模のものを設計するときには、試してみて損のない方法だ。

(1997年10月4日)


下の飾り