川村渇真の「知性の泉」

変更への柔軟性を高める


変更が容易だと設計物の寿命が延びる

 設計で考慮する点の1つに、変更への柔軟性がある。後で機能を変更する作業ができるだけ簡単になるように、最初から設計しておくことだ。
 どの程度の柔軟性が必要かは、設計の対象によって異なる。一般的には、何度も試作できるなら、変更への柔軟性を重視する必要はない。逆に、試作が困難なため、一発勝負で作るような設計では、簡単に変更できる構造で作っておかないと、後の作業が大変になる。代表的なものに、ビジネス用のソフトウェア・システムがある。何度も設計し直すことができないため、最初にきちんと分析して仕様を作り、一発勝負で設計および製造する。その後で実際に使い、不満な点を手直しするわけだ。もし機能の変更が簡単なら、希望するシステムへと改良できる。一発勝負であるにもかかわらず、作ってみないと善し悪しが判断できないので、高い柔軟性が求められる。
 変更への柔軟性が必要かどうかは、設計後の変更の多さにも大きく関係する。機能をときどき改良して使い続けるなら、変更の手間を軽減する価値は大きい。この代表例も、ビジネス用のソフトウェア・システムだ。経営戦略や組織の変化に追従して、システムを変更しなければならない。もしシステムを簡単に変更できなければ、システムが事業の足を引っ張る結果となる。このようなことは、現実の社会で意外に多く起きている。
 変更が容易だと、要求される機能を持つように改良して、より長く使い続けられる。つまり、設計物の寿命が延びることに等しい。同時に、少ない費用で望みの機能を実現するため、長い目で見た場合のコストが低くなる。

柔軟性には2つのレベルがある

 変更への柔軟性を高める方法には、大きく分けて2つのレベルがある。最初のレベルでは、変更での設計作業が容易になるように作る。前の設計物の一部を変更する形で設計し直し、設計物自体を新型と入れ替える。多くのソフトウェアのシステムでは、この方法が採用されている。ハードウェアでよく使われるのは、新しい部品との入れ替えを容易にする方法だ。CPU部分をドーターカードやソケット方式にすれば、新型CPUと入れ替えやすくできる。
 柔軟性がより高いレベルになると、変更する機能をシステム自体に組み込む。前者よりも一歩進んだ実現方法だ。代表的な例として、フラッシュメモリを搭載したモデムが挙げられる。フラッシュメモリ内のプログラムを入れ替えることにより、新設計の機器と交換しなくても、新しいプロトコルへ対応できる。モデムの場合は、入れ替えるプログラムを開発する必要があるため、変更への対応度はそれほど高くない。レベルのより高い例として、データベースの一覧表示機能を考えてみよう。通常は、用意された一覧表の中から選んで表示する。しかし、柔軟性を高めたシステムでは、希望する項目をユーザー自身がその場で選び、項目の自由な組み合わせで一覧表を表示できる。また、抽出条件や途中集計も好みで加えられる。このような機能を持つと、新しい一覧表を追加する必要がない。
 どの程度まで柔軟性を高めるかは、コストと効果を比較して決める。新たに設計し直すコストが大きいほど、高い柔軟性を確保すべきである。また、柔軟性を高めたことにより製品の競争力が高まる(つまり効果が大きい)なら、やる価値は大いにある。これらの点を全体的に考慮して、実現すべき柔軟性の度合いを決定する。

最初から考慮して設計しないと柔軟性を高められない

 変更への柔軟性を高めるには、最初から意識して設計する必要がある。ほとんどの場合、設計物の基本的な構造に大きく関係するため、後から柔軟性を高めようと思っても難しい。どのような構造や仕組みだったら柔軟性を高められるのか、設計の初期段階から検討して、設計内容に反映することが大切だ。
 変更への柔軟性では、どこを高めるかを検討する必要がある。限られた期間やコストで設計するので、すべての面で柔軟性を高めることは不可能だ。そうなると、より重要な部分でのみ変更に強くするしかない。これが設計を難しくする。どの部分が重要かを見極めるためには、対象物の将来の変化について適切な予測が求められる。それが無理だと、有効な柔軟性を持たせられない。
 柔軟性の高い設計は、製品やシステムばかりに適用するわけではない。DTPソフトやワープロで作成する書類でも、十分に役立てられる。効果が特に大きいのは、DTPソフトで作成するページ数の多い書類だ。図を囲む枠線の色を一発で変えるとか、キャプションのテキストだけ書体を変更するといった作業も、上手に作成しておけば簡単に済ませられる。柔軟性を高めるための基本ルールを知ることで、いろいろな分野への応用も可能だ。そのルールとは、間接的な参照、依存度が低い形での機能分けなどである。それに関しては、続くページで解説する。

(1997年11月14日)


下の飾り