こんにちは!ROBOT PAYMENTの請求管理ロボの機能開発チームにいます、林です。
最近、多くの開発チームでペアプログラミングが流行しています。私の所属するチームもペアプログラミングを導入しました。最初はあまり納得できなかったのですが、実践を重ねるごとにその価値を感じるようになりました。そこで、今回はペアプログラミングについて共有したいと思います。
ペアプロの進め方
リモートワーク下での実施
ペアプロの全称はペアプログラミングですが、以下では「ペアプロ」と呼びます。これは2人の開発者が一つのコンピューターを操作してプログラミングを行う方法です。しかし、リモートワークの状況では、実際に同じコンピューターを共有することが難しいし、作業者が異なる開発ツールを使用しているため、代わりに同じ開発ブランチで作業してペアプロを実施しています。これにより、同じ開発ツールを使わなくても開発者は同じソースコードにアクセスし、共同で作業できます。
ペアプロの流れは、まず実装者とパートナーが協議しながらコードを書き進めます。25分後に交代し、実装者は自分が書いたコードをプッシュし、パートナーは最新のブランチを取り込み、実装者に切り替えます。
振り返りの中での改善
ペアプロを実施する期間中に、週に一度の振り返り会議を行っています。この会議では、先週のペアプロについての感想を共有し、ペアプロに対する個々の考えや意見を交換します。異なる人々が異なる視点からペアプロを捉えることができるため、改善方法を考案し、ペアプロの実践を向上させています。
具体的なケースとして、パートナーの在席状況を確認したい場合や、ペアプロ中の相手とコミュニケーションを取りたい場合があります。この問題に対処するために、デジタル空間を提供する「Ovice」というアプリが推薦されています。原則として、チームのメンバーは常にOviceにログインしており、自身の在席状況を設定できます。作業中やミーティング中などのステータスを設定できるため、相手の状況が一目で分かります。私自身、相手の在席状況を確認できない場合、テキストでコミュニケーションを取ることが苦手です。このデジタル空間を利用することで、コミュニケーションがより自然に行えます。
将来的には、ペアプロに関する改善点が増えると予想されますが、週に一度の振り返り会議があること、そしてチーム内で積極的にペアプロを実施しているメンバーがいることから、我々はペアプロをより効果的に活用する方法を見つけられると確信しています。
ペアプロで感じたメリット
コミュニケーションの増加
以前にも述べましたが、リモートワークの現在、コミュニケーションの機会がかなり減少しました。ペアプロは、コミュニケーションの機会を提供するための効果的な手段となっています。開発に関するトピックや雑談など、多様な話題が取り上げられ、これによって単調な一人での開発作業に対するストレスを軽減する機会が生まれています。
問題解決時間の削減
機能の実装中に不明点や問題が生じた場合、その場で質問し、即座に解決できるメリットがあります。過去に、要件の不足による問題が開発中に頻繁に発生し、機能の漏れが予期せぬ障害を引き起こすことがありました。一人での開発では、視点や観点が限られているため、要件の不足が発生しやすくなります。しかし、ペアプロでは、パートナーが異なる視点と論点を持っており、これによって通常見過ごされるであろう要件を発見できます。その結果、要件不足の問題が大幅に削減されました。
これ以外のメリットもありますが、ペアプログラミングのメリットを検索すればいろんな結果が出ると思います。時間のためここでは割愛させます。
最後に
以前の私は一人での行動を好んでいましたが、時折難問に直面し、諦めたり時間を無駄にしたりすることがありました。確かに一匹狼であることに魅力を感じることもありますが、獲物を追いかけるのは困難であることが多いです。そのため、最近始めたペアプロを通じて、大きな目標を達成するにはチームの存在が不可欠であることをますます感じています。
これからもペアプログラミングを活用し、チームの力を最大限に発揮し、より安全で便利なサービスを提供し続けます。
We are hiring!!
ROBOT PAYMENTでは一緒に働く仲間を募集しています!!!
speakerdeck.com
www.robotpayment.co.jp