私たち編集員の間で行われる軽い立ち話を書くこのコラム。今回は、パターン・ランゲージを使うとチームの抱える問題を解決する方法を考えることができるという話題について書いてみたいと思います。
チームを支援するパターン・ランゲージ
ソフトウェアに携わる方々は、パターンというと、GoFのデザインパターン1に代表されるソフトウェアの設計を支援するものに馴染みがあると思いますが、ソフトウェア開発組織やコミュニケーションなどを支援するパターンもあります。その中の一つに、James O. Coplien氏らによる「組織パターン」があります2。これは、優れたソフトウェアを構築する組織をつくるパターン・ランゲージです。
パターン・ランゲージという言葉が出てきました。パターン・ランゲージとは何でしょうか。パターンには、それが有効なコンテキストが存在するので、そのコンテキストをつくるために別のパターンをあらかじめ適用しておかなければならないことがあります。ということは、パターンは単独に存在することはなく、パターンどうしには関連と適用順があるわけです。関連のあるパターンを集め、ある特定の領域で、ある価値観に基づいたパターンを集めたものをパターン・ランゲージと呼びます。組織パターンはパターン・ランゲージの一つです。
『組織パターン』の書籍を元に作成したパターンの関係の一部を下図に紹介します。
(出典:『組織パターン』 James O. Coplienら)
上のグラフの各ノードが「パターン」を表し、「パターン間の関係」を矢印で結んでいます。矢印の向きは適用順です。各パターンの詳細は、このコラムの範囲外なので、興味のある方は、書籍をご参照ください。ここで言いたいのは、パターン・ランゲージはパターン間の関係と適用順を示すということです。
自分たちのパターン・ランゲージをつくる
書籍等でまとめられたパターン・ランゲージをそのまま使うこともできますが、もっと良いのは自分たちのチームのパターン・ランゲージを作ることです。例えば上述の組織パターンを解釈し、チームに当てはめ、下記のようなパターン・ランゲージを作ったとします。これは、「メンバーの知識に偏りがあって、担当の割り当てが柔軟にできない」というチームの問題に対して、その解決方法をパターン・ランゲージで表したものです。
これらは、特定の組織の特定の状況でしか有効ではありません。しかし、チームのパターン・ランゲージを作ることには次のメリットがあります。
- 作ったチームにとっては、一般論ではない、自分たちの問題を解決するための案である。
- もしこれをチームメンバーで作ったなら、パターン・ランゲージを作ること自身が、合意形成につながり、活動を力強く始めることができる
この2点が、自分たちのチームのパターン・ランゲージを作るメリットです。
パターン・ランゲージだからできることって何?
このようなチームの改善案は、パターン・ランゲージを使わなくても作成できるのではないかとも思われるでしょう。確かにそうです。しかし、パターン・ランゲージには次のような利点があります。
チームみんなで解決方法をデザインできる
パターン・ランゲージにはあらかじめベストプラクティスが集められているので、パターンをきっかけとして発案したり、議論の出発点にしたりできます。それが、業務の経験年数による差を埋め、チームメンバー誰もがアイデアを出しやすい環境を作ります。
文脈の中で改善案を考えられる
パターンには、それが使えるコンテキストが書かれてあり、どのような場合に有効なパターンであるかが示されています。それが、自ずと自分たちの置かれている状況を考えるきっかけになり、チームにより適した改善案を考えることを促します。
未来のストーリーを語れるようになる
パターンには、パターン間の関係も示されています。それによってパターン間の組み合わせがガイドされるので、自分たちのチームの改善案をデザインするときも、一つの改善案に留まらず、解決のための一連のステップを作ることを促されます。作ったパターン・ランゲージによって、これから自分たちが進んでいく未来を物語のように語れるようになります。上述のパターン・ランゲージの例を見てください。ふきだしを前から読んでいくと、ストーリーを語れそうではありませんか?
ストーリーを語れると、これからの活動にリアリティをもたらし、活動に求心力がつきます。
これら3つの特徴は、私がパターン・ランゲージが大好きになった理由でもあります。ぜひ、皆さんにもパターン・ランゲージを用いてチームの問題を解決する方法をデザインしていただき、その力を感じてもらいたいなと思っています。