モブ・ペア・XP
モブプロっぽいものを取り入れてうまく言った話。
TL;DR
モブプロを導入して以下の効果が得られた。
いろんなスタイルを取れるので型を押し付けないことが大事。
導入にきっかけ
スクラム開発で開発していたらタスクが「レビュー待ち」のまま停滞していた。分析すると、基本的にタスクは実装まで一人のメンバーがアサインされていたために、レビュワーはアサインされてから仕様を確認したり、設計にダメ出しして後戻りになったりしていたことがわかった。 そこで、タスクをはじめから複数人で対応すれば、後戻りが減ると考えて導入に至った。
進め方
観察していると人によっていろんなパターンで導入していることがわかったが、どのパターンも効果が出ていたように思う。代表的なものを以下に記す。
教科書通りのモブプロ
一人が書いて複数人でハンドリングするパターン。仕様だけではなく、IDEの使い方などのテクニックも共有できるのがメリット
XPスタイル
常にペアプロのような形式は取らず、ペアとソロを状況によって切り替えるパターン。 設計やIFの実装は複数人で行い、IFの実装クラスやインターフェースを使う部分の実装はソロで行う。割り振られた実装が終わると手を挙げてレビュー依頼。レビューもコードをモニターに映しながら、口頭で説明しつつ進める。 すぐにレビューを始められるので、レビュー待ちが発生しない。また、書き手が多いのでモブプロよりもスピードは出ると思う。
環境について
どちらのスタイルを取るにしても、コミュニケーションを取りやすい環境は大事。個人的は以下が欲しい。
- 向かい合って座れるテーブル
- ホワイトボード
- 大きめのモニター
型を決めないことが大事
状況ごとにベストプラクティスがあるので、細かいやり方はチームに任せた方がいいと思う。唯一の決め事として「コミュニケーションのとりやすい環境で仕事する」というのを実践すればいい気がする。