きっかけ
ペアプロはいいぞと聞いていたものの、何となく重い腰をあげられずにいたのですが、ぴゃっとやってみてさくっと記事にでもしたらどうかと声が聞こえたのでやってみました。「今日どっかでペアプロお願いしていいっすか?」とお願いして快諾してくれたバディ役の同僚に感謝です。
ペアプロの環境
私が働いている会社はフルリモートが基本になっていて、私もペアプロのバディもその日リモートだったので画面共有しながらweb通話で実施しました。また、私はVSCodeでバディはVimなのでLive Shareも使用しませんでした。Live Shareとは、共同編集ができるVSCodeの機能です。これもいつか使ってみたいです。
どんな感じだったか
まずはテーマというか、どんな機能を実装しようとしているかの軽い認識合わせをします。軽くメモ書きをしてあったので、それを画面共有しつつ口頭で説明します。
ペアプロなるものをまずはやってみようというノリだったので、この辺もゆるい感じで行きました。結論としては、このゆるさのせいでつまづいたりもなかったのでまずはやってみようのノリで正解だったなと感じています。
まずは私の画面を共有して「まずはこの辺りっすかね〜」とか相談しながらコードを書いていきます。こうしようかなと思ってるとか、あれ〜?これどうすりゃいいんだっけとかを呟き、適宜こうじゃね?あぁじゃね?をバディに言ってもらう感じで進みました。実施したのは2時間だったのですが、だいたい半分経過くらいでドライバー(コードを書く人)を交代しました。
考えてることを呟くのは大事ですね。これがないとナビゲーター側が状況を把握できなくなっていくので、こうじゃねあぁじゃね合戦が出来なくなっていきます。
よかったこと
- 方向性について議論しながらとっかかりの実装までやってしまえるので、後で外してたことが発覚→手戻りが発生しない
- エラー出た時の解決が早い。こうじゃね?の意見が一人の時より多く出る
- 関数などの命名をその場で相談できる
- バディの進め方を見て「あぁその順番でやるんだぁ」などが学びになる
- プルリク等でレビューするときに、読み始めでぱっと頭に入ってきやすい
- あ、ここで悩むのは自分だけじゃないんだと安心できる
こんな感じで、結構いいことあるなという印象です。知恵を出し合ったり知見を共有し合う機会を増やすという観点でも有用で、チーム全体としてのスループットを高めていくことに役立つなと感じました。
今回はあんまり無かったのですが、ショートカットキーとかツールの便利テクニックとか有用なんだけどあんまり伝承するタイミングがなかったりすることも共有できそうです。
悪かったこと
- (短期的には)時間がとられる
ただ、「よかったこと」にも書いている通りレビューする時の時間が短縮されたり手戻り発生の頻度が抑えられるので、開発スピードも落ちてないんじゃないかと感じました。1週間くらいのタイムスパンで見るともう回収できるレベルじゃないかと思います。
今回は発生しませんでしたが、気をつけた方がいいかもな〜と思ったこととしては
- ナビゲーター(あぁだこうだ言う人)の指摘の仕方が手厳しいと、ピリピリムードになってつらいかも
っていうのはあるかもなあと思いました。
やってみてペアプロのメリットをかなり感じたので、精神的に障壁となることは減らしていければよいなと思った所存です。