モブプロを5ヶ月間続けたチームの成長
こんにちは!ネクストビート22年度新卒の井上です。
今回は私が所属するチームで5ヶ月間モブプロをしてみて、感じたことについて書いていこうと思います。
以下が記事の構成になります。
- モブプログラミング(通称:モブプロ)とは
- モブプロを実施した背景
- モブプロをやってみて
- おわりに
1.モブプログラミング(通称:モブプロ)とは
モブプロは3人以上のエンジニアで1つのプログラムを書くことをいいます。
モブ(エンジニア)が集まって行うモブプロは、3人以上のエンジニアが協力して1つのプログラムを完成させますが、全員がプログラムを書くというわけではありません。1人1人に役割があって、それぞれの人がその役割を全うします。実際にコードを書くドライバー(タイピスト)と、コードを見ながら意見をするナビゲーターという2つの役割に分かれます。ドライバーとナビゲーターの役割は数十分といった一定時間で交代することがいいとされています。
ドライバー:プログラムのコードを書く人です。ナビゲーターの指示に従ってコードを書きますが、私たちのチームでは改善の提案も行ったり、不明点を質問したりします。ドライバーは常に1人です。
ナビゲーター:ドライバーに指示を出す人たちです。基本的にはナビゲーター同士で議論をしながらドライバーに対してどういったコードにするのか具体的に指示を出します。ナビゲーターは複数人います。
2. モブプロを実施した背景
私の所属するチームがモブプロを実施した背景は主に以下の 2点からです。
- チームメンバーの習熟度向上
- コードレビューの負荷軽減
具体的に、私の所属しているチームは当初5人で開発を行っており、そのうち私を含め3人が参画して半年以内という状況でした。参画して日が浅いため、ネクストビートの技術に慣れていないことや、ドメインモデルの知識不足などから、5ヶ月たった現在に比べ基本的なミスが目立っていました。そのためコードレビューをするテックリードの負荷がかなり高い状態にあり、そのようなチームを改善する手段として、モブプロを実施しました。
3.モブプロをやってみて
※ 画像はイメージです
結論から言うとモブプロ実施は大正解だったと思います!
具体的には、テックリードが中心となってナビゲーターをすることにより、プログラミング言語のライブラリの使い方や、ドメインモデルの知識を深めることができました。また、ナビゲーター同士がしっかり話し合って実装できるため、チームで共通理解ができ、コードレビューの負荷軽減もできました。他にも、新規機能を追加する時など、モブプロをすることで自分が実装をしなくても機能や実装に関する最低限の知識が身に付くため、属人化を防ぐには有効だと思いました。
モブプロ導入時期は、週に2時間ほどモブプロの時間を取っていました。しかし、5ヶ月たった今ではモブプロの実施頻度はかなり減っており、必要な時だけ実施するようにしています。これは、メンバーの習熟度がある程度上がってきており、週2時間もモブプロは必要ないという判断からです。
この記事を読んでいただいた方のチームに成熟度が浅いメンバーが複数人いる場合など、モブプロを試してみることでチームが上手く回るようになるかもしれません。よかったら、是非試してみてください!
4.おわりに
今回はモブプロの効果を感じたことについてお話しましたが、個人的に興味のあるペアプロはほとんど経験がありません。
ネクストビートでは、毎週木曜の夜にCrew’s Bar を開催していて、外部の方を招いた交流の場があります。ペアプロの魅力やコツなど知ってる方は、Crew’s Barで情報交換できるとすごく嬉しいです!お会いできる日を楽しみに待っています!
最後まで読んでいただきありがとうございました!
参考文献
We are hiring!
「人口減少社会において必要とされるインターネット事業を創造し、ニッポンを元気にする。」
を理念に掲げ一緒に働く仲間を募集しております。