NECネッツエスアイ

リモートでペアプロやってみた

こんにちは。運用開発グループの木村です。今回はアジャイル開発の中でペアプログラミング(ペアプロ)を実際にやってみたので、ペアプロの感想や役に立ったツールについてお話したいと思います。

ペアプログラミングとは

二人のプログラマーが共同で開発を行う手法のことで、実際にコードを書く「ドライバー」と、ドライバーに指示を出しつつコードが適切なものかチェックする「ナビゲーター」という役割に分かれて開発を行います。ペアプログラミングは多くの場合「ナビゲーター」を上級者、「ドライバー」を初心者が担当することで、初心者でも高い品質を出すことが可能とされています。

ペアプロ実施環境について

ペアプロについてネットで調べていると、「一台のPCを共有して開発する」というような説明が多く、基本的にはオフィス等に出社している状態で実施するのが一般的なようですが、最近はコロナの影響でリモートワークが増えたことで、リモートでペアプロをやってみたという記事も多くなっているようです。今回はタイトルにもあるようにリモートワークでペアプロを実施したため、Zoomでコミュニケーションを取りながら開発しました。

実際にペアプロやってみて感じたメリット・デメリット

メリット

作業ミスが軽減できる

ドライバーがコードを書きながら、その場でナビゲーターがコードのレビューを行うため、コーディング中にバグやミスの発見・修正が可能です。GitHubのpull requestを作成して、レビュー依頼して指摘もらって、修正して再度レビューしてもらう…というようなプロセスを踏まなくてもその場で修正できるので、コードレビューの時間を減らすことができると感じました。

作業の効率化ができる

機能を実装するためのアルゴリズムが思いつかなかったり、エラーの発生原因が分からなかったりする場合、一人で考えているとなかなか思いつかないことがあると思います。そんな時にナビゲーターがやり方を教えることでコーディングがスムーズに進められます。特にエラー発生原因の特定や対処などは一度経験したことのあるエラーだとスムーズに対処できるので、一人より二人で作業する方が効率的だと感じました。

コミュニケーションの機会が増える

リモートワークだと出社時と比べてコミュニケーションをとる機会が少なってしまうことがあると思いますが、ペアプロの時間を設けることで二人で話しながら作業することになるので、コミュニケーションが少し取りやすくなりました

デメリット

どちらも分からないことがあると効率が上がらない

ペアのどちらも機能の実装方法やエラーの対処法が分からないという場合、結局ネットで調べるための時間が必要になり、二人分の時間を使ってしまい効率が下がってしまいます。ペアプロは初心者同士には不向きと言われていますが、このようにお互いにレビューやミスの指摘を行うために必要な知識を持っていないと効率が下がってしまうのが、初心者同士でペアを組むのは良くないと言われる理由になります。今回は勉強のためということもあり、初心者同士でペアを組んでしまったので、ペアプロのメリットを活かしきれなかったと思います。

スケジュール管理が難しい

ペアのどちらかあるいは両方が複数のプロジェクトを掛けもっていたり、開発以外のタスクがあったりすると、まとまった時間を確保することができず、ペアプロの実施が難しくなってしまいます。私も開発以外のタスクがあったので、ペアプロでの開発と開発以外のタスクをいつやるか調整しながらペアプロを実施していました。私のペアは基本的に開発に専念していたので、いつも私の予定に合わせてもらっていましたが、もし二人とも開発に専念できない状況だったら、ペアプロの時間を確保するのは苦労したと思います。

スペックの低いPCだと動作が重い

開発に必要なものをPCで起動するのに加えて、会話のためのZoom、コードを共有するためのVisula Studio Live Share等も使っており、CPUやメモリをそれなりに消費しました。もし会社支給のPCでスペックが低いなどの問題を抱えている方は、動作が重くなりコーディングがし辛くなるかもしれません。

ペアプロに役立ったツール

Visula Studio Live Share

Visula Studio Live Shareとは、Visual StudioやVisual Studio Code上でリアルタイムでコードの編集を行うことができる拡張機能です。複数人で同時にコードの編集をすることができます。また、Live Share参加者のカーソルを自動追跡することができるため、「自分のカーソルがあるところを見て欲しい!」みたいな感じで、見て欲しい箇所を明確にすることができます。

リモートワークだと相手のキーボード借り手コード書くとか、注目して欲しいところを指差すなどができないため、上記の機能があるとリモートワークでもペアプロがやりやすかったです。

Miro(共有できてちょっとした図を書けるツール)

Miroとは、複数人で閲覧・編集ができるオンラインホワイトボードツールで、無地の画面にテキストや図形などを書き込むことができます。ペアプロ中にイメージ共有のために簡単な図を作成しながら話したい場面が何度かあったので、その際に役に立ちました。

自分のチームは以前からMiroを使っていたので、ペアプロでもMiroを利用しましたが、複数人で編集できる、ちょっとした図を書けるツールがあると便利です。Miroには図を作成する専用のテンプレートがありますので、気になる方は是非ご覧ください。
Miro : 図を書けるツール https://miro.com/ja/diagramming/

まとめ

今回はリモートでペアプロをやってみた際に、自分が感じたメリット・デメリットや役に立ったツールについてお話させていただきました。ペアプロが良い方向に働くかどうかはペアを組んだ人との相性にもよると思うので、一度ペアプロをやってみて、その後も継続してペアプロを実施するかどうか決めても良いのかなと思います。

関連記事

TOP