こんにちは!株式会社フリースタイル広報担当です。
社内で業務を行っているイノベーション事業部では技術力の向上や、組織間で連携をとれるよう色んな取り組みをしています。今回は、モブプログラミングをやってみた!とのことでご紹介させていただきます。
モブプログラミング(通称モブプロ)とは?
3人以上のエンジニアで1つのプログラムを書いていき、チームで成果物を完成させていきます。
1人でもくもくとやるのではなく、みんなで画面をみながらわいわいプログラミングを進めていくことができます。
複数のやり方があるようですが、参加者にはそれぞれ役割分担をしてもらいます。
実際にコードを書いていく「ドライバー」と、そのほかの人は映し出された画面を見ながら
具体的な指示を出したり意見をしていく「ナビゲーター」の2役に分かれます。
また、ドライバーとナビゲーターの役割も15分ごとなど、一定時間で交代していきます。
…が、今回は熱中してしまってドライバーは交代しませんでした。
今回は業務ではなく実験的にプログラミングの課題をJavaを使ってモブプロで解いてみました。
ナビゲーターの役割は周りの人たちとも相談し、指示を出していきますが口頭で伝えることになるので
いつものようにコピー&ペーストや、このコードを参考にといった視覚で見せることができません。コードを口頭で言う難しさや、複数人いることで得意な技術領域や経験年数も違ってくるのでお互いに
認識を合わせ、理解し、コードに起こしていくことの難しさが身に沁みました・・・。
ここで重要なのは、実際にプログラムを組んでいくのはドライバー1人になるのでドライバーが悩まないように工夫して伝えていくことでした。またナビゲータも発言をすることが役割ですが、人によっては発言が少なかったり、なかなか伝わらなかったりと指示をだす方も苦労していました。
各自熱中するあまり交代の時間を忘れていたり、行き詰って無言の空気が流れたりと紆余曲折ありましたが、完成した時には、モブプロでの最大のメリットであるチームでの達成感を味わうことができました。
1人でも考え込まずにチームの協力というテクニックで課題を進めていけること、また通常はこの後行われるようなレビューが済んだ状態になりクオリティの高いものが出来上がることなど時間がかかることもありますが、コミュニケーションの向上にもつながる結果となりました。
今後もエンジニアとしての成長の糧になるような取り組みをしていこうと思います。