パターンライティングワークショップ agilejapan 2013

40
パターンライティングワークショップ Agile Japan 2013 2013524本橋 正成(カルチャーワークス) 羽生田栄一(豆蔵)

Upload: masanari-motohasi

Post on 13-Jun-2015

1.352 views

Category:

Education


0 download

DESCRIPTION

AgileJapan 2013で実施したPattern Writing Workshopの資料です。 今回のワークは「パタンの書き方」を参考にして実施しました。 http://www.cultureworks.jp/blog/?p=44 皆様に作っていただいたパターンと、その過程の議論もとても興味深くうかがいました。 満席を超える参加をいただいただけでなく、満足度のアンケートも5点満点のところ平均4点以上いただくことができました。ご指摘いただいた点は次回に活かします。ありがとうございました。ご質問やご意見などがございましたら、お気軽にお声がけください。 ワークショップに参加してくださった皆様、AgileJapan 2013を応援してくださっている皆様、どうもありがとうございました。 六辺さんによる「コミュニケーションメディアとしてのパターン:Agile Japan 2013 レポート(3)」 http://www.manaslink.com/articles/12082

TRANSCRIPT

Page 1: パターンライティングワークショップ AgileJapan 2013

パターンライティングワークショップ  Agile  Japan  2013

2013年5月24日  本橋 正成(カルチャーワークス)  

羽生田栄一(豆蔵)  

Page 2: パターンライティングワークショップ AgileJapan 2013

自己紹介

羽生田 栄一

•  株式会社 豆蔵  

•  回文  –  行けっ!孔子だ!New羽生

田氏、烏骨鶏(いけっこうしだにゅうはにゅうだしうこっけい(にゅうで一文字))  

–  @HHany

本橋 正成

•  合同会社カルチャーワークス/東京工業大学  

•  回文  –  ルナ飛びし本橋の志は灯火

となる(るなとびしもとはしのしはともしびとなる)  

–  本橋は友(もとはしはとも)  

–  @motohsi  

Page 3: パターンライティングワークショップ AgileJapan 2013

目的

•  本日、お持ち帰りいただきたいこと  –  アジャイルの知見をパターンの技術を用いて、表現し、デザイ

ンすることができる。 –  他の人のアジャイルに関する知見をパターンという形を通じて

共有することができる。  •  そのために  

–  パターンとパターンランゲージ、プロジェクトランゲージについて知ることができる。  

–  実際にパターンを書いてみる。    •  この資料の一部は、J.  Yoder氏の資料を参考にしています。  •  このワークショップは「パタンの書き方」を参考にしていま

す。  h?p://www.cultureworks.jp/blog/?p=44  

Page 4: パターンライティングワークショップ AgileJapan 2013

問い:  なぜ、パターン技術  (含むパターンランゲージ、プロジェクトランゲージ)  

を使うのか。  

もしくは、パターン技術がないと世界はどうなるか?

Page 5: パターンライティングワークショップ AgileJapan 2013

2010  ソフトウェア・シンポジウム、平鍋氏の基調講演発表資料より

Page 6: パターンライティングワークショップ AgileJapan 2013

パターン

パターンという見方

Page 7: パターンライティングワークショップ AgileJapan 2013
Page 8: パターンライティングワークショップ AgileJapan 2013

Tokyo  Camii  &  Turkish  Culture  Center  h?p://www.tokyocamii.org/ CultureWorks,  LLC 8

Page 9: パターンライティングワークショップ AgileJapan 2013

デザイン・パター

(日本語訳) 発売日: 1999年10月

h?p://www.amazon.co.jp/gp/product/images/4797311126/ref=dp_image_0?ie=UTF8&n=465392&s=books

CultureWorks,  LLC 9

Page 10: パターンライティングワークショップ AgileJapan 2013

アナリシス・パター

h?p://www.amazon.co.jp/dp/4894716933/

h?p://en.wikipedia.org/wiki/File:Event-­‐analysis-­‐pa?ern.svg

(日本語訳) 発売日: 2002年4月 CultureWorks,  LLC 10

Page 11: パターンライティングワークショップ AgileJapan 2013

h?p://www.amazon.co.jp/gp/product/images/0201741571/ref=dp_image_0?ie=UTF8&n=52033011&s=english-­‐books CultureWorks,  LLC 11

Page 12: パターンライティングワークショップ AgileJapan 2013

日次ミーティング  IPAのプラクティス(パターン)サンプル

•  別名  –  朝会、朝礼、デイリースクラム、

スタンドアップミーティング  •  要約  

–  毎日、時間を決めて短い時間で関係者が顔を合わせる。その結果、チーム全体が日々の必要な情報を共有できるようになる。  

•  問題  –  情報の共有遅れが問題を大き

くする  

–  情報共有の時間が取れないまま、状況認識と問題対処への判断が遅れると、問題が大きくなり、より深刻な状況を招いてしまう。  

•  フォース  –  関係者が多忙なため、情報共

有のための時間が取れない  –  情報共有の間隔が空いてしま

うと、情報量が増え、共有に必要な時間が余分にかかってしまう。  

•  解決策  –  チームのメンバー全員が集

まって必要な情報を短い時間で毎日共有する。  

–  短い時間(15分が目安)で済むように、必要な情報に絞って共有する。  

–  情報共有の間隔が長くなるほど、共有に要する時間が必要となるため、毎日短いミーティングを設けるようにする。  

[IPA  2013]

Page 13: パターンライティングワークショップ AgileJapan 2013

組織構造のバウンダリをゆるめる  IPAのプラクティス(パターン)サンプル

•  要約  –  組織やプロセスの構造が生み出

すボトルネックがあれば、バウンダリをゆるめることによって、発生している問題を当事者である「我々の」問題として解決しやすい構造を作る。その結果、根底の問題を解決できるだろう。

•  問題  –  組織やプロセスの構造が生み出

すボトルネックがある。  

–  プロダクトオーナーは、バックログの維持など、開発チームを含むステークホルダーとの調整や、継続的に発生する割り込みなどの状況で忙殺され、相対的にボトルネックになりやすい。

•  フォース  –  バウンダリを明確に切り分けようと

思っても、複雑で現実的ではないが、その周辺こそ創造性を発揮しやすいところである。  

–  コンテキストによって、それぞれの持つ意見が正しいことが説明できる。しかし、明確なバウンダリ内にいると他のコンテキストを理解しにくくなる。専門性を活かしたいが、原理主義的に自分の専門を持つことにより、他の状況を配慮せず深い対立を生み出すことがある。  

–  専門知識の交換には時間が必要であり、異なった部門にいると、コミュニケーションの時間が限られる。  

•  解決策  –  組織的な構造が生み出すバウン

ダリをゆるめよう。お互いに役割を越えてチームとして助けあおう。

[IPA  2013]

Page 14: パターンライティングワークショップ AgileJapan 2013

パターンとは?  パターンの定義

アレグザンダーの定義  “各パターンが、環境の中で繰り返し繰り返し発生する問題を記述し、その問題に対する解決策の要点を記述します。その解決策は、全く同じことを繰り返すことなく、何百万回も適用可能であるようにします。”    

Page 15: パターンライティングワークショップ AgileJapan 2013

採用したパターンの形式

•  プラクティス名  –  プラクティスの日本語名/英語名

•  別名  –  プラクティスの別名

•  要約  –  プラクティスの概要説明

•  状況  –  解決すべき問題が発生する状況

•  問題  –  特定の状況下で発生する問題

•  フォース  –  問題解決策を選択する上で、かぎ

となる考慮点・制約事項

•  解決策  –  プラクティスそのものの説明。具体

的な工夫も解説  

•  留意点  –  プラクティスを適用する上でコンテ

キストに応じた留意点  –  プラクティスをそのまま適用できな

い場合の代替策 –  うまくいかない場合の注意点

•  効果  –  プラクティスを活用した時に得られ

る効果

•  利用例  –  調査先企業への調査から得られ

たプラクティスの利用例

•  関連プラクティス –  関連性の高いプラクティス

•  参考文献 –  プラクティスが紹介されている文献

CultureWorks,  LLC [IPA,  2013]

Page 16: パターンライティングワークショップ AgileJapan 2013

名前  

•  単語もしくは短いフレーズ —  パターンのエッセンスです。名詞句であるべきという人もいます。 – 名前は、ささいなことではなく、とても重要です。

•  良い名前は、コミュニケーションを拡張します。特に名前を聞いたときにその意図を思いめぐらせれば。 – パターンは何かを”構築”します。パターンの名前

は、パターンが構築するものついて言及しましょう。

Page 17: パターンライティングワークショップ AgileJapan 2013

別名  

同じパターンは、他の会社や出版物など他の場所にも存在しているかもしれない。  

エクスパートは、民間の伝承や、深い意味を思い起こさせる直感的ではない名前を用いることがあります。別名は、初学者を助けます。  

略語もしくはニックネームは、議論を容易にします。  

Page 18: パターンライティングワークショップ AgileJapan 2013

 文脈 Context  

設定ーターゲットユーザ、パターン適用、サイズ、スコープ、タイミング、メモリの制約など。変わったら解決が役に立たなくなるかもしれないことなら何でも。  

Ä あなたは、新しいアイデアを紹介するためのミーティングに呼ばれた「エバンジェリスト」もしくは「専任のチャンピオン」です。そのユーザコミュニティのメンバーは、参加の可否は自由です。あなたは資産を持っている、個人的な貢献がある、もしくは、「近くのスポンサー」や「投資家」です。  

Page 19: パターンライティングワークショップ AgileJapan 2013

フォース  

問題が困難となるゆえん  フォースはしばしば矛盾しており、緊張を作り出しま

す  –  顧客を幸せにしたいです  –  リソースが制限されています  

Ä しなくてはならないもっと重要な仕事がいつもあります  Ä 新しいアイデアに興味をもつ人がほとんどです  

Page 20: パターンライティングワークショップ AgileJapan 2013

問題  Problem  

短く、そのパターンが解く問題を短く完全に記述してください。

 ミーティングはいつも、ありふれた人間味の        ないイベントである

 どのように我々のミーティングに参加したい      人々を集めればよいのだろうか?

Page 21: パターンライティングワークショップ AgileJapan 2013

解決策  Soludon  

問題を解く提案された方法です。コンテキストによって決定された重要なフォースを解きほぐしてください。他のフォースは無視してもかまいません。  

対象聴衆を心に思い浮かべてください。  よいパターンは生成的(Generadve)です。  

Ä ミーティングで食事をとること —  朝はコーヒー、紅茶とジュースと一緒にドーナツかベーグル。午後はクッキーとドリンク、お昼にはランチ。  

Page 22: パターンライティングワークショップ AgileJapan 2013

結果として生じる文脈  Resuldng  Context  /  Consequence  

もしその解決策を適用したときに起こること、どのフォースが解決され、どのような問題が発生しうるか、どのようなコストと利益があるか  

「問題は解決しました」だけでは十分ではありません。  

 Ä 食事は、ありきたりのミーティング、発表や会合を、

より特別なイベントに変える。もし 初に提供されれば、ミーティングをポジティブな雰囲気で始められる。  

Page 23: パターンライティングワークショップ AgileJapan 2013

他のセクション  

よく知られた使い方:  あることが一度の発生は「(一回だけの)出来事」です。二度目の発生は偶然の一致です。もし、それが三回以上発生したら、それはパターンです。  Jim  Coplien/Gerald  Weinberg/Bunny  Duhl  

関連パターン:  一緒に使用するパターン、使用されるパターン、似ている他のパターン  

 

–  無料の食事ががあるとよいのに、予算がない場合、持参した食事(Brown  Bag)にしましょう。自分自身で食事を持ってきたとしても、人々は一緒に食べることができます。  

Page 24: パターンライティングワークショップ AgileJapan 2013

パタンランゲージ

パタンの有機的に繋がった集合

Page 25: パターンライティングワークショップ AgileJapan 2013

パターンランゲージとは

•  概念(パターン)の集合である。  •  有機的なつながりがある。  •  様々なレベルやスケールに渡っている。  – 技術的、組織的、そのほか、複数の観点でまとめ

られている。  

Page 26: パターンライティングワークショップ AgileJapan 2013

パターンランゲージの例:  •  AlexanderのGarden  – アレグザンダーによる唯一のパターンランゲージ

ダイアグラム  

From  The  Timeless  Way  of  Building  

Page 27: パターンライティングワークショップ AgileJapan 2013

ライティングパターンのための  パターンランゲージ  (Meszaros  &  Doble)  

Page 28: パターンライティングワークショップ AgileJapan 2013

1  :  Release  planning  to  release  product  increments  2  :  Iteradon  planning  meedng  3  :  Iteradon  4  :  Planning  poker  to  esdmate  tasks  during  sprint  planning  5  :  The  project  velocity  is  measured  6  :  Short  daily  meedng  to  resolve  current  issues  7  :  sprint  retrospecdve  to  learn  from  previous  sprint  8  :  Kanban  9  :  Sprint  review  meedng  to  present  completed  work  10  :  Task  board(Task  card)  11  :  Burn  down  chart  to  monitor  sprint  progress  12  :  Flexible  process  13  :  User  stories  are  wri?en  14  :  Mutual  commitment  to  sprint  backlog  between  product  owner  and  team  15  :  Incepdon  Deck  16  :  Priorides  (product  backlog)  maintained  by  a  dedicated  role  (product  owner)  17  :  Rapid  feedback  18  :  Pair  Programming  19  :  Automated  regression  test  20  :  Test  Driven  Develpment  21  :  Unit  Test  Automadon  22  :  Acceptance  tests  are  run  onen  and  the  score  is  published  23  :  System  Metaphor  24  :  Spike  Soludon  25  :  Constant  refactoring  26  :  Simple  Design  27  :  Only  one  pair  integrates  code  at  a  dme  28  :  Condnuous  Integradon  29  :  Use  collecdve  ownership  30  :  Code  wri?en  to  agreed  standards  31  :  When  a  bug  is  found,  tests  are  created  32  :  Analog  Tools  33  :  Customer  Proxy  34  :  The  customer  is  always  available  35  :  Product  Owner  36  :  Development  process  and  pracdces  facilitated  by  a  dedicated  role  (Scrum  master)  37  :  Agile  Coach  38  :  Team  members  volunteer  for  tasks  (self-­‐organizing  team)  39  :  Niko-­‐niko  Calendar  (Smiley  Calendar)  40  :  Set  a  sustainable  pace  41  :  Right  agile  style  for  their  organizadon  42  :  Give  the  team  a  dedicated  open  work  space  43  :  One  whole  team  44  :  Move  people  around  45  :  Set  up  a  dedicated  integradon  computer  46  :  User  Story  Mapping  47  :  Definidon  of  DONE  48  :  Fun  is  important  49  :  Slacking  Organizadonal  Structure  

Network  of  Referred  Pracdces  as  a  Pa?ern  Language

1

23

4

5

6

7

8

910

11

12

13

14

15

16

17

18

19

2021

22

23

24

25

26

27

28

2930

31

32

33

34

3536

37

38

39

40

41

42 43

44

45

4647

48

49

CultureWorks,  LLC

Page 29: パターンライティングワークショップ AgileJapan 2013

プロジェクトランゲージ

パタンのインスタンス

Page 30: パターンライティングワークショップ AgileJapan 2013
Page 31: パターンライティングワークショップ AgileJapan 2013
Page 32: パターンライティングワークショップ AgileJapan 2013

プロジェクトランゲージの例 昨日は初回リリースが無事に終わり、今はふりかえりを

している。 初、スパイク・ソリューションで技術的なリスク事項を確認し、シンプルデザインを心がけたので見通しは良かった。共通の部屋で、チーム全体がひとつになって開発を行った。チームは、ファシリテータ(スクラムマスター)と開発をした。プロダクトオーナーは、様々な調整に走り回りなかなか仕様が決まらなかったことが課題であった。  

昨日のリリースに対して障害の報告があがってきた。バグ時の再現テストですぐに確認できたので、継続的インテグレーションを用いてリリースを行った。リファクタリングのタイミングについては意見が割れている。

今後の体制は、顧客プロキシを実現しつつ、組織構造のバウンダリをゆるめながら進むことで、合意を得られた。このプロジェクトは、TOCと組み合わせるなど組織にあわせたアジャイルスタイルが実現できている。ただ楽しい工夫をもくろんでいることは内緒である。

Page 33: パターンライティングワークショップ AgileJapan 2013

プロジェクトランゲージ

•  パタンランゲージのプロジェクトごとの適用である。  – パタンの関連性によって構造が生み出される。  – プロジェクトは、ストーリ(物語)によって語られる。  – パターンを語彙として、それらを組み合わせて、

ビジョン(まだ存在しない未来のイメージ)を表現したもの  

Page 34: パターンライティングワークショップ AgileJapan 2013

プロジェクトランゲージのメタモデル クラス図1 2013/05/20 powered by Astah

pkg

PatternLanguage

ProjectLanguage Project

1..*1

Pattern

1..*1

Story1..* 0..*embeded in

Vision

1..*1

1..*

1

Context

Force

- postsituation1..*

1

Solution

1

1..*1..*

1..*

- precontxt

1..*

1..*

Problem

1..*

1..*

- presituation

1..*1..*

1..*

1..*

1..*

1..*- result contxt

1

1..*

Page 35: パターンライティングワークショップ AgileJapan 2013

ワークショップ

どうやってパタンを書くのか

Page 36: パターンライティングワークショップ AgileJapan 2013

ランゲージを創る  Pa?ern  Language

コトバ発見  Ethnographical  

Approach  

ビジョンを創る  Project  Language

対立解消  Conflict  

Transformadon  

過去を紡ぐ    知識記述

設計・修復  Design  and  

Configuradon  

知識共有

文化を紡ぐ パタンランゲージの世界β

知識発掘

CultureWorks,  LLC

未来を紡ぐ    

行為・現象

Page 37: パターンライティングワークショップ AgileJapan 2013

Soludon  [S]  解決策  

Masanari  Motohasi,  CultureWorks,  LLC

Pa?ern  Matrix

Problem  [P]  問題

Force  [F]  フォース

Context  [C]  文脈(現象)

Name  名前

Consequence  [R]  結果(利点・課題)

Problem  domain  問題領域

Soludon  domain  解決領域

「こうしたら」  •  うまく行ったこと  •  学んだこと  •  ちょっとしたこと  •  あ、それだ!  

•  問題領域に対して解決する  

「こうなった」  •  良かったこと・

利益  •  悪かったこと・

課題・留意点  

「こうしたかったら」  •  発生した問題  •  なぜ解決策が妥

当か  •  どんな問題を解

決したのか  

「なぜならば」  •  他の可能性ある

解決策を妨げる

こと  •  問題を難しくさせ

る特定する条件  •  なぜ難しい問題

なのか  •  考慮した点。  •  〜だが、〜〜。  

「こんなときに」  •  どのような状況

や環境下でそ

の問題が起こるのか?背景は

何か?  •  解決策を適用し

ても変わらない

問題に隠された仮定や前提。  

•  解決策を思い出しやすい、わかりやすい名

前  •  別名も書く(専

門用語、関連する用語を含む)  

•  名詞句が多い  

Author  :   @motohasi  Date          :    May  24,  2013  

for  weaving  experience!  Share  your  knowledge!  

1 3 4

5  マッチしているか?

思いついたときは随時追加する

5

必要に応じて反復(今回のワークでは省略)

小さめのお芋を用意し、事前に吹かした後、たき火で焼き

芋を作る。  

例:

印刷物を処分出来た。  課題:  •  近所迷惑  •  消火が必須  •  紙だけではダメ  

「リファレンスガイド」を印刷して、大量の紙が出来た。

•  興味のありそうな人や関係者には回覧しおわった。

•  保存しておくスペースがない。  

•  処分したいが、近くに紙を食べてくれる山羊は

いない。

•  リファレンスガイドなど大量の紙が出る。  

•  目が疲れるので、紙で読み

たい。

食べてもおいしいプラクティス

2 6

Page 38: パターンライティングワークショップ AgileJapan 2013

発表するパターンの順番

1.  名前  2.  文脈  3.  問題  4.  フォース  5.  解決策  6.  結果  

a.  利益  b.  課題

Page 39: パターンライティングワークショップ AgileJapan 2013

問い:  なぜ、パターン技術  (含むパターンランゲージ、プロジェクトランゲージ)  

を使うのか。  

もしくは、パターンがないと世界はどうなるか?

Page 40: パターンライティングワークショップ AgileJapan 2013

ありがとうございました

•  アンケートのお願い  – 付箋紙にご記入ください。  – 満足度を5点満点でご記入ください。  – ご感想、ご提案をご記入ください。  

•  ご質問やご意見、コンタクトをご希望される方は、お声がけください。  – 本橋  @motohasi  – 羽生田  @HHany