Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ペアプロしようぜ 〜3人で登壇!? 楽しくて速いペアプロ/モブプロ開発〜/pair-mob-programming-kaigi-on-rails-2023

masuyama13
October 28, 2023

ペアプロしようぜ 〜3人で登壇!? 楽しくて速いペアプロ/モブプロ開発〜/pair-mob-programming-kaigi-on-rails-2023

masuyama13

October 28, 2023
Tweet

More Decks by masuyama13

Other Decks in Programming

Transcript

  1. Kaigi on Rails 2023
    ペアプロしようぜ
    3人で登壇!?
    楽しくて速いペアプロ/モブプロ開発

    View full-size slide

  2. masuyama13
    eatplaynap
    (トミー)
    あんすと

    View full-size slide

  3. 動画マニュアルを
    かんたんに作成・管理

    View full-size slide

  4. ペア/モブプロを
    したことがある ✋

    View full-size slide

  5. ペア/モブプロが
    メインの体制で
    開発したことがある✋

    View full-size slide

  6. ペア/モブプロ
    ペア/モブプロがメイン

    View full-size slide

  7. ● ペア/モブプロの
    良さがわかる
    このセッションに参加すると…?
    ● ペア/モブプロの
    本格的なやり方が
    わかる

    View full-size slide

  8. 発表 ライブコーディング

    View full-size slide

  9. これが真の
    ペア/モブプロだ!
    おことわり
    私たちのチームで
    うまくいっている方法
    ● 再現性はあります

    View full-size slide

  10. ペアプロの研究データ

    View full-size slide

  11. フィードバックの
    タイミングと
    修正コストの関係
    出典: http://www.ambysoft.com/
    essays/whyAgileWorksFeedback.html

    View full-size slide

  12. フィードバックの
    タイミングと
    修正コストの関係
    ペアプログラミングによる
    プログラミングの欠陥の発見
    レビューまたは検査に
    よる欠陥の発見
     
    フィードバックサイクル
     





    出典: http://www.ambysoft.com/
    essays/whyAgileWorksFeedback.html

    View full-size slide

  13. ソロプロ vs ペアプロ
    開発時間: 15% 増
    不具合: 15% 減
    (テストケースの通過率) 

    出典: The Costs and Benefits of Pair Programming (Alistair Cockburn, 2009)

    View full-size slide

  14. ペア
    +15%
    課題に要したコーディング時間
    出典: The Costs and Benefits of Pair Programming (Alistair Cockburn, 2009)
    ソロ

    View full-size slide

  15. ソロ
    ペア
    +15%
    出典: The Costs and Benefits of Pair Programming (Alistair Cockburn, 2009)
    2.3 倍
    課題に要したコーディング時間

    View full-size slide

  16. ソロ
    ペア
    +15%
    出典: The Costs and Benefits of Pair Programming (Alistair Cockburn, 2009)
    課題に要したコーディング時間 レビュー
    レビュー対応
    修正 手戻り
    不具合対応

    View full-size slide

  17. ペアプロで
    増える
    開発コスト
    出典: The Costs and Benefits of Pair Programming (Alistair Cockburn, 2009)
    ペアプロで
    減らせる
    修正コスト

    View full-size slide

  18. 我々を
    蝕んでいた
    課題
    プロブレム

    View full-size slide

  19. 第1位 ???
    第2位 ???
    第3位 新メンバーが
        キャッチアップしにくい
    ソロプロ ツラかったランキング

    View full-size slide

  20. 第1位 ???
    第2位 属人化
    第3位 新メンバーが
        キャッチアップしにくい
    ソロプロ ツラかったランキング

    View full-size slide

  21. 第1位 ???
    第2位 属人化
    第3位 新メンバーが
        キャッチアップしにくい
    ソロプロ ツラかったランキング

    View full-size slide

  22. 第1位 終わらない、レビュー。
    レビュー依頼〜マージが2日以上

    View full-size slide

  23. ペア/モブプロの
    課題と対策

    View full-size slide

  24. 1.
    始め方が
    分からない

    View full-size slide

  25. Slack で画面共有
    ● ハドルミーティング
    ● ペンツールで指示しやすい
    ● 自分のエディタ/キーボードを
    使える

    View full-size slide

  26. 2.
    迷走しがち

    View full-size slide

  27. ● 5〜10分程度
    開始前に
    方針を書き出す

    View full-size slide

  28. 3. 疲労コンパイルエラー

    View full-size slide

  29. こまめに休憩
    ● 目安
    ○ 1時間ペアプロ
    ○ → 10分休憩
    ● 割とすぐ慣れる

    View full-size slide

  30. 4. ずっと俺のターン

    View full-size slide

  31. 時間で区切る
    ● タイマーを使う
    ○ 15〜20分で交代
    ● キリが悪くても、tmp コミットを積んで交代

    View full-size slide

  32. 5. ドライバーが全部やってしまう

    View full-size slide

  33. 実況中継?

    View full-size slide

  34. ドライバー? タイピスト

    View full-size slide

  35. タイピスト ナビ
    役割を守る

    View full-size slide

  36. ペア/モブプロ
    開発の成果

    View full-size slide

  37. 第1位 終わらない、レビュー。
    第2位 属人化
    第3位 新メンバーが
        キャッチアップしにくい
    ソロプロ ツラかったランキング

    View full-size slide

  38. 属人化が減った
    新メンバーの
    キャッチアップが
    早くなった

    View full-size slide

  39. 第1位 終わらない、レビュー。
    第2位 属人化
    第3位 新メンバーが
        キャッチアップしにくい
    ソロプロ ツラかったランキング

    View full-size slide

  40. レビュー依頼〜マージが30分以内に!

    View full-size slide

  41. 実際の様子は?

    View full-size slide

  42. LIVE
    モブプロ

    View full-size slide

  43. 題材
    (https://bootcamp.fjord.jp/)

    View full-size slide

  44. (https://bootcamp.fjord.jp/)

    View full-size slide

  45. ● 高速な
    フィードバックサイクル
    ● 属人化の防止
    ペア/モブプロ開発のメリット
    ● 新メンバーの
    キャッチアップ速度向上

    View full-size slide

  46. こまめに休憩
    短時間で交代
    ペア/モブプロ実践 TIPS
    開始前に
    方針を書き出す
    タイピスト/ナビ
    ナビが進行、
    タイピストはナビの手

    View full-size slide

  47. そして…

    View full-size slide

  48. ペアプロは
    楽しい

    View full-size slide

  49. ご清聴ありがとうございました
    ほぼ全部ペアプロ開発

    View full-size slide