パターンマイニング参考資料

13
1 開開開開開開開開開 開開開開開開開開開開開開開開開開開開開開開開開開開開開 開開 開開 開開開開開 開開開開開開開開 2013 開 8 開 20 開 開開 () Rev. 1.0

Upload: hironori-washizaki

Post on 10-May-2015

561 views

Category:

Documents


5 download

TRANSCRIPT

1

開発のよいやり方を形式知にして共有しよう!

~ パターンマイニングワークショップ

鷲崎 弘宜早稲田大学、国立情報学研究所

2013 年 8 月 20 日(火)Rev. 1.0

2パターン(パタン)とは 特定の「文脈」で繰り返し起きる「問題」とその「解決」の記述

経験的なコツや暗黙知を、言語化して形式知にしたもの 問題の発見と解決のための再利用可能な道具 建築のパタンランゲージに端を発す [Alexander77]: 活動の拠点、小さな広

場、路上のカフェ、街路への開口・・・ 概ね一定の形式で記述

ソフトウェア開発のマネジメントパターン ⇒ アジャイル開発へ 組織構造(チーム編成)最適化の指針、パターン 生産性の高い開発プロセスに共通する優れたプロセスのパターン 例 : 開発工程の生成的パターンランゲージ(作業の分割 ・・・)、エピソー

ド(顧客を引きこめ ・・・) [PLoPD01]

[Alexander77] C. Alexander 他著 , 平田翰那訳 , “パタン・ランゲージ”, 鹿島出版 , 1977Alexander, Christopher, et al. A Pattern Language. Oxford University Press, 1977.[PLoPD01] PLoPD Editors, “ プログラムデザインのためのパターン言語” , ソフトバンクパブリッシ

ング , 2001

(文脈)の状態において対象が(フォース・影響力)を持った(問題)に直面しているとき、(解決)によって文脈は(結果)へと変わっていく。

3

例 : ペアで開発せよ [PLoPD01]

文脈: コード所有権が確認され、開発が進行している問題:人は一人での問題解決を怖がるフォース:

人は誰かの援助により問題を解決できると感じるときがある あまりに多くの人々がいてもだめである

解決: 気の会う設計者をペアにして一緒に作業させる。そのほうが生産性が高まり、死角も減る

結果: より効率的な実装工程となる

(文脈)の状態において対象が(フォース・影響力)を持った(問題)に直面しているとき、(解決)によって文脈は(結果)へと変わっていく。

パターン候補の簡易マイニング

1. 個人 : 良かったこと、上手くいったこと、大切にしたいことを書く

2. 集団 : 書いた結果を説明しながらブレーンストーミング くくり(グルーピング)、関連付け 追加、修正 否定しない

3. 集団 : 重要性の高いくくりから順に、パターン形式で書く 名前 : ひとことでいうと 文脈 : こういうときに 問題 : こういうことで困るので フォース : こういうことを考慮して 解決 : こうすると 結果 : こうなる

4

井庭崇 , パターン・ランゲージによる経験のマイニングと共有 (2012)Linda Rising: Patterns Mining, in Handbook of Object Technology, CRC Press (1999)深澤良彰監修 , 鷲崎弘宜ほか著 , “ ソフトウェアパターン” , 近代科学社 (2007)

例えば「自己研鑽のコツ」 5

通勤時間は誰にも邪魔されないから、好きな勉強ができる。

ちょっとした時間に読める論文をいつも持ち歩く。

空き時間にスマホで・・・

夜はコミュニティの集まりに出て・・・

早起きして・・・

社内で勉強会を企画・・・

1,5,10 年後にこうなりたいという目標を持つ。

行き帰りの積み重ね

・文脈 : 業務で忙しくしている。知識の範囲が狭く広げたいと思っている。・問題 : 忙しく対象外の学習に時間を割きにくい。・フォース : 余分な時間は取れないが、行き帰りのちょっとした時間はある。・解決 : 通勤のちょっとした時間に本を読むなどして知識を無理なく積み重ねる。・結果 : 忙しい中でも知識の範囲が無理なく広がっている。

通勤の一工夫

みんなで成長

6

パターンからパターンランゲージへ

関連するパターンをつなげよう 周辺のパターンを出そう 関連

文脈や問題の共有 結果が新たな問題 解決の一部

行き帰りの積み重ね・文脈・問題・解決・結果

厚い本はぶった切る・文脈・問題・解決・結果

本を持ち歩く・文脈・問題・解決・結果

電子書籍を持ち歩く・文脈・問題・解決・結果

自炊する・文脈・問題・解決・結果

日々楽しく成長するためには、業務以外の行き帰りの積み重ね が大切である。リーダを所有していれば電子書籍を持ち歩く とよい。なければ、本を持ち歩く とよいが、厚い本の場合は大変である。そういうときは本をぶった切る か、自炊する とよい。・・・

続いて・・・ パターンの洗練、活用

書いたパターンを、見直してみよう 書いたパターンで、自身の体験を振り返ってみよう 書いたパターンを、周囲に伝えてみよう

パターンランゲージの構築 周辺の新パターンを検討してみよう 体験から新パターンを発掘してみよう

外へ 組織外の他のパターン、パターンランゲージを見てみよう 書いたパターン、パターンランゲージを組織外で発表しよ

7

PLoP

Chili PLoP

Euro PLoP

Sugarloaf PLoP

Viking PLoP

Asian PLoP

参考 : Pattern Languages of Programs ( PLoP )

パターンおよびパターンランゲージの国際会議 Hillside Group 主催 http://www.hillside.net/ シェファーディングによる事前改訂 ライターズワークショップによる集団推敲 PLoP, EuroPLoP, ChiliPLoP 特定ドメイン : ScrumPLoP, ParaPLoP

アジア・国内 2002 MensorePLoP 2010 1st AsianPLoP: 40名、パターン 16 2011 2nd AsianPLoP: 55名、パターン 22 2013 3rd AsianPLoP (仮) 9月上旬 http://patterns-wg.fuka.info.waseda.ac.jp/asianplop/

8

MensorePLoP2001 (撮影 : 瀬戸川 氏)

9参考 : 学習を深めるために パターンの原典をあたる

C. Alexander 他著 , 平田翰那訳 , “パタン・ランゲージ”, 鹿島出版 , 1977 ソフトウェアパターンの広がり全体を掴む

深澤監修 , 鷲崎 , 丸山 , 山本 , 久保 , “ソフトウェアパターン”, 近代科学社 , 2007. 羽生田栄一 監修 , パターンワーキンググループ著 , " ソフトウェアパターン入門~基礎から応用

へ~ ", ソフトリサーチセンター , 2005. ソフトウェアパターンとパターンランゲージの最先端を知る

鷲崎 , 江渡 , 吉岡 , 位野木 , 本橋 , 羽生田 , 懸田 , 井庭 , “ ソフトウェアパターン - 時を超えるソフトウェアの道 ", 情報処理 , 情報処理学会 , Vol.52, No.9, 2011.

10

補足資料 : より形式的なパターンマイニングワークショップ

パターンのマイニング手順

(1) 発掘ドメインの決定 (2) 各個人が具体的な成功体験談を項目別に付箋紙に記述

初期状況 : 実現する背景,妨げる環境や問題

アプローチ : 解決の方法や手段 結果 : 得られた結果

(3) 体験談を集団内で説明し,類似のものを近くに配置

11

I1

初期状況 アプローチ 結果

I2

A1

A2

R1

R2

I3

I4

A3

A4

R3

R4

I5 A5 R5

成功体験談

成果や経験に含まれるノウハウをパターンとして発掘

インタビュー、自身、講義、ワークショップ

Linda Rising: Patterns Mining, in Handbook of Object Technology, CRC Press (1999)深澤良彰監修 , 鷲崎弘宜ほか著 , “ ソフトウェアパターン” , 近代科学社 (2007)

マイニングの手順(つづき) (4) 抽象化して一定の具体性を持って下記の項目を合致さ

せられるか分析(単一体験談も可),付箋紙に記述. 文脈 : 集合中の体験談に共通の背景や環境 問題 : 共通に扱われる問題 フォース群 : 考慮する制約や影響力.「Aである.しかし,Bであ

る」 解決 : 共通の解決策 結果 : 結果に共通する状況や効果

(5) 扱う範囲と効果のバランスを集団でレビュー,修正. (6) 名前を付けてパターン候補

12

I1

初期状況 アプローチ 結果

I2

A1

A2

R1

R2 Ca Pa

Ra・ Fa1・ Fa2

Sa

文脈 問題 フォース群 解決 結果

Rb・ Fb1・ Fb2

Sb

成功体験談 パターン候補

13マイニングの「コツ」 手順や道具立て

体験談、続いて、パターン化。問題やフォースの見極めは最初困難。 記述形式が定まっていれば、マイニングしやすい アプローチ “のみ” 似た体験談群をパターン化するのは誤り!

使えるパターンの条件 適度に具体的であること。 「 A ならばB」というルール規則ではないこと。 そうそう!

周辺パターン候補に気付き、パターンランゲージ(言語)へ 文脈やフォースを変える。残った問題の解決を考える。 パターンを言葉として、異なる立場間の議論・アイディア交換可能に 言葉が言葉を生む(創造性)

街の中心部には 活動の拠点 として 小さな広場 を設けよう。その広場には、訪問者や近隣の人々が気軽に集い落ち着けるように、いくつかの 路上のカフェ が集まってひらかれるように奨励しよう。それぞれのカフェは、オープンエアで楽しめるように 街路への開口 を持たせられるとよい ・・・