ペアプロとは
1台のPCを2人で利用してプログラミングする手法です。「ドライバー(コーディングする人)」と「ナビゲーター(指示を出す人)」の役割に分担して、業務を担当します。
・ドライバー
コーディングをメインでする人です。
自分よりもレベルが高いナビゲーターの指示に従ってコーディングをすることによって、初心者でも質の良いコーディングをすることができます。
・ナビゲーター
開発内容に応じて、実装するに当たり複数の実装方法があるなかで、適切な実装方法を具体的に想定し、ドライバーに指示を出します。
今回のペアプロ方法
今回は、自分とチームリーダーでペアプロを行いました。
主に自分がドライバー、チームリーダーがナビケーターの役割で、1日に約1時間を約1ヶ月ちょっと(合計24時間くらい)。
今回作ったざっくりとしたものは、
ファイル一覧画面>ファイル修正画面>修正確認画面>完了画面
のよくある、「一覧画面」「修正画面」「確認画面」「完了画面」の4つの画面です。
スムーズに実装できる部分はドライバーだった自分がもくもくとコーディングをし、効率化できる部分、間違っている部分があれば随時ナビゲーターから指摘をもらう形が多かったです。
今回はVScodeで実装したため、live shereをし、わからなくなったら途中までナビゲーターが直接書き、イメージがついたらドライバーもそこに書くスタイルでした。
設定方法:https://qiita.com/Yami_37/items/bfd1c5f8ed8f746b5634
感想(よかったこと)
・コーディングしながらの議論できたことがよかった。
→処理時間の短縮だったり、既存の他の似たような機能部分の良いところ悪いところをに気づいたり、どちらでも良い部分についてなぜそっちを選んだのかを議論できた。
・レビューの手間が省けた。
・24時間で画面が完成した→4人日くらいで実装した機能と考えると、とても効率よくできた。
・名前の付け方がスマートなものがつけられた
・デバッグを効率よくできた(https://www.php.net/manual/ja/language.constants.predefined.php を知らなかった、ログを仕掛ける場所等)
・ログファイルの確認を普段はテスト中に確認することが多かったが、ペアプロ中はこまめにログ確認ができた
・コーディング以外の知識の共有があった
→こういうコマンドがあるんだ!とか、調査方法をついでに教えてもらうことができた
・ペアプロ中にあった、別の問い合わせやトラブル対応を通話しながら優先順位を決め、対応もできた
・普段チームリーダーの時間を確保するのが難しいので、実装以外の質問などしやすかった
・はじめは緊張していたが、だんだん慣れていき、コミュニケーションが取りやすくなった。