『老子』の「数車無車」(車を数えて車なし)についての考察の続き.
初めの「数車」(車を数える,すなわちその構成部品に分解する)における「車」は具体的な対象を示す名詞である.老子の時代であれば,そこにある馬車,牛舎,あるいは大八車を指している.しかし,それに続くコトバ「無車」(車無し)における「車」はそうした具象名詞ではない.では,現実に存在するさまざまな車(現代では,乗用車やレーシングカー,あるいは鉄道の列車などを含む)を総称した集合名詞なのかといえば,そうでもない.抽象概念としての「クルマ」,いわば「メタ・クルマ」を意味しているのであった.
野口武彦が,中公新書の『荻生徂徠 − 江戸のドンキホーテ』のなかで,この論議を,落語の『居酒屋』を例に挙げて解説している.その噺での会話は次の通り:
客に肴の注文を訊かれた小僧の口上は「えー,できますものは,焼き鳥,竹輪,がんもどき,葱みそ,冷奴,…のようなものでございます」.「そうか、それじゃ,その『ようなもの』って奴を一人前貰おうか」,
そこで小僧は絶句するのだが,「数車無車」の論理は,この「のようなもの」の世界だと野口はいう.まさしくその通りであろう.
わたしが尊敬する(というか,不真面目な物理学科の学生だった頃に唯一通読した専門書の著者)故デヴィッド・ボームは,晩年の著作 “Wholeness and Implicate Order”(邦訳は『全体性と内蔵秩序』,青土社)のなかで,研究対象を構成要素に分解(断片化)する自然科学の伝統的アプローチは,たしかにある程度の有効性を備えているが,対象の全体を把握・理解するという面では不完全だと指摘している.そこには「数車無車」メタファの現代版ともいうべきニュアンスが感じられる.
ソフトウェア工学の世界で,これまでに提案されてきた各種のプロセス・モデルは,いずれも,伝統的自然科学のパラダイムにしたがって,対象としてのプロセスを、その構成要素であるいくつかのプロセス・ステップに分解し,それをさらに細かなアクティヴィティに分解するというかたちになっている.こうして断片化された各要素について,それらがどのように反復されているのか,そこでの改善の余地はないのかといった分析が,いわゆる SPI活動の骨子である.
M.M.Lehaman のソフトウェア進化論によればマルチ・レベル,マルチ・エージェント,マルチ・ループのフィードバック・システムであるソフトウェア開発・進化プロセスの持つダイナミックな特性は,しかし,プロセスの構造に対するそのような静的な断片化のアプローチでは把握することが難しい.「プロセスを数えてプロセス無し」といった状況に陥ってしまう.
ソフトウェア・プロセスを考える(その改善や革新を意図してモデル化を図る, etc)さいの問題点は,そうした思考それ自体がプロセスの一構成要素として組み込まれてしまっているということである.プロセスがマルチ・エージェントのシステムであるという Lehman先生による指摘のポイントはそのあたりにある.
ソフトウェア開発の実務を遂行するプログラマだけではなく,プロジェクトを運営するマネージャも,そのソフトウェアを運用し利用するユーザも,また,」プロセスを分析し改善・改革をはかるSEPGや研究者たちも,すべて開発・進化プロセスを構成する一要素となのである.エドガー・アラン・ポーの有名な小説『メールシュトローム(大渦巻き)』のように,だれもがソフトウェア進化プロセスの渦の中に巻き込まれており,それを神の視点から見たモデルなどは決して構築できないのだという事実をあらためて認識する必要があるだろう.
したがって,ソフトウェア・プロセスの革新を考えるさいには,プロセスを外側から眺めてサブプロセスに分解し,そのあるべき姿 (Should-Be Process) をイメージずるのではなく,プロセスの内側からその全体像 (As-Is Process) を正確に把握するという態度が大切なのである.そうすることによって,特定のプロジェクトにおける特定の(ウォータフォールだったり,アジャイルだったりする)プロセスではなく,「のようなもの」としてのソフトウェア・プロセス概念の本質を見抜くことができるようになるに違いない.