はじめまして、エンジニアの大村(入社半年)です。
今回は新しいメンバーが入った時の、ナレッジや技術の共有にペアプログラミング(以下ペアプロ)が有効だったという話をしたいと思います。
私が入社後PIXTAの、定額制の少量定額プランを新設に伴う新仕様を実装するチームに入った際、先にチームに入っているメンバーからナレッジと共有を受けるべく1週間ほど集中的にペアプロを行い、またその後も必要に応じて継続的にペアプロを実施していきました。
ペアプロスペースの紹介
ピクスタは2016年末にオフィス移転を行いまして、その際に常設のペアプロスペースを2箇所設けています。メンバーの席から少し離れているので、特に集中してペアプロをしたいとき、議論が白熱しそうなときにとても便利です。
ペアプロの進め方
ピクスタでは 常にペアプロをしているわけではない こともあり、運用を簡略化するために以下のルール(当時は明文化していませんでした)で行いました。
- 1回25分。そのあと5分休憩してドライバーとナビゲーターを交代します。どちらかが疲れたらさらに休憩。
- 始める前に、今回のペアプロ(25分)で何をやるか宣言しておきます。時間が余ったら休憩か、やったところの見直し(新しいイシューには入りません)。
- ペアはあまり変えないようにします。作業の切りが良いところで変えます。
- PCは共有しません(ナビゲーターはコードを書く以外の調べ物など、助言のための行動に使います)。
- ドライバー主導で行い、ドライバーは常に声を出します(やっていること、考えていること、わからないことなどを喋りながらコードを書きます)
一般的なプラクティスから大きく変わらない程度に、気軽にやれる方向にカスタマイズして実施しました。
効果
メリット
- コードが表す業務知識、設計の意図、現状のコードに対する感想などを素早く共有・フィードバックできました。
- 教えてもらうばかりでなく、設計に迷いがあった箇所でいい感じの提案ができ、お互いに学びが大きいです。
- 一緒に仕事した感じが強く出るので、メンバーと仲良くなれた気がしました。
- 集中が途切れずに作業効率が高まりました。
デメリット
- 疲れます
- 集中した状態を持続するため、最初のうちは特に疲れました。慣れると多少楽になります。
- 周りにとっては騒がしいかも知れません
- ピクスタには独立したペアプロ用エリアが存在するので、周囲にも協力してもらいやすかったです。
- 必要以上に大声にならないように気をつけました。
まとめ
集中して仕事を進め、チーム全体の底上げをしていくツールとしてペアプログラミングは有用だと思いました。今回は底上げされる対象は主に私でしたが、新しいメンバーの知識レベルを引き上げていく時や、難しい案件を共有しながら実装するときに使っていきたいです。
最近はモブプログラミングが注目されていますが、ピクスタ社内でも取り入れてみたいと思っています。
WE ARE HIRING! recruit.pixta.co.jp