More Related Content
Brief Introduction to Recent Spatial Interfaces Tangible User Interface: Research investigation and exploration Pattern mining-scrum gatheringtokyo20130115 20111207 勉強会のパターンを書いてみるワークショップ 【デザイン思考マスター・クラス:12月15/16日】本場スタンフォード大学に学ぶ! Similar to Generalization of the Concept of Pattern Language (20)
【デザイン思考マスター・クラス:12月23/24日】本場スタンフォード大学に学ぶ! 開発プロセス 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第2回】 ゲンロンカフェ講演「創造社会を加速させるクリエイティブ・メディア:パターン・ランゲージの新しい可能性」(井庭崇) 【デザイン思考マスター・クラス:11月24/25日】本場スタンフォード大学に学ぶ! Nonaka's Scrum, Phronetic Leadership and Requirements Development 「最高のオンライン授業のつくり方」オンライン・セミナー(慶應義塾大学SFC 井庭崇研究室) Social Change Starts With YOU! 企業向け「パターン・ランゲージ3.0研究会」第3回スライド 「パターン・ランゲージ3.0:企業の創造力を活性化する最先端の方法論」 プロジェクトを加速させるワークショップとラピッドプロトタイピングの実践 パターン・ランゲージとは何か(井庭崇レクチャー)2021/03/21 More from Ryohei Suzuki (20)
Transformer based approaches for visual representation learning Paper memo: persistent homology on biological problems Paper memo: Optimal-Transport Analysis of Single-Cell Gene Expression Identif... Basic Concepts of Entanglement Measures Disentangled Representation Learning of Deep Generative Models 論文紹介: "MolGAN: An implicit generative model for small molecular graphs" Report: "MolGAN: An implicit generative model for small molecular graphs" Wolf et al. "Graph abstraction reconciles clustering with trajectory inferen... Single-cell pseudo-temporal ordering 近年の技術動向 Collaborative 3D Modeling by the Crowd アナログとはなんだろう。―古くて新しい、もう一つの計算― AnnoTone: 高周波音の映像収録時埋め込みによる編集支援 SIGGRAPH 2014 Preview -"Shape Collection" Session Overview of User Interfaces Generalization of the Concept of Pattern Language
- 2. パタン・ランゲージの一般化
• パタン・ランゲージの基盤となる理論(6つの原
理)は 建築に必ずしも依存しない。
• ソフトウェア工学に適用したものが XP, Agile
Practice.
• パタン・ランゲージの考えを、その他の様々な創
造的な活動に適用しようという試みがある。
– J.Borchers “A Pattern Approach to Interaction Design”
• パターンに基づくアプローチとはどういうこと
か?
- 3. パタン・ランゲージの論理
・利用者満足度の最大化
無名の質
価値
無名の質
価値 ・持続性・有機性
+ 無名の質
漸進的成長
漸進的成長 参加の原理
参加の原理
の原理
の原理
有機的秩序
有機的秩序 パターン
パターン
の原理
の原理 の原理
の原理
診断の原理
診断の原理 調整の原理
調整の原理
パターン運用の
パターン運用の パターン +
パターン + ・定期的な評議
パターンは?
パターンは? 個別のプラクティス ・パターンの運用
個別のプラクティス
- 4. XP の論理
シンプルさ・コミュニケー
4 つの価値
4 つの価値
ション
フィードバック・勇気
瞬時の
瞬時の
フィード
フィード インクリメ
インクリメ
変化の受け
変化の受け バック
バック ンタルな変
ンタルな変
入れ
入れ
更
更
質の高い
質の高い シンプルの
シンプルの
作業
作業 採用
採用 6つの原理を担保
(除パターンの原
理)
パターン=
パターン= 12 のプラクティ
12 のプラクティ ・テストドリブン開発
プラクティス
プラクティス ス
ス ・ペアプログラミング , etc.
- 5. パタン・ランゲージの適用
パタン・ランゲージにより得ら
価値
価値 れる性質は価値を発揮するか?
原則への当てはめ・6つの原理
の充足は可能であるか?
漸進的成長
漸進的成長 参加の原理
参加の原理
の原理
の原理
有機的秩序
有機的秩序 パターン
パターン
の原理
の原理 の原理
の原理
診断の原理
診断の原理 調整の原理
調整の原理
既存のノウハウに立脚して構
パターン
パターン
築運用のプラクティスも要求
- 9. パタン・ランゲージの更新(例)
尊重の価値
尊重の価値 4 つの価値
4 つの価値
人間性の原則
人間性の原則 瞬時の
瞬時の
フィード
フィード インクリメ
インクリメ
変化の受け
変化の受け バック
バック ンタルな変
ンタルな変
入れ
入れ
更
更
質の高い
質の高い シンプルの
シンプルの
作業
作業 採用
採用
新しいパター
新しいパター 12 のプラクティ
12 のプラクティ
ン
ン ス
ス
Editor's Notes
- #3: [Click] 伏見くんの発表で見たように、パタン・ランゲージの理論構造は建築に限って成立するわけではない [Click] 例えば、 XP や Agile Practice は(意図的であるかは議論があるにせよ)結果的にはパタン・ランゲージのソフトウェア工学への応用といえる。 [Click] 他の例としては、ユーザーインタフェースの分野ではインタラクション設計で用いた研究がある。 その他、 SFC 井庭研究室はパタン・ランゲージをテーマに「プレゼンテーションパターン」「学習パターン」など色々な試みをしている パタン・ランゲージをヒントに模倣して色々やってみるのは結構。 でも、今一度パターンに基づくアプローチってどういうことか、何で良いのか、どういう時に使えるのか一般的な議論をするのは大切では? [Click] [Click] ということで、パタン・ランゲージを抽象化してみることにします
- #4: それではまず、アレグザンダーのパタン・ランゲージの論理構造を整理しましょう。 奥田さんからご説明いただいたように、アレグザンダーの建築理論は、パターンを用いた建築のプラクティスが6つの原理を実現し、 それにより至上命題となる、自然な美しさ、無名の質を人為的に実現するというものです。 この無名の質に関する議論は後で再び戻ってきたいのですが、ここで無名の質という個別に言語化出来ない性質と別に、 例えばバリアフリー性だとか、光量だとか、コストの安さだとかといった、言語化可能なたくさんの要求、価値設定を持っていることを思い出しましょう。 [Click] パタン・ランゲージが実現するものはそれらを含んだ「価値」で、価値の一つの側面として無名の質を備えるといえるでしょう。 ここで注目したいのは、パターンを用いるプラクティスは場当たりで運用されていることです。 [Click] 良いプラクティスのためのパターン(例えば、何ヶ月に一度会議を開くか?)はパターンには定められていないので、 6つの原理のうち、パターンの原理以外は裸の状態。つまり、実際に関わる人が自身の工夫で努力して実現しなくてはいけないわけです。 そこの最適化の不足もパタン・ランゲージが建築において失敗した原因の一つと言えるのではないかと考えられます。 [Click] つまり、パターン運用のパターンが要求されるわけです。 詳細は省きますが、オブジェクト指向プログラミングにおけるデザインパターンもパターンの扱いにおいてはとても似た構造を持っています
- #5: 代わって、パタン・ランゲージの一例であるエクストリーム・プログラミングを見てみましょう。 ここでもアレグザンダーのパタン・ランゲージとほぼ同型な論理構造が見て取れます。 [Click] つまり、目標である価値として「シンプルさ」などの4つの価値が設定され、 [Click] 価値を実現する五つの原則が導入されます。 この五つの原則が、例えば「インクリメンタルな変更」が「有機的秩序の原理」あるいは「漸進的成長の原理」を、というように6つの原理を担保します。 [Click] そして、テストドリブン開発やペアプログラミングといった個別のプラクティスがパターンに相当するというわけです。 例えばテスト駆動開発と継続的インテグレーションといったプラクティスは互いに関係性を持ち、セミラティス構造を成すと考えられます。 [Click] ここで注目したいのは、パターンであるプラクティスはデザインパターンとは異なり、直接の生産物は指示しないことです。 その代わりに、パターンは残りの6つの原理を直接実現するために機能します。 パターンの原理以外を暗黙知に依存していたパタン・ランゲージに対して、この点で大きな差異があると言えます。
- #6: このように「パタン・ランゲージ的なもの」は共通の論理構造を持っていることが分かったので、 今度は XP を見本に、一般的な問題にパタン・ランゲージ的アプローチを適用することを考えてみましょう。 ここでは、原理に立ち返って公理的にパタン・ランゲージの適用価値を組み立てて行きます。 つまり、価値 → 6つの原理 → プラクティス ( =パターン ) と適用の方針を演繹していきましょう。 [Click] パタン・ランゲージによって実現されうる性質はアレグザンダーにおける「無名の質」と強く関係します(この点はあとで詳しく解析する)が、 確実なキーワードとなるのは「利用者の満足」「システムの持続性」「コミュニティの活性化」などです。 パタン・ランゲージを適用する対象においては、これらの性質が価値を発揮することが第一に要請されますので、 まず問題を整理し本当にパタン・ランゲージによって価値が得られるのかを明確化する必要があります。 [Click] 続いて、定義された価値に基づいて、6つの原理を個別の問題へ当てはめます。 例えば、漸進的成長をインクリメンタルな成長とソフトウェア工学で対応させたような具合です。 [Click] 最後に、当てはめられた原理の実現のためのパターンを設計していきます。 ここでは、対象とする問題に関する既存の暗黙的なノウハウを活かした初期設計と、運用のプラクティスの明示化が求められます。
- #8: ある問題にパタン・ランゲージ的アプローチが適用可能かという問題は、6つの原理をあてはめ、充足することが可能かという観点に帰着されます。 例えば有機的秩序の原理、これは問題自体があるシステムを構築するプロセスであって、 なおかつシステムの構造への要請が静的に定まらないことを要請します。 ある瞬間に要件が確定するようなシステムであれば、有機的秩序が必要とされません。 また、システムはある程度の複雑性を持つことが要請されますが、一方でパタン・ランゲージは全員が熟議に参加することで成果を最大化する手法である以上、 政策決定のような参加者の目的が不一致な、複雑すぎるプロセスには不向きでしょう。これは東浩紀による言及がありました。 次いで、漸進的成長の原理は、システム構築のプロセスが長い時間スケールで運用されている、あるいは運用されうることを要請します。 つまるところ、一回限り短い時間で終わるようなプロセスに適用しても仕方がないわけです。 また、参加の原理により、設計者と利用者の存在が要請されます。 特に、両者に断絶が生じることによって不利益が発生していると言う場合は分かりやすく効果が期待されます。
- #9: 残りの要素も見ていきましょう。 診断の原理であれば、そのシステムの運用が時間的な幅を持って行われ、 定期的に評価を測定して議論できる体制が構築可能なことが要請され、 調整の原理はプロセスの開始後に必要に応じて運用にフィードバックを与えられることを要請します。 例えばロケットを打ち上げたらその後大きくフィードバックを与えられないこと、 アレグザンダーの失敗の例を持ち出せば、建築プロセスはロールバックのコストが大きいので調整の原理を満たしにくいということもひとつの要因だったと考えられます。 出来るだけコスト無くそれまでに構築したものが覆せることが望ましいわけです。 最後にパターンの原理は参加の原理と重複しますが、まずプラクティス自体がパターンであるので、これを導入することが許されること。 つまり、共通語彙、パターンによるコミュニケーションを展開する場がそもそも用意できうることが要求されます。
- #10: 次いで、実際のパターンの設計ですが、 まずパターンを改めて定義し直すと、6つの原理を達成するために短い言葉で表された、端的なプラクティスのことです。 様々な粒度を持つ、高々数十個のパターンのセットでパタン・ランゲージを成し、パターン同士は関係性を持ちます。 パターンの作成は原則的に、現在既に存在する暗黙知を明文化して共有することがスタートです。 もちろん、この明文化が非常に難しいわけですが、この過程を効率化するためのシェファーディングと呼ばれる手法が存在します。 シェファーディングのパタン・ランゲージというものがあったりするそうです。 パターンは一度作成したら終わりではなく、使用しながら順次必要に従って更新していきます。 例えばプログラミングのデザインパターンの例であれば、コンピュータの性能進化やウェブなど新しい使い方が導入されたら、それに応じて新しいパターンが追加されたりするわけです。
- #11: 一つ例を挙げましょう。 先ほど紹介したエクストリーム・プログラミングは一度大きな更新をされて第二版が定義されました。 ここでは価値として従来の4つに加えて、尊重の価値というものが導入されました。 それによって対応する原則としてプログラマーの作業の人間性を保証すべき、という「人間性の原則」が追加され、 さらに対応するパターンが幾つか追加されました。 この人間性の原則は6つの原理からするとどう解釈すればいいのか!という話になりますが、 プログラマー自身がソフトウェア開発における設計者であると同時に、そのプロセスによって生活を成り立たせる利用者でもあるわけということを思い出すと、 参加の原理、あるいは診断の原理に対応すると考えることも出来るわけです。
- #12: メタ価値として、全ての関与者の利益の最大化を考えられる
- #13: 建築における失敗要因の一つは、現実的な施工の不可逆性をカバーすることが出来なかったこと?
- #14: 物理的な制約は残るので、建築でうまくいかなかった バズワードは内容の無い名前が議論を回し続ける現象