ソフトウェア開発において、部品化/再利用は永遠の課題とも言える。昨今ではオブジェクト指向やSOAが注目されているが、本格的に普及しているとは言い難い。では、なぜソフトウェアの部品化は進まないのだろうか。今回は部品化/再利用に関する法則を紹介する。
ソフトウェア構築の生産性向上、品質向上のために、ソフトウェアを部品化して再利用することが重要なことは、コンピュータが出現した当初から指摘されてきた。それなのに、現在でもオブジェクト指向だのサービス指向だのと騒いでいる。
なぜソフトウェアの部品化/再利用は進まないのか?
部品箱をごみ箱にするな
工業分野では、部品の標準化は常識である。
例えばボルトの寸法はJISで定められており、「M6」と指定すれば、頭部分の寸法やネジのピッチは周知であり、いちいち指定する必要はない。しかも、それに対応するナットや工具があることが保証されている。標準化が生産性向上やコストダウンに貢献することは明白である。
IT分野でも、昔からサブルーチンや標準パターンなどの標準化が試みられてきた。ところが実際には、公式ライブラリの利用が少ない、統一管理ができない私有ライブラリが数多く存在しているなど、有効に活用されてこなかった。オブジェクト指向やサービス指向では、コンポーネントの部品化と再利用が必須になるが、現実にはライブラリは、体系化されていない再利用不能なコンポーネントのごみ箱になっているのだ。
そのため、ライブラリから適切な部品を探して、その機能やインターフェイスを調べる労力が大変で、独自に新規開発する方が手間が掛からないような状態になる。これでは、部品化/再利用が進まないのは当然である。
「探す」労力が「作る」労力よりも大きければ、部品化は実現されない
教科書では、このような事態を改善するために、標準化推進の担当組織を作れとか、意識変革のキャンペーンをせよと指摘する。それは正しいことではあるが、サブルーチン時代から言われており、実効が得られなかったのである。もっと原因にさかのぼる必要がある。
独自のボルトを設計して製造するよりも、JISの表を探す方が簡単だし、独自の新規仕様部品を用いるために多方面を説得するよりも、既存仕様の部品をうまく利用する方が手間が掛からない。工業製品の部品にはこのような特徴があり、部品化(標準化)が進んだのだ。
それに対して、ソフトウェアの生産技術は、部品化を行うにはあまりにも発展しすぎてしまった。ソフトウェア部品を探すよりも、作る(プログラミングする)労力の方が小さい。しかも、素人でもそれなりに自作することができる。
昔、アセンブラプログラムを紙カードに穿孔してコンピュータの順番を待っていた時代の方が、部品化・再利用が盛んだった(思想的には幼稚であったが)。現在でも、科学技術計算アルゴリズムなど、自分では作成できない分野では、サブルーチンやパッケージが使われている。
このようなことを考慮すると、部品化の対象を再検討する必要があることが分かる。
複雑な部品は使えない
「作る労力が大きな対象を部品化対象にすべきだ」とするならば、部品の粒度を大きくすることが考えられる。プログラムの一部を部品化するのではなく、業務システム全体を対象にするならば「作る」労力は大きくなる。
実際に、ITでの部品化では、サブルーチンからオブジェクト指向へと部品の粒度を大きくしてきた。その究極がERPパッケージである。
しかし、粒度が大きくなると、仕様を指定するための複雑性が非常に増大する。ERPパッケージをユーザーニーズに合わせるためには、膨大なカスタマイズ(仕様指定)が必要になり、独自仕様で構築するよりも大きくなることすらある(業務をパッケージに合わせよという議論はここでの対象外である)。
さすがに、これは極端だというので、粒度を「サービス」のレベルまで小さくしようという動向になってきた。ところが、最も共通化されているはずの財務会計ですら、A社のアプリケーション部品で償却計算を行い、B社の部品で在庫評価を計算して、C社の部品で財務諸表を作成するというような部品化にはなっていない。
私見であるが、この部品化が円滑にできない理由はデータにあると思う。
単一データの処理仕様は単純であっても、対象となるデータが大量で、しかもその記録方法が多様なことが、サービスの分割を妨げているのではなかろうか。部品化技術として、これまでにハードウェアやプログラミング言語からの独立は達成されつつあるが、データベースからの独立は、これからの問題であろう。
▼著者名 木暮 仁(こぐれ ひとし)
東京生まれ。東京工業大学卒業。コスモ石油、コスモコンピュータセンター、東京経営短期大学教授を経て、現在フリー。情報関連資格は技術士(情報工学)、中小企業診断士、ITコーディネータ、システム監査など。経営と情報の関係につき、経営側・提供側・利用側からタテマエとホンネの双方からの検討に興味を持ち、執筆、講演、大学非常勤講師などをしている。著書は「教科書 情報と社会」(日科技連出版社)、「もうかる情報化、会社をつぶす情報化」(リックテレコム)など多数。http://www.kogures.com/hitoshi/にて、大学での授業テキストや講演の内容などを公開している
Copyright © ITmedia, Inc. All Rights Reserved.