Más contenido relacionado
Similar a Pattern mining-scrum gatheringtokyo20130115 (20)
Más de Hironori Washizaki (20)
Pattern mining-scrum gatheringtokyo20130115
- 1. 1
Scrum Alliance Regional Gathering Tokyo
スクラムの実践現場でのよいやり方を
形式知にしよう!
~ パターンマイニングワークショップ
鷲崎 弘宜
早稲田大学、国立情報学研究所
2013 年 1 月 15 日
Rev. 1.1
- 2. パターン(パタン)とは
2
特定の「文脈」で繰り返し起きる「問題」とその「解
決」の記述
経験的なコツや暗黙知を、言語化して形式知にしたもの
問題の発見と解決のための再利用可能な道具
建築のパタンランゲージに端を発す [Alexander77]: 活動の拠点
、小さな広場、路上のカフェ、街路への開口・・・
概ね一定の形式で記述
(文脈)の状態において対象が(フォース・影響力)を持っ
た(問題)に直面しているとき、(解決)によって文脈は(結
果)へと変わっていく。
ソフトウェア開発のマネジメントパターン ⇒ アジャイル
開発へ
組織構造(チーム編成)最適化の指針、パターン
生産性の高い開発プロセスに共通する優れたプロセスのパターン
例 : 開発工程の生成的パターンランゲージ(作業の分割
[Alexander77] C. Alexander 他著 , 平田翰那訳 , “ パタン・ランゲージ” , 鹿島出版 , 1977 ・・・)
Alexander, Christopher, et al. A Pattern Language. Oxford University Press, 1977.
、エピソード(顧客を引きこめ ・・・) [PLoPD01]
[PLoPD01] PLoPD Editors, “ プログラムデザインのためのパターン言語” , ソフトバンクパブリッシング ,
- 3. 例 : ペアで開発せよ [PLoPD01]
(文脈)の状態において対象が(フォース・影響力)を持っ
た(問題)に直面しているとき、(解決)によって文脈は(結
果)へと変わっていく。
文脈: コード所有権が確認され、開発が進行している
問題:人は一人での問題解決を怖がる
フォース:
人は誰かの援助により問題を解決できると感じるときがある
あまりに多くの人々がいてもだめである
解決: 気の会う設計者をペアにして一緒に作業させる。そ
のほうが生産性が高まり、死角も減る
結果: より効率的な実装工程となる
3
- 4. 例 : バッファロマウンテン
[PLoPD01]
(文脈)の状態において対象が(フォース・影響力)を持っ
た(問題)に直面しているとき、(解決)によって文脈は(結
果)へと変わっていく。
文脈:複数の部門にまたがっている。部門間のコミュニケーショ
ンはプロジェクト成功の鍵である。
問題: 大規模組織のコミュニケーションを効率的に活用したい
フォース:
コミュニケーションの混乱はプロジェクトの規模に比例
役割孤立とコミュニケーション欠如はエラーの元
完全分散コントロールは、コントロールの崩壊に
解決:
「中心」からの距離が遠いほどその他の組織との関わりを減らし、役割
の独立性を高める
プロジェクトにおいて、ひとつの役割のコントロールの範囲を広げ、類
似した共同作業は役割と併合する
結果: 役割間でバランスの取れたコミュニケーションを持つ
関連パターン : 「責任を動かせ」「作業は内側へ流れる」
4
- 5. 5
なぜ Scrum でパターンなのか?
Scrum ガイドはあくまでルールブック [ScrumPLoP]
プラクティスの背景にある原理や理由を語っていない
原理や理由は、経験やコミュニティから現われる
プラクティスが必ずうまくいくとは限らない
文脈や問題、フォースを捉えると、取捨選択や適用のコツが明ら
かに
個々の文脈に応じたプラクティスの具体化、適用パターン
既存プラクティスの周辺や外に問題・解決を発見できるか
も
新しいパターン、プラクティスへ
経験やコツを形にして、 Scrum の発展やノウハウ拡充へ
!
[ScrumPLoP] http://www.scrumplop.org/
自身の経験の振り返り、再利用、発展
[Beedle00] M. Beedle, et al., 2000, 山田訳 , http://www.metabolics.co.jp/XP/Scrum/Scrum.html
[Cope08] J. Coplien with J. Sutherland, 2008, 川口訳 , http://d.hatena.ne.jp/wayaguchi/20111217/1324131382
組織・他者による再利用、発展
- 6. 6
パターンのマイニング手順
成果や経験に含まれるノウハウをパターンとして発
掘
インタビュー、自身、講義、ワークショップ
(1) 発掘ドメインの決定 成功体験談
(2) 各個人が具体的な成功体験 初期状況 アプローチ 結果
談を項目別に付箋紙に記述 I1 A1 R1
初期状況 : 実現する背景,妨げる
I2 A2 R2
環境や問題
アプローチ : 解決の方法や手段
結果 : 得られた結果 I3 A3 R3
(3) 体験談を集団内で説明し, I4 A4 R4
類似のものを近くに配置
I5 A5 R5
Linda Rising: Patterns Mining, in Handbook of Object Technology, CRC Press (1999)
深澤良彰監修 , 鷲崎弘宜ほか著 , “ ソフトウェアパターン” , 近代科学社 (2007)
- 7. マイニングの手順(つづき)
7
(4) 抽象化して一定の具体性を持って下記の項目を合
致させられるか分析(単一体験談も可),付箋紙に記
述.
文脈 : 集合中の体験談に共通の背景や環境
問題 : 共通に扱われる問題
フォース群 : 考慮する制約や影響力.「Aである.しかし,
Bである」
解決 : 共通の解決策
結果 : 結果に共通する状況や効果
(5) 扱う範囲と効果のバランスを集団でレビュー,修
正.成功体験談 パターン候補
初期状況 アプローチ 結果 文脈 問題 フォース群 解決 結果
(6) 名前を付けてパターン候補
・ Fa1
I1 A1 R1 Sa Ra
・ Fa2
Ca Pa
I2 A2 R2
・ Fb1
Sb Rb
・ Fb2
- 8. マイニングの「コツ」
8
手順や道具立て
体験談、続いて、パターン化。問題やフォースの見極めは最初
困難。
記述形式が定まっていれば、マイニングしやすい
アプローチ “のみ” 似た体験談群をパターン化するのは誤り!
使えるパターンの条件
適度に具体的であること。
「 A ならば B 」というルール規則ではないこと。
そうそう!
周辺パターン候補に気付き、パターンランゲージ(言
語)へ
文脈やフォースを変える。残った問題の解決を考える。
パターンを言葉として、異なる立場間の議論・アイディア交換
街の中心部には 活動の拠点 として 小さな広場 を設けよう。その広場に
可能に
は、訪問者や近隣の人々が気軽に集い落ち着けるように、いくつかの 路上
言葉が言葉を生む(創造性)
のカフェ が集まってひらかれるように奨励しよう。それぞれのカフェは
、オープンエアで楽しめるように 街路への開口 を持たせられるとよい
・・・
- 9. 【ワークショップ】 Scrum 9
を題材としたパターンマイニ
ング
Scrum の説明や教育
Scrum の組織への導入
Scrum の実施
プラクティス適用のコツ
その他の工夫
Scrum と日本的商習慣や契約形態
Scrum の大規模開発への適用
Scrum の分散・オフショア開発への適用
(その他)
- 10. Scrum をパターン集・パターンラ 10
ンゲージとして捉える動き
1. Scrum の基本要素をパターンとして説明
スプリント、スクラムマスター、バックログ、・・・ [Beedle00]
コアパターンランゲージ [ScrumPLoP]
1. Scrum Patterns
既存の組織パターンで Scrum を表現(責任を動かす、顧客を巻
き込む、・・・ ) [Cope08]
組織構造、チーム [ScrumPLoP]
分散開発、大規模化 [ScrumPLoP]
回顧(振り返り)、価値ストリーム、その他 [ScrumPLoP]
1. Software Scrum Patterns: ソフトウェアに特化 [Cope08]
既存の組織パターンで Scrum を表現(アーキテクトが製品をコ
ントロール、・・・) [Cope08]
ScrumPLoP 2013, Helsingør, Denmark !
[ScrumPLoP] http://www.scrumplop.org/
[Beedle00] M. Beedle, et al., 2000, 山田訳 , http://www.metabolics.co.jp/XP/Scrum/Scrum.html
[Cope08] J. Coplien with J. Sutherland, 2008, 川口訳 , http://d.hatena.ne.jp/wayaguchi/20111217/1324131382
- 11. 参考 : Pattern Languages of Programs
( PLoP )
11
パターンおよびパターンランゲージの国際会議
Hillside Group 主催 http://www.hillside.net/
シェファーディングによる事前改訂
ライターズワークショップによる集団推敲
PLoP, EuroPLoP, ChiliPLoP
特定ドメイン : ScrumPLoP, ParaPLoP MensorePLoP2001 (撮影 : 瀬戸川
氏)
アジア・国内
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/
Viking PLoP
PLoP Euro PLoP Asian PLoP
Chili PLoP
Sugarloaf PLoP
- 12. 参考 : 学習を深めるために 12
パターンの原典をあたる
C. Alexander 他著 , 平田翰那訳 , “ パタン・ランゲージ” , 鹿島
出版 , 1977
ソフトウェアパターンの広がり全体を掴む
深澤監修 , 鷲崎 , 丸山 , 山本 , 久保 , “ ソフトウェアパターン” ,
近代科学社 , 2007.
羽生田栄一 監修 , パターンワーキンググループ著 , " ソフト
ウェアパターン入門~基礎から応用へ~ ", ソフトリサーチセ
ンター , 2005.
ソフトウェアパターンとパターンランゲージの最先端
を知る
鷲崎 , 江渡 , 吉岡 , 位野木 , 本橋 , 羽生田 , 懸田 , 井庭 , “ ソ
フトウェアパターン - 時を超えるソフトウェアの道 ", 情報処
理 , 情報処理学会 , Vol.52, No.9, 2011.
- 13. 参考 : 開発工程の生成的パターンランゲー
ジ
組織の大きさ スケジュールの 形式は機能に従う 自己選抜チーム ソロ演奏名手
を決めよ 大きさを決めよ
組織は場所に従う 組織は市場
役割の中の 段階的実施 見習い に従う
ドメイン専門性
アーキテクトが製品
開発者が工程を をコントロール コンウェイ法則
パトロン コントロール
組織パターン アーキテクトもまた実装 コード所有権
アプリケーション設計は
テスト設計に拘束される アーキテクチャレビュー
グループ確認 QA を引き込め 顧客を引き込め シナリオが問題定義
プロセスパターン
雇われ分析者
流通範囲 防火壁
を整える
門番
名前付き
安定ベース バッファロマウンテン 責任を動かせ 作業は内側へ流れる
ステージ間を ハブとスポー 結合は待ち時間 役割あたり ペア開発
分割統治
切り離せ クとリム を減らす 3-7 ヘルパ
割り込みに 小刻みな遅れ 成功に
審美的パターン 割り込みはブロッ プロトタイプ
割り込むな を作るな 報いよ
キングを解除 13
- 14. 14
マイニング結果
経験者の活用
文脈 : アジャイルを導入したい
問題 : 知識がない。確信が持てない。
フォース :
自分が正解を持っていない。
案件へのマッチが必要
解決 : 誰かに聞く(その「誰か」の見つけ方が述べられるとな
およい)
結果 : 自信がつく。
とりあえずやっちゃえ
文脈 : 導入を検討中
問題 : はじめられそうではじめられない
フォース :
成功するかどうか不明
失敗OKの案件あり
やる気のある人あり
解決 : 失敗OKの案件やリカバリーOKのフェーズまで試す。
(パターンとして二つに分けられそう)
- 15. 15
マイニング結果
百聞は一見にしかず
文脈 : 画面仕様がなかなか決まらない
問題 : 動く画面を見ないと分からない
フォース :
自分で見たものしか信じない
(全体の動作可能な実装には時間を要するが、画面部分のみであれば
容易?)
解決 : 動くものを早期に提供する。
結果 : スピードアップ、もれなし
とりあえずやってみる
文脈 : チームが複数
問題 : コミュニケーションがとれていない(他チームへの波及
に絞るとよい)
フォース :
朝会経験者が少ない。
懐疑派が多い。隠したい。余計な仕事が降ってくる?
解決 : 朝会をやってみる。他のチームにも波及
結果 :
- 16. 16
マイニング結果
振り返りは大事
文脈 : アジャイルの経験が不足
問題 : 問題は認識しているが各自では解決できていない
フォース :
シェアすると、解決案がでやすい
(平常はそれぞれに作業、定期的に集まれる、といった何らかの他の
フォースあり?)
解決 : 振り返りにより問題シェア、解決案の明確化
結果 : シェアされ、解決される。自発的にシェア、提案するよ
うに。
目標達成
文脈 : スプリント期間中にすべて完了しない
問題 : 目標が不明確
フォース : (以下はフォースというよりは問題に近い)
不安を解消して取り組みたい
モチベーションをあげたい
解決 : 目標をブレイクダウンして見える化
結果 : 安心感が生まれサポートも可能に。納期守る。
- 17. 17
マイニング結果
チキンハート
文脈 : 知らない人に説明したい
問題 : 保守的で受け入れてくれない
フォース :
失敗したくない
変化に対応できない
今のプロセスには不満
解決 : 失敗しても良い形でやってみる。(誰がどのように実施
するとよいのか、明示されるとなおよい)
結果 : 成功体験、少しずつ変化
安全度まで失敗する
文脈 : 知識はあるが経験なし
問題 : やるべきことが分からない
フォース :
失敗は怖い。恥ずかしい。
体験することで学ぶ。
解決 : 手軽にやってみる。疑似体験。(どのように疑似体験す
るか、明示されるとなおよい)
結果 : 失敗と体験を通じて理解深まる