$30 off During Our Annual Pro Sale. View Details »

20190404_モブプログラミング.pdf

Mariko
April 04, 2019

 20190404_モブプログラミング.pdf

Mariko

April 04, 2019
Tweet

Other Decks in Programming

Transcript

  1. モブプログラミング


    View Slide

  2. モブとは


    View Slide

  3. モブプログラミングとは?

    ﹡ モブ = 群集


    ﹡ 「3人以上」の人々が1台のコンピューターの
    前に座って協力しながら問題を解決してい
    くこと


    ﹡ リソース効率とフロー効率


    View Slide

  4. リソース効率とフロー効率

    リソース効率が良い

    稼働率100%、リソースに遊びがない


    フロー効率が良い

    機能リリースまでのリードタイムが短い


    渋滞する道路のイメージ


    View Slide

  5. モブプロの利点

    ﹡ モブプロはフロー効率を重視


    ﹡ フロー重視「機能を安く作るのではなく、早く
    完成させること」を目標とする


    ﹡ キーパーソンへの依存度が下がる


    ﹡ 仕事の品質が上がる=集団の方がいい判
    断を下せる


    View Slide

  6. モブプロの効果を測定・・?

    ﹡ チームの短期的な「ベロシティ」には現れな
    い(むしろ短期的には下がる)


    ﹡ チームがチームとして固まってくるまである
    程度の時間が必要


    ﹡ モブプロが解決する問題は複雑


    ○ エラー率の減少

    ○ 経験の浅いメンバーの学習度上昇


    View Slide

  7. 成長記録の管理

    モビングによって得られた成功を文書化して記
    録しておく(特に導入当初は効果的)


    ﹡ 成功を実感した日のできごと


    ﹡ 知識共有の機会が生まれた時


    ﹡ 品質上の問題が見つかったこと


    参加者全員で記録をメンテナンスすると良い


    View Slide

  8. モブプログラミングのはじめ方


    View Slide

  9. 最初のモビング
    ﹡ モビングは「実験」

    ○ 導入は一時的

    ○ 形態はモビングセッション
    を数回行う

    ○ 5回以上を目指す


    ﹡ オプトイン

    ○ 参加を強制しない

    ﹡ 参加者を決める


    ﹡ 場所を見つける


    ﹡ 解きたい問題を見つける


    ﹡ マシンの準備


    ﹡ タイマーの準備

    View Slide

  10. ちょっとした秩序

    効果を生むために


    View Slide

  11. 参加者

    ﹡ 初期は 3〜4人 が良い


    ﹡ コードを書ける人だけ


    ﹡ 全員にキーボードの前に座る機会を作る


    ﹡ 役割

    ○ タイピスト(1人)

    ○ モブ


    View Slide

  12. タイピスト

    その他のモブがしてくれと言ったことを取り入れて
    実装するスマートアシスタント

    1. モブがしてくれと頼んだことを「理解する」


    2. 要請の意味がはっきりしないときには「質問をする」


    3. してくれと頼まれたことをコードの形に「実装する」


    4. その他のモブを「信頼する」


    5. 新しいことを「学ぶ」(他の人のツールの活用法など)


    View Slide

  13. モブ

    問題解決チームの一員になる

    1. 問題解決につながる次の論理的
    ステップを見つけるために力にな
    る


    2. 理解できるまで質問をする


    3. モブ全体の理解の水準を上げる
    ために貢献する
    4. 眼の前の問題に集中する


    5. ほかのメンバーの意見を聞く


    6. 必要な情報を予測する


    7. システムのなかの改善すべき部
    分を探す

    View Slide

  14. 場所

    ﹡ 全員が窮屈にならず、快適な場所


    ﹡ 同時にコードを見れるようなところ


    ﹡ 必要な備品

    ○ 大画面

    ○ ホワイトボード


    View Slide

  15. 解きたい問題を選ぶ

    ﹡ 納期が迫っていないもの


    ﹡ 全員が同じ立場で向き合える問題


    ﹡ カタ(おすすめ)

    ○ モブ全員が良いと思うもの

    ○ 解決にセッション1つ分必要になるものが
    適切


    View Slide

  16. モビングセッション

    ﹡ 2時間程度


    ﹡ 準備(30分程度)


    ﹡ 本体(1時間30分程度)

    ○ 各インターバル(10分)


    ﹡ しめくくり(20分程度)


    View Slide

  17. 準備

    30分

    View Slide

  18. 準備0

    モブプロについて説明


    ﹡ 役割や心構えなど


    ﹡ このスライドで説明している内容


    View Slide

  19. 準備1

    1セッションで解ける適切な問題を選ぶ


    View Slide

  20. 準備2

    問題の概要を説明


    ﹡ 取り組むためのおおよそのプランを一致させる


    ﹡ ホワイトボードでブレスト


    ﹡ 15分程度で終わらせる


    ﹡ ホワイトボードにおおよその手順を書き出す


    View Slide

  21. 準備3

    タイピストの順番を決める


    ﹡ ホワイトボードに順番を書き出す


    View Slide

  22. セッション本体

    1時間30分

    View Slide

  23. 本体

    ﹡ インターバル 10分


    ﹡ タイマーが切れたら

    ○ 次のタイピストへ

    ○ Gitにマイクロコミット(コミットメッセージを
    書かないコミット)


    ﹡ モブの中でのその時の自分の役割を意識


    ﹡ セッション冒頭でホワイトボードに書いた手
    順に絶えず立ち返る


    View Slide

  24. ふりかえり

    20分

    View Slide

  25. ふりかえり手法:シンキングハット

    
 ステップ
 帽子
 時間

    1
 仕組みと説明
 ー
 4分

    2
 事実と数字
 白
 2分

    3
 肯定的感想
 黄色
 3分

    4
 批判的感想
 黒
 3分

    5
 建設的な問題解決法 
 緑
 5分

    6
 軌道修正すべきことの決定、合意形成 
 ー
 5分


    View Slide

  26. 黄色

    肯定的感想


    - 一番うまくいった
    ことは何か?
    - 予想外に簡単
    だったのは何
    か?
    - セッションでいい
    と思ったことは何
    か?
    黒

    批判的感想


    - うまくいかなかっ
    たのは何か
    - どこに不満を感じ
    たか



    正当な感想かどうかに
    ついて意見の一致は不
    要

    緑

    建設的な問題解
    決法







    この段階では、アイデ
    アを提案するだけであ
    り、どんな提案も却下
    されない

    白

    事実と数字


    例 :
    - タイピストを10分
    ごとに交代させた
    - エディタのフォント
    サイズは16ptだっ

    評価になっていないか
    注意
    全員が同時に同じ帽子をかぶる


    View Slide

  27. 軌道修正すべきこと・合意形成
    ﹡ 3分のタイマーをかける


    ﹡ 次のセッションで変えることを「ひとつ」決める


    ﹡ 全員の賛同を得る


    ﹡ Try


    ﹡ 全員の賛同を得られない場合何も変えない


    View Slide

  28. 初めてのモブプロはこんな感じ


    View Slide

  29. 2019/2/23 発売

    おすすめ!


    View Slide

  30. Shall we?

    View Slide