パターンを使うもう一つの動機~パターン言語の構築よりも設計・実装・運用のノウハウをカタログ化する
パターンを使う動機が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: 新しい言葉がはやる時、その言葉は新しい意味・新しい価値を持っている。チケット駆動開発という言葉がはやるのも、多くの人がその価値を感じているからだろう。
| 固定リンク
「ソフトウェア工学」カテゴリの記事
- Redmineのブロッキング機能で工程単位Redmine運用とトレーサビリティを解決するアイデア(2026.09.21)
- 第23回Redmine大阪の感想~AIの暴走はチケット駆動で制御する!AI時代に人間が担うべき真の役割は何なのか? #redmineosaka(2026.09.06)
- AI時代のソフトウェア開発者とはアーキテクトの役割として再定義される(2026.08.30)
- AI時代の「コードと人間の関係」を問い直す—デブサミ関西2026で考えた、アーキテクチャの未来とコミュニティの価値 #devsumi(2026.08.22)
- 人の成果物は品質基準に不足しすぎるが、AIの成果物は品質基準を超過しすぎる(2026.08.16)
「チケット駆動開発」カテゴリの記事
- Redmineのブロッキング機能で工程単位Redmine運用とトレーサビリティを解決するアイデア(2026.09.21)
- 第23回Redmine大阪の感想~AIの暴走はチケット駆動で制御する!AI時代に人間が担うべき真の役割は何なのか? #redmineosaka(2026.09.06)
- 人の成果物は品質基準に不足しすぎるが、AIの成果物は品質基準を超過しすぎる(2026.08.16)
- チケット駆動でAIを制御する仕組みのアイデア(2026.08.13)
- Redmineのブロッキング機能はどこで使うのか?~FF関係で使うべきだ!(2026.08.10)
「Agile」カテゴリの記事
- 第23回Redmine大阪の感想~AIの暴走はチケット駆動で制御する!AI時代に人間が担うべき真の役割は何なのか? #redmineosaka(2026.09.06)
- AI時代の「コードと人間の関係」を問い直す—デブサミ関西2026で考えた、アーキテクチャの未来とコミュニティの価値 #devsumi(2026.08.22)
- チケット駆動でAIを制御する仕組みのアイデア(2026.08.13)
- アジャイル開発を強化するキルチェーン進化の歴史~VUCA時代におけるモノづくりの新アーキテクチャ(2026.08.11)
- 脱PDCA!DXを加速する超高速戦略「KillChain」(2026.08.10)
「パターン言語」カテゴリの記事
- データモデリングとドメイン駆動設計の違いは何か(2025.08.24)
- アーキテクチャ設計はベストプラクティスを参照するプロセスに過ぎないのか?~Software Processes are Software, Too(ソフトウェアプロセスもまたソフトウェアである)(2024.09.22)
- パターンカタログよりもモンスターカタログの方が面白いね #jasstkansai(2023.06.24)
- XPエクストリームプログラミングは偉大だ~時代がその設計思想に追いついた(2022.11.16)
- 「大人の学びパターン・ランゲージ」の感想~知識と経験を行ったり来たりするタイミングを大切にする(2022.06.05)


コメント