江渡浩一郎さんによる「なぜそんなにもWikiは重要なのか」と題された論文から始まる、Wikiの本質を探る一連の考察があります。
その中で江渡さんは「WikiとXPとはパターンランゲージの実践という同じ概念から生まれた兄弟である」と主張しています。
これを読むと、アジャイル開発者にとってWikiは単なるWebページを簡単に作成できる情報共有システム以上の意味を持つことがわかります。アジャイル開発に興味を持つすべての方に読んでもらいたい論文です。
アジャイル開発者必読!
今から読むなら「Wikiの起源と進化」をお勧めします。さらに、雑誌『10+1 No.48』(注a)に掲載されている江渡さんへのインタビュー「Wiki的都市は構想可能か?」は論文の内容を踏まえたものとなっており、パターンランゲージの今後についてさらに踏み込んだ内容になっていて興味深いです。
アジャイル開発(というかXP)とWiki
アジャイル開発(特にXP)に関する知識がある方がWikiを使ってみると、XPの考え方やプラクティスをWikiに応用できることに気づくと思います。
たとえば、最もよい情報の書き手となるのは、その情報を読みたい当事者であること(ユーザ参加型の設計)、ページを誰でも編集できること(コードの共同所有)、小さく始めて大きく育てていく過程でサイトの構造が立ち現れること(進化的設計)、よいWikiページの名前が重要であること(意図を表現するコード)……。
WikiとXPとが「兄弟」ならば、似ているのも当然ですが、みなさんにはなぜWikiとXPが似ているのかを考えてもらいたいです。
パターンランゲージとその目的
江渡さんの考察によれば、WikiとXPはいずれもChristopher Alexanderの「パターンランゲージ」をソフトウェア開発の世界に持ち込むために生まれたものです。その中心的役割を果したのが、オリジナルのWikiWikiWeb(注b)の開発者であるWard Cunninghamと、Kent Beckです。
彼らによるソフトウェア開発におけるパターンランゲージ導入の目的は「ユーザがソフトウェア設計に参加できるようにすること」「ユーザと開発者との共通言語の構築」そして「新しい社会構造をつくること」です。
昨秋Kent Beckが来日した際に「アジャイル開発のプラクティスは開発者のパターンランゲージでは?」と私が尋ねたところ、氏は「もちろんそうだ」と答えてくれました。
パターンランゲージはまだ失敗していない
『10+1』のインタビューによれば、Alexanderによるオリジナルのパターンランゲージは、建築業界では「失敗した」ことになっているそうです。江渡さんはこれに対して「実はまだ失敗してないのでは?」と語っています。
私はXPについても同様だと考えています。XPを始めとするアジャイル開発の考え方そのものに成功/失敗といった評価を下すのはまだ早過ぎます。
Wikiが育つところはアジャイルになれる
WikiとXPが本質的に同じものならば、Wikiをうまく育てられるチームや組織はアジャイル開発もうまくやれるのではないでしょうか。みなさんの職場でも、アジャイル開発を導入する前に、まずはWikiから始めてみるのはいかがでしょう(私もこの仮説を検証中です)。
そして、日々の開発作業でWikiに触れる際には、Wikiがアジャイル開発と源流が同じであることを意識してみてください。Wikiには単なる簡易Webページ作成ツール以上の可能性があることに気づけると思います。