世界はらせん的に進化するオブジェクト指向の世界(26)(1/2 ページ)

開発プロセスは時代と共に“進化”している。しかし、それは直線的にではなく、らせん形に揺れながら変わっているのだ。

» 2009年01月30日 12時00分 公開
[河合昭男,オブジェクトデザイン研究所]

 前回の『オブジェクト指向を考える──普遍の知識』では、オブジェクト指向とは何かについてあらためて考えてみました。最も重要なのは

  • 1.クラスの概念

クラスをテンプレートとし、そこから同じ特性を併せ持つインスタンスを生成できる。

  • 2.クラスは責務を持つ

責務を持ったオブジェクトがメッセージを通じて協調し合い、より大きな責務を果たす。

 さらにそこから自然に導かれる2つの仕組みが

  • 3.分類の仕組み
  • 4.分解の仕組み

です。この4点が、オブジェクト指向という考え方の基本です。

 ものの本質とは何か、それはどこに存在するかという議論があれば、ものには存在目的や理由があるという別の視点からの議論もある。2000年以上前にギリシャのアカデメイアで議論されていたプラトンのイデア論とアリストテレスの4原因説の思想が、形を変えて現代のソフトウェア技術であるオブジェクト指向にも知らずに引き継がれている。オブジェクト指向は普遍な知識の大きな潮流の中にある。


 2008年10月に東京で開催されたRSDC 2008に参加してあのIBMが――といってもRSDCはIBM Rationalという1事業部の主催なのですが――、アジャイル開発を前面に打ち出している点に時代の流れを感じました。またその中でも「プロセスからプラクティスへ」というセッションを聞き、これはパターン言語だと自分なりに理解しました。そこで今回は、「RUPとアジャイル開発は互いに刺激し合いながらどのように進化してゆくのか?」という問題をアレグザンダーのパターン言語の視点から考えて見たいと思います。

世界はらせん的に進化する

 世のはやり廃りは目まぐるしいものがあります。何かがはやるかと思えばすぐに時代遅れになってしまいます。最先端を追っかけているつもりがそれは意外とどこかで昔見たようなものであることがあります。いつしか昔懐かしいレトロが流行になることもあります。

 「世界はらせん的に進化する」とは、田坂広志=著『使える弁証法――ヘーゲルが分かればIT社会の未来が見える』(東洋経済新報社)の中でヘーゲルの弁証法を端的に表現した言葉です。

 世界は振り子のように右に行ったり左に行ったりしますが、行き過ぎると必ず反動が起こります。そのとき昔返りで元に戻ってしまうようでも何か一段進化しているものがあります。振り子は左右に(そして前後に)振れながら上昇して行く、それがらせん的進化です。

アレグザンダーの街づくりの理論

 本連載ではアレグザンダーについて、たびたび触れていますが、以下の議論の準備として、ソフトウェア開発の世界に大きな影響を与えたアレグザンダーの3部作について簡単に整理しておきます。

  • [1] 『時を超えた建設の道』 鹿島出版会/1993年(原著は1979年)
  • [2] 『オレゴン大学の実験』 鹿島出版会/1977年(原著は1975年)
  • [3] 『パタン・ランゲージ 町・建物・施工──環境設計の手引』 鹿島出版会/1984年(原著は1977年)
ALT 図1 アレグザンダーの3部作

 [1]は人に感動を与える街とはどのようなものか、そこにはどのような質が備わっているのか、それはどのようにしたらできるのだろうか、というアレグザンダーの基本思想を表した理論書の第1冊です。その質は名前の付けられない「無名の質=Quality Without A Name(QWAN)」です。この「無名の質」はアレグザンダーの価値観の根底にあるものです。

 [2]はオレゴン大学でこの理論を実践した記録です。ここでは「無名の質」を実践するための次の6つの基本原則を挙げています。

  1. 有機的秩序 − organic order
  2. 参加 − participation
  3. 漸進的成長 − piecemeal growth
  4. パターン − patterns
  5. 診断 − diagnosis
  6. 調整 − coodination

 興味深い点はソフトウェア開発プロセスとの類似点です。ソフトウェア開発を成功させるために大切なユーザー参加(2)と成長型プロセス(3)が基本原則に挙げられていますが、この2つはRUPやアジャイル開発のベースにもなっています。

 誰のために街づくりを行うかといえば、そこで生活する住人のためです。住人にとって街には無名の質、具体的には7つの特性が備わっていなければなりません。

 誰のためにシステム開発を行うのかといえば、当然顧客のためであり、顧客のビジネスの現場の担当者や管理者、経営者のためです。無名の質は機能要求や非機能要求の上位あるいは裏にあって普段議論の対象外になっていますが、その質についてもアレグザンダー流の考慮が必要ではないでしょうか。その質を生み出す方法として、この6つの基本原則は一考の余地は十分あります。

 [3]は基本原則に従って「無名の質」を作りだすためのプラクティスを、アレグザンダーの提唱するパターン言語という形式で具体的に253パターンを列挙したものです。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ