XP (エクストリーム プログラミング)


スラップスティック アジャイル プロセス導入記

第一章: 新しいアイデアを組織に導入するためのパターン
(Fear Less And Other Patterns for Introducing New Ideas into Organizations)

新しいアイデアを組織に導入するためのパターン


ここでは、新しいアイデアを組織に導入するためのパターン (The Fear Less And Other Patterns for Introducing New Ideas into Organizations Project) に関する情報をご紹介します。


はじめに

社内でソフトウェア開発の方法を少しでも改善するべく色々と試してきた。 オブジェクト指向関連の様々な方法を取り入れようと考えたり、XP (エクストリーム・プログラミング) の導入を考えたり。


ところがどうもうまく進まない。


オブジェクト指向について皆で学んでみる。XP について勉強会をやる。

「オブジェクト指向、いいじゃないか」
「XP って中々良い事言ってるようじゃないか」

という声が聞かれる。

でもそこまでで止まってしまう。


新しいアイデアは、「考えとしては良いんじゃないか」という賛同が得られても、中々組織としての実践に結びついて行きにくいようなのである。


もっと以前に、別の試みをしたことがある。


うちでは、Microsoft Exchange Server で掲示板や会議室が準備されている。 これは、社内の face-to-face のコミュニケーションを補う形のオンラインのコミュニケーションの場として、また、情報共有と情報集積の場として準備されているものである。


そこに、私が以前ソフトウェア開発に関する情報の交換と蓄積をやろうとして作った FAQ が有る。

各部署・各人の中に蓄積されている筈のノウハウを表に出したい、という意図であった。 各人の頭の中にしかない沢山のノウハウ。 その人が辞めたらそれでおしまい、みたいなそのノウハウを共有したいと考えた。


いずれは「SECIモデル」(*1) でいう、組織の中で暗黙知を形式知にするスパイラル、あれをやりたいと考えていた。 これは、今でも組織にとってすごく重要な部分だと考えている。


しかし、それをその掲示板や会議室でやろうとしたがうまく行かない。 試しに作った FAQ も、多分殆ど誰も活用していない。

私の作った FAQ だけでなく、他の人の作ったものも多分同様だと思う。

最近は、Wiki とか blog をインストールして同じようなことを考えているが、そうしてインフラを替えても多分同じである。


どうも所謂(いわゆる)「合意形成プロセス」の部分がネックになっているようなのである。 組織として取り組もう、という合意が形成されない。


組織では色々な人が仕事をしている。 保守的な人も革新的な人もいる。 忙し過ぎる人も沢山いる。

考え方も価値観も様々である。

多分簡単ではない。問題点を沢山抱えていて、しかも刻一刻とそれが変化している。今後新しい考え方を導入していくことはどうしたって必要なことである。だが、それを強く主張するだけで新しい考え方が導入されていくとは限らない。


例えば、

「XP を導入しようじゃないか」
「これからはうちもオブジェクト指向で開発をしよう」

と号令を掛けても、簡単には進んで行かないことがある。


必死に試行錯誤しつつやってみる。でも何かうまく行かない。 成果に結び付かない。


つまり、闇雲に試みるだけでは無理が有って、そこには多分様々な工夫の実践が必要なのであろう。

例えば、単に熱心な推進者が居るだけでは駄目で、もしかしたらキーパーソンの一言が必要なのかも知れない。


NHK に『プロジェクトX 〜挑戦者たち〜』という人気番組が有るが、その『プロジェクトX』風に合意形成プロセスの一例を表してみると、こんな感じであろうか。



(♪ テーマ音楽)
…室井は考えていた。
「この()り方の(まま)じゃ駄目だ。きっと失敗する」
室井は焦っていた。
周りの者も室井の気持ちを痛いほど感じていた。

次の会議で室井は熱弁を振るった。
しかし、現状は室井が考えた以上に厳しかった。

反対意見が体勢を占めた。

それでも室井はとにかく必死だった。
「これでやるしかないんだ」

みんなは黙り込んだ。
その場は重い雰囲気に包まれた。

突然口を開いたのは意外な人物だった。
暫く目を閉じて黙り込んでいた鷲塚部長だった。

そのとき空気が変わるのを室井は感じた…
(♪ 音楽 - クレッシェンド)


キーパーソンを巻き込む以外にも色々な工夫が考えられるだろう。 草の根的に広めてみたり、管理者を説得したり、何かイベントをやったり。


そして、大切なことは個々のそうした工夫が単発で終わってしまうのではなく、相互に結びついて、全体として強い効果を発揮していくことであろう。


先日『Developers Summit 2004』というイベントに参加したとき、羽生田 栄一 氏が「合意形成プロセス」に対する回答として、「パターン ランゲージ」と「ファシリテータ」の二つをあげられていた。

確かにその通りだと思った。

それから、同じく『Developers Summit 2004』に来ていたトム・デマルコ氏の言うところの「ゆとり」も一つの回答に当たると思う。

『オブジェクト指向2003シンポジウム』における羽生田 さんたちの『要求獲得と合意形成のためのパターンランゲージ入門』(*2) にも合意形成に「パターン ランゲージ」が有効であるとある。組織の中での合意形成にも有効であると考えられる。


この記事では、ひとまず「パターン ランゲージ」の分野の方で考えて行きたいと思う。

この記事でご紹介する『新しいアイデアを組織に導入するためのパターン』は、「パターン ランゲージ」を導入するための「パターン ランゲージ」に当たる。 「パターン ランゲージ」導入のきっかけとしてとても有用ではないかと思う。

『新しいアイデアを組織に導入するためのパターン』には多くの成功のパターンが集められている。そしてそれらが全体として結びついたときに強い問題解決力を持つようになっているのである。


先ずは、ここから挑戦して行こうと考えている。


【補足】 パターン ランゲージとは ○ 解説:
パターンランゲージの発案者であるアレグザンダーは、建築で、都市や学校、家等を作る際に、繰り返し起こる問題とそれらの問題に対する良い解決が存在することに気付いた。そして、それを文書として記述する形式を作ったのである。それが、パターンである。
つまりパターンは、或る問題に対する一つの解を示すフォーマットである。

パターンは、例えば次のようなフォーマットで記述されている。


パターンは、問題に対する的確な解の一つとして有効であるが。また、効率的で且つ濃いコミュニケーションの手段としても有効である。

ソフトウェア開発が失敗する原因の中で最も重要なものとしてあげられることが多いのが、コミュニケーション エラーである。
つまり、顧客と開発者、或るいは開発者同士の意思疎通が不十分な為にうまく行かないことがとても多い。

XP のプラクティスの一つに「メタファ (Metaphor)」とか「共通の用語 (Common vocabulary)」と呼ばれているものがある。メタファ (隠喩) を使うことでチーム内の理解を共通化してスムーズなコミュニケーションを図るものである。
パターンは、この「メタファ (Metaphor)」や「共通の用語 (Common vocabulary)」として機能する。
パターンを使うことで、シンプルで的確な表現を共有することが出来る。


『新しいアイデアを組織に導入するためのパターン』の作者

新しいアイデアを組織に導入するためのパターン (The Fear Less And Other Patterns for Introducing New Ideas into Organizations Project) は、マリリン・マンズ (Mary Lynn Manns) 氏とリンダ・ライジング (Linda Rising) 氏によって書かれた。


両氏の Web サイトで、彼女達の写真を見ることが出来る。


両氏ともパターン コミュニティで活躍されている。 マリリン・マンズ (Mary Lynn Manns) 氏は、教育パターン プロジェクト (The Pedagogical Patterns Project: PPP) の参加者でもある。

教育パターン プロジェクト (The Pedagogical Patterns Project: PPP) (オリジナル) (*4)
教育パターン (日本語)


関連書籍

このパターンに関する書籍は以下の通り。

Introducing Patterns into Organizations (洋書)
出版社 Addison-Wesley
著者 Linda Rising、Mary Lynn Manns
サイズ ペーパーバック
頁数 256
本体価格 (税別) $39.99
ISBN 0-201-74157-1
発行日 2003/10/17

尚、この他のリンダ・ライジング (Linda Rising) 氏の著作には、以下のもの等が有る。


このパターンの概要

これは、タイトルにある通り、新しいアイデアを組織に導入するためのパターン群である。


オリジナルは、http://www.cs.unca.edu/~manns/intropatterns.html に在る。


2000年と2001年の OOPSLA (Object-Oriented Programming, Systems, Languages, and Applications) で発表されたものである。

2001年の8月24日には、リンダ・ライジング (Linda Rising) 氏が来日され、「オブジェクト指向2001シンポジウム」においてこのパターンの講演を行われた。 また、2001年11月16日に 「ソフトウェア開発におけるパターンの現状と展望 ― 知識の共有とパターンランゲージ ―」というセミナーでも講演が行われた。


48 のパターンで構成されているパターン ランゲージであり、9 のカテゴリに分類されている。 複数のカテゴリに入っているパターンも在る。


各パターンの概要


新しい考えを導入することを難しくしている力 (Force)

※ 「オブジェクト指向2001シンポジウム」のリンダ・ライジング (Linda Rising) 氏の基調講演 "Introducing Patterns (or any new technology) into the Workplace" より


実践に向けて

これから是非、このパターンを実践して行こうと考えている。

上で書いた、うちで新しいアイデアの実践に関して「合意形成プロセス」の部分で失敗してしまう、という問題点をこのパターン ランゲージで解決して行こうと思う。


先ずは、この『新しいアイデアを組織に導入するためのパターン』を社内に紹介して行きたい。

このパターン ランゲージによって組織に新しいアイデアを導入する、というのはうちにとってまったく「新しいアイデア」である。 そこで当然、『新しいアイデアを組織に導入するためのパターン』の導入に関して『新しいアイデアを組織に導入するためのパターン』を実践して行きたい。


並行して、XP のような「アジャイルな開発プロセス」の導入を行っていく。 XP 自体も「パターン ランゲージ」の側面を強く持っている開発プロセスである。 有効なプロセスであるが、導入の難しさを持っている。


先ずは、個々のパターンの実践ということになる。 各パターンがどのように関連し合いパターン ランゲージとして機能するのか、それをこれから見て行きたい。


関連サイト

参考文献