パターンを使うもう一つの動機~パターン言語の構築よりも設計・実装・運用のノウハウをカタログ化する
パターンを使う動機が2種類あり、最近は別の動機があるという記事を見つけたのでメモ。
【元ネタ】
Ajaxデザインパターン|Ouobpo
【参考】
(引用開始)
以前も書いたが、この書籍で見られるのも、知識を体系化するための技法としてのパターン言語だ。本書から引用すれば、次の通りだ。
Since the Ajax Patterns began to be published, the focus has always been on the "Ajax" and not the "Patterns."
(このAjaxパターンを公開し始めてから、常に「パターン」ではなく「Ajax」に力点を置いてきた。)
発見されるべきものとしてのパターンではなく、知識をまとめるツールとしてのパターンの動きは、今後ますます充実していきそうだ。
(引用終了)
(引用開始)
つまり、ここで挙げた2つの書籍はどちらも、パターンを書くために書いたものではなく、著者が言いたいことを上手く伝えるための手段として、書籍の形式としてのパターンが選ばれただけなのだ。
結果的にできあがる書籍は同じようなパターン書籍であったにしても、この両者の執筆スタンスの違いは大きな違いを生み出すと考えられる。
パターンを書籍の一形式として扱う場合、パターンを書く、という行為に対する自制はほとんど効かなくなる。
「古典的な」パターンコミュニティにおいては、パターンとは時間の試練によって鍛えられたものであって、決して斬新な発明であってはならないという認識がある。パターンの著者たちは、「実際に三回以上出会ってからでないと、それをパターンとして記述してはならない」というルールをもっている。
しかし、パターンを単にコミュニケーションを円滑にするための形式だと捉えてしまうと、こうした厳格な自制は働かなくなっていくだろう。
コミュニケーションの手段というエクスキューズによって、よりカジュアルにパターンをでっち上げられるようになる。
(HohpeやEvansが軽い気持ちでパターンを書いたと思っている訳ではない。
彼らは長年の経験から、何度も使ってきたノウハウを文書化したはずである。
私が指摘したいのは、今後パターンがたんに書籍の一形式になりうる可能性である)
(引用終了)
古典的なパターンの考え方は、長年の経験から、繰り返し出現する問題やその問題解決を抽出し、カタログ化し、パターン言語としてまとめるためのものだった。
しかし、最近の特徴として、「エリック・エヴァンスのドメイン駆動設計」「Ajaxデザインパターン
」では、知識を体系化するための一技法としてパターンが使われているらしい。
この考え方にはとても共感する。
XPでは、プロセスのパターンを故意に「プラクティス」と呼んで、実践的な運用ルールとして提示し、その過激さの裏でその重要性を示した。
更に1歩進めると、現場で得られた経験知、実践知は、パターンという形式でまとめることで、そのノウハウを再利用できるだけでなく、コミュニケーションを促進することもできる。
何らかの事象に「パターン名」という名前をネーミングすることで、その言葉に新たな価値を注入し、よりたくさんの現場で実践されて、検証されて、人々の中で確かな知識や概念として定着していく。
以前の下記のTwitterを思い出しながらすごく共感している。
Twitter / quicy: チケット駆動開発は、ミニマムなライトウェイト手法に一通りの体系化とカッコいい名前を与えてくれたことが、ものすごく大きな功績だと思います。
Twitter / sakaba37: 新しい言葉がはやる時、その言葉は新しい意味・新しい価値を持っている。チケット駆動開発という言葉がはやるのも、多くの人がその価値を感じているからだろう。
| 固定リンク
「ソフトウェア工学」カテゴリの記事
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- プロジェクト管理やソフトウェアアーキテクチャの問題の背後にはトレードオフが隠れているのではないか(2023.02.18)
- デブサミ2023の感想(2023.02.11)
- ChatGPTにEclipseでEclEmmaとJaCoCoからカバレッジを出力する方法を聞いた(2023.02.01)
- DDPは品質管理に役立つのか(2022.12.13)
「チケット駆動開発」カテゴリの記事
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
- タスク分割は親子チケットにすべきか、それともチェックリストにすべきか #redmine(2022.03.04)
- Redmineにメンション機能が入るらしい(2022.01.15)
「Agile」カテゴリの記事
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
- DDPは品質管理に役立つのか(2022.12.13)
- UMTPモデリングフォーラムのパネル討論の感想(2022.11.29)
- XPエクストリームプログラミングは偉大だ~時代がその設計思想に追いついた(2022.11.16)
「パターン言語」カテゴリの記事
- XPエクストリームプログラミングは偉大だ~時代がその設計思想に追いついた(2022.11.16)
- 「大人の学びパターン・ランゲージ」の感想~知識と経験を行ったり来たりするタイミングを大切にする(2022.06.05)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- 「ハリウッドリライティングバイブル」のマインドマップ(2022.01.23)
- 【資料公開】チケット駆動開発の解説~タスク管理からプロセス改善へ #redmine(2022.01.14)
コメント