SlideShare una empresa de Scribd logo
1 de 17
1




 Scrum Alliance Regional Gathering Tokyo

スクラムの実践現場でのよいやり方を
     形式知にしよう!
~ パターンマイニングワークショップ
              鷲崎 弘宜
         早稲田大学、国立情報学研究所
                2013 年 1 月 15 日
                    Rev. 1.1
パターン(パタン)とは
                                                                               2



   特定の「文脈」で繰り返し起きる「問題」とその「解
    決」の記述
       経験的なコツや暗黙知を、言語化して形式知にしたもの
       問題の発見と解決のための再利用可能な道具
       建築のパタンランゲージに端を発す [Alexander77]: 活動の拠点
        、小さな広場、路上のカフェ、街路への開口・・・
       概ね一定の形式で記述
        (文脈)の状態において対象が(フォース・影響力)を持っ
        た(問題)に直面しているとき、(解決)によって文脈は(結
        果)へと変わっていく。

   ソフトウェア開発のマネジメントパターン ⇒ アジャイル
    開発へ
        組織構造(チーム編成)最適化の指針、パターン
       生産性の高い開発プロセスに共通する優れたプロセスのパターン

       例 : 開発工程の生成的パターンランゲージ(作業の分割
[Alexander77] C. Alexander 他著 , 平田翰那訳 , “ パタン・ランゲージ” , 鹿島出版 , 1977 ・・・)
Alexander, Christopher, et al. A Pattern Language. Oxford University Press, 1977.
         、エピソード(顧客を引きこめ ・・・) [PLoPD01]
[PLoPD01] PLoPD Editors, “ プログラムデザインのためのパターン言語” , ソフトバンクパブリッシング ,
例 : ペアで開発せよ [PLoPD01]
    (文脈)の状態において対象が(フォース・影響力)を持っ
    た(問題)に直面しているとき、(解決)によって文脈は(結
    果)へと変わっていく。
 文脈: コード所有権が確認され、開発が進行している
 問題:人は一人での問題解決を怖がる

 フォース:

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


 解決: 気の会う設計者をペアにして一緒に作業させる。そ
  のほうが生産性が高まり、死角も減る
 結果: より効率的な実装工程となる




                                    3
例 : バッファロマウンテン
    [PLoPD01]
        (文脈)の状態において対象が(フォース・影響力)を持っ
        た(問題)に直面しているとき、(解決)によって文脈は(結
        果)へと変わっていく。
 文脈:複数の部門にまたがっている。部門間のコミュニケーショ
  ンはプロジェクト成功の鍵である。
 問題: 大規模組織のコミュニケーションを効率的に活用したい

 フォース:
       コミュニケーションの混乱はプロジェクトの規模に比例
       役割孤立とコミュニケーション欠如はエラーの元
       完全分散コントロールは、コントロールの崩壊に
   解決:
       「中心」からの距離が遠いほどその他の組織との関わりを減らし、役割
        の独立性を高める
       プロジェクトにおいて、ひとつの役割のコントロールの範囲を広げ、類
        似した共同作業は役割と併合する
 結果: 役割間でバランスの取れたコミュニケーションを持つ
 関連パターン : 「責任を動かせ」「作業は内側へ流れる」
                                       4
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


              パターンのマイニング手順
   成果や経験に含まれるノウハウをパターンとして発
    掘
       インタビュー、自身、講義、ワークショップ
   (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




         (4) 抽象化して一定の具体性を持って下記の項目を合
          致させられるか分析(単一体験談も可),付箋紙に記
          述.
             文脈 : 集合中の体験談に共通の背景や環境
             問題 : 共通に扱われる問題
             フォース群 : 考慮する制約や影響力.「Aである.しかし,
              Bである」
             解決 : 共通の解決策
             結果 : 結果に共通する状況や効果
    (5) 扱う範囲と効果のバランスを集団でレビュー,修
      

    正.成功体験談           パターン候補
初期状況 アプローチ  結果  文脈 問題 フォース群 解決 結果
   (6) 名前を付けてパターン候補
                       ・ Fa1
 I1           A1   R1                      Sa   Ra
                                   ・ Fa2
                         Ca   Pa
I2            A2   R2
                                   ・ Fb1
                                           Sb   Rb
                                   ・ Fb2
マイニングの「コツ」
                                          8




   手順や道具立て
       体験談、続いて、パターン化。問題やフォースの見極めは最初
        困難。
       記述形式が定まっていれば、マイニングしやすい
       アプローチ “のみ” 似た体験談群をパターン化するのは誤り!
   使えるパターンの条件
       適度に具体的であること。
       「 A ならば B 」というルール規則ではないこと。
       そうそう!
   周辺パターン候補に気付き、パターンランゲージ(言
    語)へ
      文脈やフォースを変える。残った問題の解決を考える。
      パターンを言葉として、異なる立場間の議論・アイディア交換
    街の中心部には 活動の拠点 として 小さな広場 を設けよう。その広場に
       可能に
    は、訪問者や近隣の人々が気軽に集い落ち着けるように、いくつかの 路上
      言葉が言葉を生む(創造性)
    のカフェ が集まってひらかれるように奨励しよう。それぞれのカフェは
    、オープンエアで楽しめるように 街路への開口 を持たせられるとよい
    ・・・
【ワークショップ】 Scrum     9



        を題材としたパターンマイニ
        ング
   Scrum の説明や教育
   Scrum の組織への導入
   Scrum の実施
       プラクティス適用のコツ
       その他の工夫
   Scrum と日本的商習慣や契約形態
   Scrum の大規模開発への適用
   Scrum の分散・オフショア開発への適用
   (その他)
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
参考 : 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



   パターンの原典をあたる
       C. Alexander 他著 , 平田翰那訳 , “ パタン・ランゲージ” , 鹿島
        出版 , 1977
   ソフトウェアパターンの広がり全体を掴む
       深澤監修 , 鷲崎 , 丸山 , 山本 , 久保 , “ ソフトウェアパターン” ,
        近代科学社 , 2007.
       羽生田栄一 監修 , パターンワーキンググループ著 , " ソフト
        ウェアパターン入門~基礎から応用へ~ ", ソフトリサーチセ
        ンター , 2005.
   ソフトウェアパターンとパターンランゲージの最先端
    を知る
       鷲崎 , 江渡 , 吉岡 , 位野木 , 本橋 , 羽生田 , 懸田 , 井庭 , “ ソ
        フトウェアパターン - 時を超えるソフトウェアの道 ", 情報処
        理 , 情報処理学会 , Vol.52, No.9, 2011.
参考 : 開発工程の生成的パターンランゲー
  ジ
 組織の大きさ    スケジュールの      形式は機能に従う       自己選抜チーム      ソロ演奏名手
 を決めよ      大きさを決めよ
                                      組織は場所に従う          組織は市場
役割の中の          段階的実施     見習い                            に従う
ドメイン専門性
                                      アーキテクトが製品
                       開発者が工程を        をコントロール      コンウェイ法則
        パトロン           コントロール
       組織パターン                      アーキテクトもまた実装      コード所有権
                 アプリケーション設計は
                 テスト設計に拘束される          アーキテクチャレビュー
           グループ確認       QA を引き込め      顧客を引き込め    シナリオが問題定義
          プロセスパターン
                            雇われ分析者

流通範囲                            防火壁
を整える
                                門番
  名前付き
  安定ベース バッファロマウンテン 責任を動かせ             作業は内側へ流れる

          ステージ間を       ハブとスポー    結合は待ち時間      役割あたり      ペア開発
 分割統治
          切り離せ         クとリム      を減らす         3-7 ヘルパ

                                      割り込みに   小刻みな遅れ       成功に
審美的パターン    割り込みはブロッ       プロトタイプ
                                      割り込むな   を作るな         報いよ
           キングを解除                                               13
14

        マイニング結果
経験者の活用
 文脈 : アジャイルを導入したい

 問題 : 知識がない。確信が持てない。

 フォース :
       自分が正解を持っていない。
       案件へのマッチが必要
   解決 : 誰かに聞く(その「誰か」の見つけ方が述べられるとな
    およい)
   結果 : 自信がつく。

とりあえずやっちゃえ
 文脈 : 導入を検討中

 問題 : はじめられそうではじめられない

 フォース :
       成功するかどうか不明
       失敗OKの案件あり
       やる気のある人あり
   解決 : 失敗OKの案件やリカバリーOKのフェーズまで試す。
    (パターンとして二つに分けられそう)

15

        マイニング結果
百聞は一見にしかず
 文脈 : 画面仕様がなかなか決まらない

 問題 : 動く画面を見ないと分からない

 フォース :
       自分で見たものしか信じない
       (全体の動作可能な実装には時間を要するが、画面部分のみであれば
        容易?)
   解決 : 動くものを早期に提供する。
   結果 : スピードアップ、もれなし

とりあえずやってみる
 文脈 : チームが複数

 問題 : コミュニケーションがとれていない(他チームへの波及
  に絞るとよい)
 フォース :
       朝会経験者が少ない。
       懐疑派が多い。隠したい。余計な仕事が降ってくる?
   解決 : 朝会をやってみる。他のチームにも波及
   結果 :
16

        マイニング結果
振り返りは大事
 文脈 : アジャイルの経験が不足

 問題 : 問題は認識しているが各自では解決できていない

 フォース :
       シェアすると、解決案がでやすい
       (平常はそれぞれに作業、定期的に集まれる、といった何らかの他の
        フォースあり?)
   解決 : 振り返りにより問題シェア、解決案の明確化
   結果 : シェアされ、解決される。自発的にシェア、提案するよ
    うに。

目標達成
 文脈 : スプリント期間中にすべて完了しない

 問題 : 目標が不明確

 フォース : (以下はフォースというよりは問題に近い)
       不安を解消して取り組みたい
       モチベーションをあげたい
   解決 : 目標をブレイクダウンして見える化
   結果 : 安心感が生まれサポートも可能に。納期守る。
17

        マイニング結果
チキンハート
 文脈 : 知らない人に説明したい
 問題 : 保守的で受け入れてくれない
 フォース :
       失敗したくない
       変化に対応できない
       今のプロセスには不満
   解決 : 失敗しても良い形でやってみる。(誰がどのように実施
    するとよいのか、明示されるとなおよい)
   結果 : 成功体験、少しずつ変化

安全度まで失敗する
 文脈 : 知識はあるが経験なし
 問題 : やるべきことが分からない
 フォース :
       失敗は怖い。恥ずかしい。
       体験することで学ぶ。
   解決 : 手軽にやってみる。疑似体験。(どのように疑似体験す
    るか、明示されるとなおよい)
   結果 : 失敗と体験を通じて理解深まる

Más contenido relacionado

Destacado

ICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けてICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けて
Hironori Washizaki
 
Software Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and ModelsSoftware Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and Models
Hironori Washizaki
 
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
Hironori Washizaki
 
アジャイルアンチパターン 〜私がアジャイルの1周目で学んだこととXPの次の10年〜
アジャイルアンチパターン 〜私がアジャイルの1周目で学んだこととXPの次の10年〜アジャイルアンチパターン 〜私がアジャイルの1周目で学んだこととXPの次の10年〜
アジャイルアンチパターン 〜私がアジャイルの1周目で学んだこととXPの次の10年〜
Fumihiko Kinoshita
 
"Ordinary" System Development
"Ordinary" System Development"Ordinary" System Development
"Ordinary" System Development
Shintaro Kakutani
 

Destacado (20)

Sematj 1st-study meeting
Sematj 1st-study meetingSematj 1st-study meeting
Sematj 1st-study meeting
 
ICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けてICST2015勉強会 ICST2017に向けて
ICST2015勉強会 ICST2017に向けて
 
S qu bok特別講演2015年2月-開発領域
S qu bok特別講演2015年2月-開発領域S qu bok特別講演2015年2月-開発領域
S qu bok特別講演2015年2月-開発領域
 
Software Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and ModelsSoftware Maintenance Support by Extracting Links and Models
Software Maintenance Support by Extracting Links and Models
 
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
 
経済産業省/IPA 委託事業 「IT人材育成強化加速事業」拠点 早稲田大学における 産学連携実践的IT教育講座の紹介
経済産業省/IPA 委託事業「IT人材育成強化加速事業」拠点早稲田大学における産学連携実践的IT教育講座の紹介経済産業省/IPA 委託事業「IT人材育成強化加速事業」拠点早稲田大学における産学連携実践的IT教育講座の紹介
経済産業省/IPA 委託事業 「IT人材育成強化加速事業」拠点 早稲田大学における 産学連携実践的IT教育講座の紹介
 
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
鷲崎 愛媛大学講演-プロジェクト型演習2014年12月15日
 
情報システム企画・開発の実践的な疑似プロジェクトベース教育
情報システム企画・開発の実践的な疑似プロジェクトベース教育情報システム企画・開発の実践的な疑似プロジェクトベース教育
情報システム企画・開発の実践的な疑似プロジェクトベース教育
 
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...Recovery of Traceability Links and Behavior Models for Software Maintenance,...
Recovery of Traceability Links and Behavior Models for Software Maintenance,...
 
早稲田大学における 実践的IT科目 - 疑似プロジェクトベース教育とチーム構成 -
早稲田大学における実践的IT科目- 疑似プロジェクトベース教育とチーム構成 - 早稲田大学における実践的IT科目- 疑似プロジェクトベース教育とチーム構成 -
早稲田大学における 実践的IT科目 - 疑似プロジェクトベース教育とチーム構成 -
 
鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎
鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎
鷲崎 メトリクスの基礎とGQM法によるゴール指向の測定 2014年12月18日 日本科学技術連名SQiP研究会 演習コースI ソフトウェア工学の基礎
 
A Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse EngineeringA Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse Engineering
 
アジャイル品質セミナー・アジャイル開発イテレーション・学習
アジャイル品質セミナー・アジャイル開発イテレーション・学習アジャイル品質セミナー・アジャイル開発イテレーション・学習
アジャイル品質セミナー・アジャイル開発イテレーション・学習
 
アジャイルをシミュレーションで理解する
アジャイルをシミュレーションで理解するアジャイルをシミュレーションで理解する
アジャイルをシミュレーションで理解する
 
SQiP2015-研究のデザイン入門
SQiP2015-研究のデザイン入門SQiP2015-研究のデザイン入門
SQiP2015-研究のデザイン入門
 
You Should Attend Rubykaigi2010
You Should Attend Rubykaigi2010You Should Attend Rubykaigi2010
You Should Attend Rubykaigi2010
 
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
ソフトウェアエンジニアリングの全体とIoT時代のモデリングおよび関連する品質
 
アジャイルアンチパターン 〜私がアジャイルの1周目で学んだこととXPの次の10年〜
アジャイルアンチパターン 〜私がアジャイルの1周目で学んだこととXPの次の10年〜アジャイルアンチパターン 〜私がアジャイルの1周目で学んだこととXPの次の10年〜
アジャイルアンチパターン 〜私がアジャイルの1周目で学んだこととXPの次の10年〜
 
Panel discussion Nonaka with Hiranabe At Scrum Gathering Tokyo 2013
Panel discussion Nonaka with Hiranabe At Scrum Gathering Tokyo 2013Panel discussion Nonaka with Hiranabe At Scrum Gathering Tokyo 2013
Panel discussion Nonaka with Hiranabe At Scrum Gathering Tokyo 2013
 
"Ordinary" System Development
"Ordinary" System Development"Ordinary" System Development
"Ordinary" System Development
 

Similar a Pattern mining-scrum gatheringtokyo20130115

パターンマイニング参考資料
パターンマイニング参考資料パターンマイニング参考資料
パターンマイニング参考資料
Hironori Washizaki
 
20111207 勉強会のパターンを書いてみるワークショップ
20111207 勉強会のパターンを書いてみるワークショップ20111207 勉強会のパターンを書いてみるワークショップ
20111207 勉強会のパターンを書いてみるワークショップ
Yasunobu Kawaguchi
 

Similar a Pattern mining-scrum gatheringtokyo20130115 (20)

パターンマイニング参考資料
パターンマイニング参考資料パターンマイニング参考資料
パターンマイニング参考資料
 
ユーザーストーリーワークショップ
ユーザーストーリーワークショップユーザーストーリーワークショップ
ユーザーストーリーワークショップ
 
Scrum"再"入門
Scrum"再"入門Scrum"再"入門
Scrum"再"入門
 
ユーザーストーリーワークショップ実践編
ユーザーストーリーワークショップ実践編ユーザーストーリーワークショップ実践編
ユーザーストーリーワークショップ実践編
 
Modeling Workshop
Modeling WorkshopModeling Workshop
Modeling Workshop
 
20111207 勉強会のパターンを書いてみるワークショップ
20111207 勉強会のパターンを書いてみるワークショップ20111207 勉強会のパターンを書いてみるワークショップ
20111207 勉強会のパターンを書いてみるワークショップ
 
アジャイルマニフェストから見るインセプションデッキ
アジャイルマニフェストから見るインセプションデッキアジャイルマニフェストから見るインセプションデッキ
アジャイルマニフェストから見るインセプションデッキ
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門
 
Scrum alliance regional gathering tokyo 2013 pub
Scrum alliance regional gathering tokyo 2013 pubScrum alliance regional gathering tokyo 2013 pub
Scrum alliance regional gathering tokyo 2013 pub
 
はじめてのScrumこれから大切にしたいこと Release#2
はじめてのScrumこれから大切にしたいこと Release#2はじめてのScrumこれから大切にしたいこと Release#2
はじめてのScrumこれから大切にしたいこと Release#2
 
Agile Overview In Ono
Agile Overview In OnoAgile Overview In Ono
Agile Overview In Ono
 
アジャイルマネジメントとは?
アジャイルマネジメントとは?アジャイルマネジメントとは?
アジャイルマネジメントとは?
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
 
Software Engineering And Role of Agile
Software Engineering And Role of AgileSoftware Engineering And Role of Agile
Software Engineering And Role of Agile
 
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけてAgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
 
アジャイル開発&TFS導入
アジャイル開発&TFS導入アジャイル開発&TFS導入
アジャイル開発&TFS導入
 
Scrumワークショップ
ScrumワークショップScrumワークショップ
Scrumワークショップ
 
スクラム再入門
スクラム再入門スクラム再入門
スクラム再入門
 
ぼくたちの現場リファレンス活用ワークショップ
ぼくたちの現場リファレンス活用ワークショップぼくたちの現場リファレンス活用ワークショップ
ぼくたちの現場リファレンス活用ワークショップ
 
リーン原則とソフトウェア開発
リーン原則とソフトウェア開発リーン原則とソフトウェア開発
リーン原則とソフトウェア開発
 

Más de Hironori Washizaki

Más de Hironori Washizaki (20)

Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
IEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions UpdateIEEE Computer Society 2024 Technology Predictions Update
IEEE Computer Society 2024 Technology Predictions Update
 
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
鷲崎弘宜, "国際規格ISO/IEC 24773とその意義", 情報処理学会 第86回全国大会
 
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK GuideIEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
IEEE Computer Society’s Strategic Activities and Products including SWEBOK Guide
 
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
TISO/IEC JTC1におけるソフトウェア工学知識体系、技術者認証および品質の標準化と研究・教育他への活用
 
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
アジャイル品質のパターンとメトリクス Agile Quality Patterns and Metrics (QA2AQ) 20240225
 
Joseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about ArchitectureJoseph Yoder : Being Agile about Architecture
Joseph Yoder : Being Agile about Architecture
 
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
 
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
SWEBOK Guide Evolution and Its Emerging Areas including Machine Learning Patt...
 
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
デジタルトランスフォーメーション(DX)におけるソフトウェアの側面とダイバーシティ・インクルーシブに関する研究実践動向
 
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
SQuBOKガイドV3概説 ~IoT・AI・DX時代のソフトウェア品質とシステム監査~
 
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
人生100年・60年カリキュラム時代のDX人材育成: スマートエスイー 2021年度成果および2022年度募集
 
スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介スマートエスイーコンソーシアムの概要と2021年度成果紹介
スマートエスイーコンソーシアムの概要と2021年度成果紹介
 
DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方DXの推進において企業内に求められる人材やデジタル人材の育て方
DXの推進において企業内に求められる人材やデジタル人材の育て方
 
対応性のある運用のパターン
対応性のある運用のパターン対応性のある運用のパターン
対応性のある運用のパターン
 
モデル訓練のパターン
モデル訓練のパターンモデル訓練のパターン
モデル訓練のパターン
 
パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度パターンのつながりとAI活用成熟度
パターンのつながりとAI活用成熟度
 
データ表現のパターン
データ表現のパターンデータ表現のパターン
データ表現のパターン
 
機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル機械学習デザインパターンの必要性と機械学習ライフサイクル
機械学習デザインパターンの必要性と機械学習ライフサイクル
 
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
青山幹雄先生を偲んで(開拓、理論、実践、コミュニティ&国際)
 

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 マイニング結果 チキンハート  文脈 : 知らない人に説明したい  問題 : 保守的で受け入れてくれない  フォース :  失敗したくない  変化に対応できない  今のプロセスには不満  解決 : 失敗しても良い形でやってみる。(誰がどのように実施 するとよいのか、明示されるとなおよい)  結果 : 成功体験、少しずつ変化 安全度まで失敗する  文脈 : 知識はあるが経験なし  問題 : やるべきことが分からない  フォース :  失敗は怖い。恥ずかしい。  体験することで学ぶ。  解決 : 手軽にやってみる。疑似体験。(どのように疑似体験す るか、明示されるとなおよい)  結果 : 失敗と体験を通じて理解深まる