自己組織化するアプリケーション(第2部)(12)

  • 投稿日:
  • by

導入(3)−「ルール」の理解とは

ルールを理解してからそれをプログラムと言う具体的な形に落とすまでには、ずいぶん間があるのですが、まずはルールの理解、千里の道も一歩からです。

今までの話しから引用して整理します。

ビジネスの中で一番重要な概念が「取引」と言う概念です。具体的に言えば取引先の企業あるいは消費者を相手の、お金、商品、情報の流れが「取引」と言う概念です。これに社内取引と言う概念を導入すれば、ビジネスと言う現場の問題領域は社内、社外を問わずすべて、「取引」と言う時間・モノ・お金・情報を次元パラメタとする4次元多様体問題と捉えることが可能になります。
この違いはどこから来ているかというと、「支払方法」と言う概念から来ているのですが、この「支払方法」と言う概念は、「委託販売」や「消化仕入」と言った概念と同じように、取引先との契約内容、やさしく言えば約束、ルールなのです。

このルールとはすなわち、情報と機能と言う関係性で説明すれば「機能」以外何者でもありません。
具体的な事例で検討した通り、アプリケーションとは、ルールと言う機能を具体的なプログラムの形に定式化したものとみなします。

このルールが変わるたびにアプリケーションを作り直していては大変ですから、通常は、事前に想定されるルールを網羅することで、多少の変化に耐えるアプリケーションが出来上がります。
アプリケーションプログラムで実現される機能は、現場の担当者の頭の中にあって、今後想定される「ルール」の範囲の中にあります。当然の話しですが、想定されない「ルール」が実現されることはありません。

これらをまとめると、「ルール」とは、「取引」の形態であり、分類可能な一つ一つの「取引」のパターンであると言うことです。

このパターンはどのように表現されるかと言うと、

■こういう場合は〜〜〜
■こういう場合は〜〜〜
■こういう場合は〜〜〜

と言うふうに場合分けされ、それぞれの場合のお金と商品と情報の流れの順序関係、前後関係が規定されると言うのが、ずっと昔から今に至るまで一般的に行われてきた方法です。いわゆる外部仕様書です。

しかし、これでは「ルール」を理解したことになりません。なぜなら多くの外部仕様書には、用語の定義はあっても、それら定義の意味も記述されていなければ、規定されたお金と商品と情報の流れの順序関係が持つ意味も記述されていないからです。

用語の意味やなぜそういう流れになるかの説明は、現場の担当者からすれば、説明不要の当たり前のこと、いわば「暗黙知」であると言うことです。

「ルール」を理解するとは、この暗黙知であるルールの「意味」を理解すると言うことです。

この意味を理解しないまま作られたシステムには、平気で「マイナス現金」と言う仕訳を許す経理アプリケーションがあったり、「マイナス在庫」なる在庫が存在する在庫管理システムが存在することになるのです。

私たち人間はマイナス現金などと言う虚空間で生活することはできません。私たちが生活する実空間では、マイナス現金のことを借金と呼びます。ところがアプリケーションの設計者は、現金の残高以上の支払いがあってもエラーにせず現金をマイナス勘定にしてしまうのです。それを高いお金を払って監査などと称してチェックするなど、本末転倒以外何者でもありません。

エンロンの事件などもつきつめれば、このルールの意味を無視ないし無理解によるものと言ってもあながち間違った指摘とは思いません。

話を本題に戻すと、ルールを理解するとは、ルールの意味を理解することであるわけですが、ではルールの意味とはなんなのか。以下次回です。 KAI