パターン・ランゲージの価値を考える このエントリをはてなブックマークに登録

2015年10月07日

irohirokiirohiroki

昨年ここに『チームの暗黙知を活かし創造を支援するパターン・ランゲージ』を書いてから1年5ヶ月が経ちました。昨年はパターン・ランゲージを仕事に活かす自分なりの方法を見つけようと、2つのパターン・ランゲージ作成に着手しました。今回はそれらの現状をご紹介し、これからのパターン・ランゲージ研究について考えてみたいと思います。

KRAYパターン

弊社KRAYの理想的な仕事のしかたをパターン・ランゲージで表すことで、社員全員で自社の強みを認識すると共に、改善の足掛かりにしようと考えて作り始めたのがKRAYパターンです。本来パターン・ランゲージはデザイン(設計)を支援するツールです。プロジェクトや組織の運営を一つのデザインとみなし、パターン・ランゲージで支援できないかと考えたのです。

作成の工程は概ね以下のようなものでした:

  1. 作成のために毎週1時間、全KRAYメンバー8名で作業できる時間を確保する(都合によって不開催もよくある)。
  2. パターン・ランゲージの元となるアイデアを収集する。KRAYでマネージメントしているプロジェクトやKRAYそのものの運営について、うまくいっているやり方を全員で付箋に書き出した。
  3. 特定のやり方を別のプロジェクトや組織に応用できるように、アイデアをグルーピングして本質的な価値を考える。
  4. パターンのフォーマットに書き起こす。この工程では井庭崇先生のPattern Writing Sheetを利用した。
  5. パターンを適用できるコンテキストと順序を明確にする。この作業をやりやすくするため、パターン名とコンテキスト、ソリューションを目立つように書いたA6サイズのカードを作成した。

あと少し、パターンの名前や網羅性などを改善したらKRAYのWebサイトで公開するつもりです。なお、作成中のものはGitHubの公開リポジトリに置いていますので、ご興味があればご覧ください。

KRAYパターン

Rails開発パターン

Rails開発パターンは、Rubyで書かれたWebアプリケーションフレームワークであるRuby on Railsを使った開発の勘所をパターン・ランゲージにすることで、これからRailsを使う人の手助けにしようとするものです。一人の知識で作成すると偏ったものになる危険性があったので、知り合い7名に声をかけ、協力してもらいました。

作成工程の大枠はKRAYパターンと同様ですが、以下の点が異なりました。

  • 全員揃うことがなく、3名前後で進めることもあった。
  • 付箋紙ではなく、オンラインツール(Google図形描画)にアイデアを書き出した(下図)。
  • パターンの形になったものもオンラインのスプレッドシートにまとめた。

rails-dev-patterns-google-draw

オンラインツールを使うことで、離れた場所にいるメンバーとも作業できました。その場合には声でディスカッションできるように音声チャットツールも併用しました。また、オンラインでいつでもどこからでもアクセスできるため、僅かな時間にちょっとした修正をすることもできました。

こちらのプロジェクトはパターン・ランゲージのカンファレンスであるAsianPLoP 2015での発表を最初の目標にしていましたが、なかなかメンバーの時間が取れなかったため、投稿締切直前に挙がっていたアイデアを私がパターンに書き起こしたり名前を付けたりして、無理やり投稿しました。(資料はGitHubで公開しています。)

AsianPLoPに投稿された論文は、ライターズ・ワークショップと呼ばれる形式で参加者のレビューを受けます。Rails開発パターンもたくさんのフィードバックをいただき、また私自身も他の参加者の論文をレビューすることでたくさん学ぶ点がありました。GitHubで公開しているのはフィードバックを反映したバージョンです。

しかし、AsianPLoPを経て内容を改善できたとはいえ、Rails開発パターンはまだまだ未完成です。以下では今後の展開について考えてみます。

これからのパターン・ランゲージ研究

当然のことながら、研究の成果は何らかの課題を解決することが求められます。例えば、今まで不可能だったことを可能にしたり、難しかったことを効率的にしたりという効果です。上述の2つのパターン・ランゲージも、今後は課題の解決という目標に集中して完成を目指したいと思います。

とはいえ、パターン・ランゲージによる課題の解決はその効果が計りにくいという問題もあります。それはパターン・ランゲージの適用の対象が計測しにくいのが一因です。例えば、設計を支援するパターン・ランゲージであれば、設計の良し悪しを計測する必要がありますが、事例によって状況の異なる設計を標準化して計測するのは難しい問題です。

間接的になりますが、効果を測りやすいパターン・ランゲージの形は書籍でしょう。本として出版すれば、発行部数が数として表れます。そして、たくさん売れた本は社会に影響を与え、効果を及ぼしたと考えられます。例えば、2000年に出版され今までに3回も和訳されているケント・ベックの『Extreme Programming Explained』は間違いなく成功したパターン・ランゲージの本です。また、パターン・カタログとしては『Design Patterns: Elements of Reusable Object-Oriented Software』が金字塔となっています。

しかし、書籍のようなコストのかかる形にしないと効果が測れないのでは不便です。特に企業の中で活動するなら、小さなリスクで方向性を確認できる方法が必要です。この要件は、ソフトウェア開発に似ています。ソフトウェアも、発売してから全く売れないとか、考えていたものと違うことがわかっても遅いのです。つまり、ソフトウェアの検証方法はパターン・ランゲージの作成に応用できる可能性があります。以下に2つの検証方法を紹介します。

リーン・スタートアップ

リーン・スタートアップと呼ばれるビジネス開発手法では、製品やサービスの開発に入る前にターゲットとなる人々にインタビューを行うなどしてアイデアの妥当性を検証します。インタビューを行うことで、起業家が考えるような顧客が実際に存在するか、存在したとして自分たちの製品を喜んで使うか、それに対価を払ってくれるかなどの見当をつけられます。

パターン・ランゲージを作成する場合にもこの手法は使えます。例えば新人教育が目的なら、入社後2〜3年経った社員にインタビューすれば入社時に困ったことや解決方法のアイデアが得られるでしょう。その問題領域にパターン・ランゲージが応用可能かどうかを検討してから着手できます。検討とインタビューを数回繰り返せばその精度も上がります。

リーン・スタートアップについて知りたい方には次の本をお勧めします。

アクセス解析

インターネットの世界では、サイトを訪れた人の流入元や回遊経路を解析することで広告の効率や最終的な売上を改善することがよくあります。訪問者が最初に見たページや、どのようにページを移動したかを調べることで、訪問の動機やサイトの問題を推測できます。

アクセス解析をパターン・ランゲージの作成に応用するとしたら、まずできるだけ早くネット上に公開することです。凝ったサイトを作る必要はありません。知識がなければ無料のブログを利用することもできます。無料のサービスでもGoogleアナリティクスのようなアクセス解析に対応しているものはあります。公開できれば、読んでくれる人がいるか、内容を充実させることで訪問者が増えるかどうかを検証できます。アクセス解析することで、一定以上のアクセスがあったら作成を進めるといった判断ができるでしょう。

アクセス解析については書籍のほかインターネット上にもたくさん情報がありますので、詳しく知りたい場合は検索してみてください。

最後に

今回は私が関わってるパターン・ランゲージ作成プロジェクトの経過報告と、今後の展望を紹介しました。ご意見、ご感想などございましたらブックマークのコメントやTwitterで放流していただけますと幸いです。

宣伝

DocBase

情報共有サービス DocBase を本リリースしました。
https://docbase.io

DocBaseとは

DocBaseとは、小さく始める・みんなで育てる・適切に伝える・安心して伝えるをコンセプトにした情報共有サービスです。
メモという形で小さく始められる、エンジニア以外のメンバーでも使いやすい仕組み、情報をまとめて整理できる、柔軟な権限設定で様々なプロジェクトで使えるなど、積極的な情報共有と業務の効率化を実現し、チームの成長を促します。

詳しくはこちらから。
http://kray.jp/news/docbase/

クレイについてもっと知りたい方は…

  1. クレイの3つの強みを見てみる。
  2. WEBシステムのことなら何でもご相談ください。

「いいね!」で応援よろしくお願いします!

このエントリーに対するコメント

コメントはまだありません。

この投稿記事へのコメントは、現在受け付けておりません。


トラックバック

we use!!Ruby on RailsAmazon Web Services

このページの先頭へ