見出し画像

ペアプログラミングレポート

こんにちは!MagicPod広報の田上です!
先日、MagicPodのエンジニアチームが「ペアプログラミング」に初めて挑戦したので、その時の様子をレポートしたいと思います!

ペアプログラミングの目的

普段MagicPodでは、エンジニアは各々に割り振られたタスクをこなしていきます。もちろん悩んだタイミングでは相談し合ったり、developブランチへのマージ前には他のメンバーからのレビューがあるものの、コードを書く過程についてはそれぞれが自分のやり方で進めています。今回はその過程を他のメンバーと共有することによる、技術的な成長を目標としました。実はこのペアプログラミング、今回はエンジニアさんが提案・企画してくれたものです。ここからはレポートもバトンタッチ!

キッカケとやってみた感想

エンジニアの神山です。
今回のペアプログラミングは、毎週火曜日のオンラインランチミーティングの際に、アジャイル開発の文脈でペアプログラミングの話題になったのがきっかけでした。ペアプログラミングには、コード品質の向上や知識の共有といった利点があるとされています。

私が企画を任せてもらって、方法論や他社事例を調査してメンバーに共有し、先日弊社でも第1回目のペアプログラミングを実施しました。ペアプログラミングにはいくつかのやり方がありますが、今回は初回ということで、出社メンバーの多い金曜日の朝会の後に、オーソドックスなドライバー・ナビゲーターの役割を30分ずつ交代しながら1時間行いました。

各々のペアにタスクを選んでもらい、ドライバーは戦術レベルで考え、実際にコードを書いていき、ナビゲーターは戦略レベルで考えてドライバーに指示を出しつつ、コードをチェックします。

実際にやってみると、お互いに思考を口に出しながらの開発は新鮮でした。現在はリモートでの勤務が多いので、ドライバーが操作している画面を見ながらの作業は言語化のしづらい知識の共有になり、勉強になりました。新メンバーへの教育やこれまで経験していない領域の開発の際にペアプログラミングを導入すると、スムーズに開発の流れを理解できそうだという印象がありました。

 今回のペアプログラミングのフィードバックを基に方法を改良しつつリモートでも実施してみるなど、今後もサービスの品質向上のために、チームの技術力向上を図っていきます!

当日の様子

ここからはまた田上のレポートに戻ります。
普段は落ち着いた雰囲気のオフィスもこの日は賑やか。
あちこちから「あ~なるほどね!」「そういうやり方もあるのか!」といった声が聞こえます。

入社して1か月ちょっとのメンバーのペアはCEO伊藤さん!
普段同じサービスの開発をしていても発見がたくさんあるようです
持っている知識を出し合います

こんな感じであっという間に1時間が過ぎました。
終了後は、自然に企画してくれたメンバーへのお礼や感想、次回に向けた改善案が続々とSlackに投稿されます。(MagicPodメンバーのこういうところが大好き)

ここからは、集まった感想や改善点をnoteでシェアさせてもらいます。

今後改善していく点

  • ドライバー・ナビゲーターがちょっと曖昧だった。役割に徹した方がよかった。

  • 作業領域が近いペアにした方がスムーズに進みやすい。

  • フロントエンドよりバックエンド寄りの方がいいかも。

  • 仕様がきっちり決まってる作業の方が良さそう。最初の相談がスムーズになる。

  • 何人かが、ペアプログラミングのタスク候補を提案し、そのタスクからどんなスキルが身につくかを提案するのも良さそう。

  • 各メンバーは、自分が興味のある他のメンバーのトピックに応募。その応募を元にペアを組むのはどうか。

  • ペアがどのような課題に取り組むかは、とても重要で、事前に慎重に選択すべきだと感じた。

メンバーからの感想

  • 相談できてよかった。意思決定しやすかった。

  • Visual Studio Codeなど違う環境での開発の仕方が見れて面白い。

  • Tipsがたくさん共有され役に立った。

  • 時間内にタスクを完了することはできなかったが、リモートでの画面共有による共同作業でも大きな問題は感じなかった。

  • ちょっと時間が短かったがとても勉強になった。

今後も、改善しながらペアプログラミングの機会も作っていく予定です!

最後に、MagicPodではエンジニアさんを絶賛大募集中です!
少しでも興味をもってくださった方はぜひこちらから詳細をご確認ください。
一緒に「ソフトウェア開発の常識を一変させる」サービスをつくりましょう!