hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

モブプログラミングについて

ちょっとやってみよう,って話になったのでちょっと調べた

  • mob programming,モブプロ
  • 全員で集まって1つのPCでプログラミングする
    • キーボードに座る人はどんどん交代する
  • Hunter Industriesで採用されている
    • この会社については存在を知らなかった
  • 1日の様子(2011)
  • 1日の様子(2016)
    • A day of Mob Programming 2016 - YouTube
    • 規模が大きくなっててオフィスもモブプロに特化していておもしろい
  • 関係性
    • よくあるペアプロでは,ドライバーとナビゲータではなくドライバーとフォロワーになってしまうことがある
    • 横に座ってる人が考えて,キーボードの前に座ってる人がタイピングする,という構造になるとよい
    • The golden rule for this style of pairing is: "For an idea to go from your head into the computer it MUST go through someone else's hands
    • キーボードではなく,キーボードの前に座ってる人を入力デバイスとして使う
  • 全員で見てるのでレビューが不要になり,masterでどんどん開発できるらしい
    • ここについては突然真似するとたいへんなことになりそう
  • ざっとまとまってる資料
  • 提唱者であるWoody Zuillさんの良い発表 1時間くらい

やってみたので感想を追記

  • エンジニア同士でエッジケースについて議論できたり(こういうのは実装終わってからレビューのタイミングでやりがち),プロダクトオーナーが同席していたので,すぐこの仕様でいいですかって聞けて便利だった
  • リモートでHangoutをつないでやってみたところ,画面の遅延があって厳しかった
    • コード書く側は直接画面に出力し,リモート向けにはHangoutで画面を送る,というスタイルに変更した
  • 環境に凝ってると,1台のPCで数分ごとに交代するのが難しそう
    • 突然めちゃくちゃにカスタマイズされたEmacsを渡されたり,キーリピートが異常に速かったり,IMEがSKKだったりすると操作不能
    • Teletype for Atomとか使うとよいのでは?という話もあった