リモート環境下のペアプロ、モブプロをしやすくした話

こんにちは、こんばんは!ほったです(`・ω・´)ゞ

今日はリモート環境下でのペアプロ、モブプロを実施する上で出てきた課題解決の手段として
Visual Studio CodeのLive ShareとIntelliJ IDEAのCode With Meを試してみた話をしようとおもいます!

※Live ShareやCode With Meの導入方法については公式でまとまっているページがあったり、
ブログ等でまとめてくださっている方がたくさんいらっしゃったので今回は割愛させていただきます!

経緯

去年の10月ごろに、スクラムの改善として「価値を素早く届けるためにはどうすればいいか」を
所属Divのスクラムマスターや関心のあるエンジニアが集まって議論しました。

どのチームもリソース効率を向上させる動きが強く、スプリント内のタスクを個人に振り当て
並行で進めている状態でした。

リソース効率を向上させるよりも、フロー効率を向上させる方が自分たちの方針にマッチしそうだという結論から
今まで以上に活発にペアプロ、モブプロの作業を実施する回数が増えていきました。

課題

継続していく上で、オフィスで実施していた頃よりも
認識を合わせることに時間がかかるような感覚がありました。

例えば

  • ナビゲータがコードの書き方について提案する際に、口頭で説明したり、Zoomのチャットにサンプルコードを貼る
  • ドライバーの開発している内容がナビゲータのローカルにはないため、都度commit、pushが必要

個人的な感覚として ナビゲータがコードの書き方について提案する際に、口頭で説明したり、チャットにサンプルコードを貼る
特にペアプロ、モブプロをする上で時間がかかっているなと感じていました。

オフィスにいた頃は、個人に支給されるモニターとは別に、大きいモニターがありました。
モニターの前に集まって、1台のPCでペアプロ、モブプロを実施していたため、ドライバーとナビゲータの交代が柔軟でした。

対面での体験をリモート環境下でも再現できないか、検証するためにコード共同編集ツールを試してみることにしました!

Let's 検証

  1. コード共同編集ツールの仕組みをまとめ、社内のセキュリティ基準的に問題ないか確認
  2. 所属チームで導入・検証
  3. 検証結果まとめ
  4. 展開判断

1. コード共同編集ツールの仕組みをまとめ、社内のセキュリティ基準的に問題ないか確認

ツールのセキュリティの項目をまとめて、GMや自社内にあるセキュリティ委員会の方達に判断していただきました!
現状は 機密情報が書かれていないプロジェクトであれば使用して良い というところで運用しています。

2. 所属チームで導入・検証

私が所属していたチームで導入・検証を進めることとなり
チーム内での軽く試してみて、いい感触があったので
次スプリントでのペアプロ・モブプロの際に実際に試してみよう!となりました

ですがこのタイミングでチーム編成があり、私は別のチームに所属することに…
所属していたチームに1ヶ月後どうだったかヒアリングしてみました!

3. 検証結果まとめ

よかったところ

  • 直接ゲスト(参加者)がコードを見て触れるので、口頭で説明するより認識合わせがしやすい
    • ナビゲータがコードの書き方について提案する際に、直接コードを書くことができる
  • ドライバーやナビゲーターのカーソルの位置がわかるので、意思疎通が図りやすい
    • カーソル追従の機能はツールを導入したことで初めて得られた体験でした

Aさん

参加者全員が相談/コーディングしながら進めることができるようになったので、
効率的になったと思います。楽しさも増えました

Bさん

コード共同編集ツールを体験して使いやすさが一瞬でわかって最高でした!

また、コード共同編集ツールを取り入れて以降、小さな修正であれば開発からリリースまで1時間で完了したケースも!

もちろんツールの導入だけで得られた結果ではなく、所属していたチームがどうすればフロー効率を向上できるのか
考えて行動した結果だと思いますが、こういったツールの導入もフロー効率向上に繋がっているな〜と実感しました!

改善の余地があるところ

  • Code With MeはCommunityプランだと30分でセッションが切れるので都度セッションを開始する必要がある

Code With MeはCommunityプランだと制限があるので、Premiumプランへの乗り換えをするかどうかは
今後検討する必要がありそうだなと感じました!

※ Premiumプランはセッションの時間無制限

4. 展開判断

検証結果をまとめた結果、ツール導入に期待した効果があるという判断になったため、検証は終了し
本格的に所属Div内での展開が決まりました〜!

ある程度所属していたチームで試してみてから展開をする想定で動いていましたが、
他のチームでも試してくれていて、よかったところをフィードバックしてくれてました!

積極的に検証に参加してくれることで、さまざまな人の意見を持って展開判断ができるので
新しいことに取り組むことを受け入れて、一緒に進めてくれることが嬉しかったです〜!

最後に

私自身はまだコード共同編集ツールを試せていないので、早く使ってみたいです!(笑)

また、現在私が所属しているチームはペアでの作業を基本として進めています!
たくさん学びがあったので、どういう風にペア作業を進めているのかなどの記事も
書く機会があれば書こうかなと思っています!