doilux’s tech blog

ITに関する備忘録。 DDP : http://doiluxng.hatenablog.com/entry/2018/01/01/195409

モブ・ペア・XP

モブプロっぽいものを取り入れてうまく言った話。

TL;DR

モブプロを導入して以下の効果が得られた。

  • レビュー工数の大幅な削減
  • 属人性の排除
  • IDEのテクなど、コーディング以外のノウハウ共有

いろんなスタイルを取れるので型を押し付けないことが大事。

導入にきっかけ

スクラム開発で開発していたらタスクが「レビュー待ち」のまま停滞していた。分析すると、基本的にタスクは実装まで一人のメンバーがアサインされていたために、レビュワーはアサインされてから仕様を確認したり、設計にダメ出しして後戻りになったりしていたことがわかった。 そこで、タスクをはじめから複数人で対応すれば、後戻りが減ると考えて導入に至った。

進め方

観察していると人によっていろんなパターンで導入していることがわかったが、どのパターンも効果が出ていたように思う。代表的なものを以下に記す。

教科書通りのモブプロ

一人が書いて複数人でハンドリングするパターン。仕様だけではなく、IDEの使い方などのテクニックも共有できるのがメリット

XPスタイル

常にペアプロのような形式は取らず、ペアとソロを状況によって切り替えるパターン。 設計やIFの実装は複数人で行い、IFの実装クラスやインターフェースを使う部分の実装はソロで行う。割り振られた実装が終わると手を挙げてレビュー依頼。レビューもコードをモニターに映しながら、口頭で説明しつつ進める。 すぐにレビューを始められるので、レビュー待ちが発生しない。また、書き手が多いのでモブプロよりもスピードは出ると思う。

環境について

どちらのスタイルを取るにしても、コミュニケーションを取りやすい環境は大事。個人的は以下が欲しい。

  • 向かい合って座れるテーブル
  • ホワイトボード
  • 大きめのモニター

型を決めないことが大事

状況ごとにベストプラクティスがあるので、細かいやり方はチームに任せた方がいいと思う。唯一の決め事として「コミュニケーションのとりやすい環境で仕事する」というのを実践すればいい気がする。