🤼

初モブプロの体験記

2024/02/29に公開

外出する際は箱ティッシュが必須の季節ですね!!
最近は暖冬の影響か、早くも花粉症が大暴れしてます。。

さて今回はモブプログラミングの体験記を赤裸々に語っていきたいと思います。
ペアプロは以前から経験したことはありましたが、去年の暮れに初めてモブプロを経験しました。
その中でちょっとでも良いモブプロの時間にしようと試行錯誤した結果をアウトプットさせてください。

モブプログラミングとは

ChatGPTにお伺いを立てたところ以下のような回答が返ってきました。

モブプログラミングは、複数のプログラマーが同じコンピューターで協力してコードを書く手法です。通常、1つの画面を共有して、1人のドライバーがコードを実際に入力し、他のメンバーがリアルタイムでリアクションや指示を提供します。

だそうです。自分の場合はリモートで作業をするメンバーもいたことから実際に同じコンピュータを使ってプログラミングはしませんでしたが、画面共有をしつつ3人でモブプロをしていました。

モブプロをよくする取り組みの紹介

モブプロをする上で経験のあるメンバーがいたことから、最初から一日の終わりに振り返りをしました。
そのおかげで毎日何かしらモブプロを良くするための取り組みをしていたのでその紹介をします。

振り返りをする

先ほども述べましたがモブプロをしている3人で毎日振り返りをしていました。
毎週チームで振り返りはありますが、それとは別に、です。
そのおかげでかなり短いサイクルでモブプロのブラッシュアップが進みました。
振り返りの形式はチームで行っているKPTと同じでしたが、サクッと毎日したかったので30分で終わらせていました。

振り返りの様子

以降は振り返りのTRYで出たもので良かった取り組みの紹介です。

ポモドーロ・テクニックを活用する

ポモドーロ・テクニックとは25分ずつのセッションに分けて、合間で5分休憩するテクニックです。
自分のチームではプランニングやペアプロでも活用していますが、今回のモブプロでも活用しました。
セッションに分かれているおかげで集中力の継続と、ドライバーの交代もテンポよくできました。

TDD

これはペアプロでも行っていますが、割と厳格にTDDで行いました。
そのため、セッションの切れ間でドライバーが交代になった場合でも今どのような実装をしているか、をしっかり把握することができた気がします。

commitごとにreview

自分のチームではGitHubのPR単位でcommitを見たいため、mainブランチにmergeする際にはSquash and Mergeを利用することを推奨しています。
そのため、commitは主にPRのreview時にしか考えないんですが、そのcommitごとにモブプロを一旦中断しr各々でreviewを挟んでいました。
理由としては、モブプロとは言え同じPCで作業していたりする訳ではないので、PRのオープン時にケアレスミスが目立っていました。
そのTRYとしてcommitごとにreviewを挟むことでナビゲーターもコードの全体像を把握することができていました。

コメント欄を盛り上げる

リモートの悪いところで、同時に複数人が会話することは厳しいですよね。
そこで誰か1人が喋り切るまで待ってから話し出すことがリモートワーク時のTipsだと思うんですが、モブプロの場合はそれが良くない方向に作用します。

それは3人目が置いてけぼりを食らう、です。
ドライバー1人とナビゲーター2人の体制でモブプロをしていましたが、喋っていないナビゲーターが置いてけぼりを食らうシーンがありました。
その対策として喋っていないナビゲーターはひたすらコメント欄を盛り上げ、ドライバーは積極的にそのコメントを拾うことを心がけました。

モブプロの取り決めとしてコメントを積極的に拾う、というのがあったおかげで自分が3人目になったた時にはかなり気軽に置いてけぼりを阻止できていました。

まとめ

こんな感じで初めてのモブプロは個人的にはかなり成功しました。
一番の要因はやはり毎日振り返りをするですね。
何事においてもPDCAのサイクルを小さく回せることには越したことはないと改めて実感させられました。

SMARTCAMP Engineer Blog

Discussion