‘本’ カテゴリーのアーカイブ

システム内製とクリストファー・アレグザンダー

2011年10月16日 日曜日

先週、ルールエンジンとシステム内製のブログをアップしましたが、「システム内製」 という言葉で私が思い浮かべたのが、建築家のクリストファー・アレグザンダーでした。

 クリストファー・アレグザンダーと言えば、ご存知の方も多いかと思いますが、GoFデザインパターンの発想の源であるパターンランゲージを着想し創りあげた建築家。そのアレグザンダーとシステム内製がどのようにつながるのか訝る方もおられるかと思いますが、実はアレグザンダーは有名な「時を超えた建設の道」「パターン・ランゲージ」以後にも(私が思うに)重要な著作を発表しているのですね。それらの著作「オレゴン大学の実験」「まちづくりの新しい理論」は、実はシステム開発の上でも非常に示唆的な考え方を含んでいるのではないかと思っているわけです。

 特に「オレゴン大学の実験」は、比較的入りやすいかなあと思いますが、残念ながら今のところ手に入りづらいようなので、そのまま本の目次にもなっている6つの原理を序文から引用しておきましょう。
 アレグザンダーらは、コミュニティでの建設と計画の方法を、以下の次の6つの原理にしたがって遂行することで人々が満足する環境を築けるとしています。

 (以下引用)
 一、有機的秩序の原理 The principle of organic order
 二、参加の原理 The principle of participation
 三、漸進的成長の原理 The principle of piecemeal growth
 四、パターンの原理 The principle of patterns
 五、診断の原理 The principle of diagnosis
 六、調整の原理 The principle of coodination
(「オレゴン大学の実験」鹿島出版会 p14 から引用)

これだけですと、少々わかりにくいので、一、二、だけでも、さらに説明付で引用すると、

 (以下引用)

 一、有機的秩序の原理
  計画や施工は、全体を個別的な行為から徐々に生み出してゆくようなプロセスによって導かれること。

 二、参加の原理
  建設内容や建設方法に関するすべての決定は利用者の手に委ねること。

(「オレゴン大学の実験」鹿島出版会 p15 から引用)

となっています。(ちなみにパターンの原理のパターンは、パターンランゲージのパターンです)

 さて、この6つの原理を眺めてみると、なんとなく私が「システム開発の上で示唆的」であると言っていることがわかるような気がしません? 今回、「システム内製」と関連して思い浮かべたのが、二、の「参加の原理」。「システム内製」すなわち「ユーザー主体開発」そのものという気がしませんか? また、一、の有機的秩序の原理などは、EA(エンタープライズアーキテクチャ)を、前もってきちんと定めて個々の開発をその枠内で進めていく…という行き方と真逆のことを言っているようでちょっと面白かったりします。

 もちろん、都市計画や建築の手法がそのままシステム開発に応用できるとは、万事楽観的な私といえども思ってはいませんが、新たな視点を得るという意味ではなかなか示唆に富むものではないでしょうか。

 システム業界では、クリストファー・アレグザンダーと言えばデザインパターンですが、実はデザインパターン以外にも汲み取るべき考え方はまだまだあるのではないかと思っています。

 アレグザンダー恐るべし!









ルールエンジンとシステム内製

2011年10月10日 月曜日

 先週紹介した日経コンピュータの記事には、クラウドとルールエンジンの組み合わせを使った開発でのメリットとして8つあげられていました。このうちの8番目「内製しやすい」というのが今日のテーマ。
 確かにビジネスロジックをルールエンジンを用いて実装すると、ロジックのシステム的な制御部分を隠蔽し、本質的な部分を浮き彫りにさせる効果があります。今回あがっている保険商品の整合性チェックとか保険料の試算などは、ロジック自身はそれほど複雑でないので、ビジネスロジックをたとえば表形式(デシジョンテーブル)でまとめれば、それがほぼそのまま実際に動きます。DroolsではDSL(ドメイン記述言語)もあるので、DSLをうまく設計すれば「日本語で仕様を書けばそれがそのまま動く」といった世界を実現することも夢ではないかもしれません。たとえば

 保険料は、基本料率 * ○○割増 * 保険金額である。
  ただし
 …の場合は○○割増は1.03
 …の場合は○○割増は1.05

とかいったような。こんな感じで書いた仕様がそのまま動くとなると、業務に携わる人が直接プログラムを保守するということも現実解として十分考えられるようになってきそうです。

 今のところ日本ではBRMS(ビジネスルール管理システム)を使って、現場で業務に携わる人が直接ルールを直すという事例はまだ聞いたことはありません。ただ、ごく一般的な日本の事務現場のExcelシート、マクロの開発力(!!)などを考えると、BRMSでの現場での修正開発も案外いけるのかもしれないなあと思っている今日この頃。
 というわけで、最近「システム内製を極める」という本を読みました。基本的に日経コンピュータの記事を集めた内容なので比較的さらっと読めるのですが、最後「おわりに」には、システム開発にたずさわるものとしては考えさせられることが書いてあります。それはまた次の機会に。



Decision Model

2010年2月8日 月曜日

先日、アマゾンに昨年春くらいに予約したまま、ほとんど忘れかけていた本が届きました。Barbara von Halle と Larry Goldberg の「The Decision Model」 という本。データにデータモデル(リレーショナルモデル)があるように、ビジネスのデシジョン(~ビジネスロジック・ビジネスルール)にもデシジョンモデルがあるべきであるとし、そのデシジョンモデルがどのようなものであるか、どうあるべきか具体的なモデルの記法なども含め説明しています。
データは、リレーショナルモデルという理論的に整備されたモデルがあることによりデータの独立性を確立したとし、そのアナロジーから、ビジネスロジックについても、その理論的な背景を明らかにした技術に依存しないモデルを確立して、ビジネスロジックの独立性を確かにしていこうという趣旨のようです。
まだきちんと読んだというわけではないのですが、このデシジョンモデルは、リレーショナルモデルと同様、正規形があったり、動機だけでなく、その構造や手続きについてもリレーショナルモデルと類似の面がある様子。もっとも、ロジックの冗長性をなくし、原子性(atomic)を求めようとすると必然、正規化のような手続きが出てくるのでしょう。
また、後ろのほうの章では、EAのZachmanや、EDMのJames Taylorなどが書いているところもあったり・・・。

これからぼちぼち読んでいくつもり。



BPM本

2010年1月25日 月曜日

ずいぶんと間があいてしまいましたが、今日は、ちょっと前に読んだBPM、SOAに関する概説書が思いのほかおもしろかったのでその紹介。

その書「BPMがビジネスを変える」は、日本語で読めるようなBPMの本はないかと探していたときに(→実は思ったよりも少ない)、BPMNなどの本と一緒に手に入れた本です。まあ軽く読めそうですし、たまには概説書を読むのも悪くはないか・・・と、あまり期待はせず(失礼!)読み始めたところ、これが意外にもおもしろく読めました。

概説書というと、大抵その言葉の解説+背景の説明ちょっとくらいで、ひととおりさっと読んでおしまいというのが多いのですが、この本はBPMの単なる概説書というよりも、(BPMを中心においてはいますが)BPMに限らない企業のIT化に関しての鳥瞰図を与える書と言った方が適切でしょう。企業のIT化というと、SOA、SCM、CRM、ERP・・・といったIT系バズワードが浮かび、この本もご多分にもれずそういった単語がそこかしこに見られます(→ちなみに若干前の出版なので「クラウド」という言葉は出てきません)。が、この本ではそういったバズワードが単なるバズワードではなくIT化の視点から適切に位置づけられて説明されているのでバズワードに食傷気味の方もいちいち納得させられるかもしれません。

普段、実装をメインにやっておられるエンジニアの方も、業務を中心に見るビジネスアナリストの方も、企業のIT化を考えるベースとして本書を読むと結構おもしろく読めるのではないでしょうか。

(ちなみにアマゾンをみてみると、今ユーズドしか手に入らないようです・・・残念)



Drools本

2009年5月26日 火曜日

遅ればせながら、先週amazonから「JBoss Drools Business Rules」を取り寄せました。Droolsに関する成書としては、ほとんど最初のものでしょう(実は、2年ほど前に「Pro Drools」という本がでたのですが、手に入れようと思っている間に在庫切れになっていました。実物を見たことがないのでなんとも言えないのですが、そのころですからおそらくDroolsのバージョンも古いバージョンではないかと・・・)

内容はまだパラパラと見たくらいですが、技術的に深く突っ込んだ本というよりも、どちらかというとDroolsの使い方の解説や機能の紹介といった内容のようです。技術的に深い話を求めるのであれば、今であればやはりDroolsのドキュメント類に直接あたるか、近々発行される予定のDeveloper’s Guideなどを参照するのでしょう。

ともあれ、まだまだ数少ないDroolsの成書。傍らにおいてDrools5でも試してみようか。