はじめに
本記事はモブプロ開発を行っているチームでやっている取り組み Advent Calendar 2022の11日目の記事です
今回は「ペアペアプロ」について紹介します。ペアペアプロ?と思った方がほとんどかと思いますが、これは私が勝手につけた4人で行うペアプロのやり方になります。
モブプログラミングがある程度進んでだいぶ慣れてきたときに、徐々にモブプログラミングの良さを残しながらさらに開発効率を上げる場面でとても友好的です
前回
Chapter#10 二並列で進めよう
モブプログラミングを導入して2カ月がたった
ベープ「モブプログラミングだいぶ慣れてきたっすね」
ミュート「そうですね、初めに考えていたメリットはしっかりと享受できてますし、アールさんも成長してますし、とても良い取り組みだと思います。私も勉強会でモブプロを利用しながら勉強してもらう会を開こうかなと思ってます」
じん「そうですね、次はこの取り組みを社内に広げていく取り組みも必要ですね」
アール「モブプログラミング私としてはとてもよいのですが、このモブプロの良さも残しつつ、個別の開発のよさも取り入れるみたいなことできるんですかね?みんなと開発もよいのですが、たまには一人で開発して実力を確認するみたいのもやってみたいと思いました」
ミュート「確かにそれあるね。全員が同じレベルでできるならもモブプロしなくてもPRをしっかりみるようにすればやらなくてもよいと思うし、ただいまはまだそこまでチームのレベルは上がってないし」
アール「そうっすね。自分もある程度できるようになりましたが、じんさんいないと厳しいところありますね」
じん「そういう悩みはそのうち出ると思っていました。モブプログラミングは時期に合わせて変化させていくべきで、将来的には個別で開発する方向にシフトすべきかなとは思っています。その過程として今回はペアペアプロ
をやっていきましょう!」
一同「ペアペアプロ???」
ペアペアプロについて
ペアペアプロは私が勝手に名前を付けたペアプロの1種となります
ペアペアプロでは4人チームで2人のペアプロチーム×2チームを作成してペアプロをする方式になります
ペアプロを2チームでやることからペアペアプロと呼んでいました
ペアプロについてはこの本がとても参考になるのでぜひご覧ください
ペアペアプロでは以下の流れでやってきます
- その日に何時間作業をするかをきめます (1時間単位で決める)
- 1時間ごとにペアプロするチームを決めておきます。ここで常に同じチームにならないようにメンバーを回します
- ペアプロを開始したらそこまででどのような実装をしていたか簡単に説明します
- ドライバー/ナビゲーターを適当に決めて実装を行います
- 1時間後に休憩をとって次のチームに移動します
この取り組みはモブプログラミングの良さを生かしつつ、並列に作業するメリットも得ることができます
- 1時間ごとにチームが変わるので必然的に開発しているすべてのコードに目を通している
- 1時間の範囲なので説明にもそこまでかからない
- 新人も今の作業方針を理解して説明する必要が出てくる
- 新たな視点でそこまでの開発を聞けるのでリファクタリングやバグをみつけられる
- 2並列で作業が進むので4人で同じ作業をするより効率的
このようにモブプログラミングのデメリットであった作業が1つしかできないというデメリットをケアしつつ、モブプログラミングのよさを得られるというとてもよい開発方法になっています
ペアプロをしたことがある人はほとんどだと思っていますが、しっかりペアプロとはどのようになるのかを学び、ペアペアプロのような取り組みを取り入れることでより良い開発が出来るようになるかと思います
またモブプログラミングを検証するような時間がないというチームではいきなりペアペアプロをいれるのもかなりありかなと思っていますのでぜひ試してみてください
次回
おわりに
今回はかなり短くなりますが、ペアペアプロを用いた2並列の開発方法について説明しました
次回はそれをさらに発展させたキャプテン制度という開発方法について説明します
徐々にモブプログラミングから個別で成果が出せるチームへ向かって進んでいきます