ペアプロ モブプロ
2021/5/14(金) 松田幸典
ペアプロについて
ペアプログラミング
• ナビゲーター(指示)役とドライバー役(コーディング)を決めて、


二人で一緒に開発する。


• ドライバー 


基本的にキーボードを使用してコーディングを行う人。


スキルのあるナビゲーターの指示に従ってコーディングを進めていくことで、初心
者でも高い品質を出すことが可能。レビューも兼ねた作業がGood!


• ナビゲータ


開発内容に応じて、複数あるアルゴリズムから適切なコードを具体的に想定


ドライバーに指示を出す。


モブプロ
モブプログラミング
• 3人以上で一緒に開発すること。


• ドライバー役が1人に対し、


ナビゲーター役が2人以上になります。
よく問題に出されるのが、、、
手戻り
よくある「手戻り」の原因
1 なんとなく決めて手戻る
• 設計および実装で「担当者がなんとなく決めた部分」で、よく手戻りが発生す
る。


「どうしてそうしたのか?」この部分が「なんとなく」で決まると手戻りが発
生してしまう。


• クラス、メソッドに分割方法


• クラス、メソッド、フィールドの命名


• メソッド内の処理順序、処理内容


• 技術課題の解決方法
よくある「手戻り」の原因
2 タスクに没頭して視野が狭くなり手戻り
• タスクに没頭しすぎると、普段は発生しないような要因で手戻りが発生して
しまう


• タスクを進めてるうちに本来の目的を忘れてしまい、目的を達成できない成
果を 作ってしまった


• 思いつく方法でtry&errorで設計・実装したのでそれが最適かどうかわからな
い
チームの向かう目標と個人の行動の乖離


コミュニケーションコストを


改善することが重要
ペアプロのメリット
•作業ミスの軽減


•業務内容の共有で作業効率化


•知識の向上


•チームワークの向上
最終的なコードの完成に向けての


・試行錯誤の方法


・不具合やエラーの調査や解決


・エディタの使い方
何よりのメリット!
こういった知見は技術書ではなかなか補填できない。。。
ペアプロのデメリット?
• スキルに差がある方は片方が退屈?


• 初心者同士ではメリットは薄い


• コーディング手法での意見が合わない時もある。
↓
• 教えることは自身の学びになる


• 分野ごとに専門性を分担する


• 受容する心が大事。複数の設計手法を知るのが自身の技術力の向上につなが
る。
ペアプロの心得 19条
休憩をとる


謙虚になる


自信を持つ


コミュニケーション


耳を傾ける


当事者意識を持つ


今やることに集中する


etc…


「ペアプログラミング- エンジニアとしての指南書」より
モブプロの原則
HRT(謙虚・尊敬・信頼)の原則
• 相手を否定してはいけない


• お互いがHRTを持つ


• チームに問題を起こすのではなく、




→チームで問題を解決する


• 悩みなは人数分の1、楽しさは人数分の倍
ヤフオクでの試み
• 新人と先輩エンジニアでコードリーディング。(コードツアー)


→ソースコードの意図を早く知り、全体仕様をより早く深く把握できます。


• プルリクなしにそのまま本番コードにマージ(まじか、、)


• ペアローテーションの導入


• リフレッシュも大事


→疲れた時は卓球したり


• PayPayフリマでの開発は全てペアプロ


• TDDで開発
ミラーリング機能で


お互いが操作できる環境
卓球も大事。らしいw
楽天でのモブプロルール
•最初から細かいルールは設けない


•モブへの出入りは自由


•交代は我が家方式(「代われ。」)


•合わないと思ったらやめる
どちらが生産性があるかは


簡単に決められない
ペアプロ・モブプロ.pdf

ペアプロ・モブプロ.pdf