スクラム開発を弊社サービスに導入して約半年がたちました。
毎週レトロスペクティブを行う中で、モブプロで開発をやってみたい!という気持ちになり、一部サービスの開発でモブプロにチャレンジすることにしました。
モブプロとは
モブプログラミング(mob-programming)の略。
複数人の開発メンバー(モブ)が、同じ画面を見て、コミュニケーションを取りながら実装を進める開発手法のことです。
実際にタイピングしてコードを書く1人の「ドライバー」と、ドライバーにコーディングの指示を出すその他のモブ「ナビゲーター」が存在します。
一般に、ドライバーの役割は交代で行います。
認定スクラムマスター(CSM)講師のJoe先生から共有いただいた動画です。
モブプロを社内で行っている様子です。
Visual Studio Live Share
コミュニケーションの取りやすさ、ドライバーが適宜交代すること、同じ画面を見ること、などの条件を踏まえると全員が同じ場所に集合していた方がモブプロは行いやすいです。
弊社はリモートワークで行っているため、Visual Studio Codeでモブプロが可能になる「Visual Studio Live Share」を導入いたしました。
VSCodeに「Visual Studio Live Share」の拡張機能をインストールし、githubアカウントでログインすれば、あとはリンクを共有するだけです。
ホストから共有されたリンクを踏むと、踏んだ全員が同じセッションに参加し、同じコードを見ることができます。
参加した全員が実際のコードを触れるため、ドライバーの交代が簡単にできます。
VSLiveShareの導入前は、ドライバーが画面共有でコードを見せて、ナビゲーターは画面を見ながらナビゲートをしていたため、ドライバーの交代もできませんでした。
それに比べると画期的にやりやすくなったと思います!
やってみた感想
よかった点
- コミュニケーションが取りやすいため、その場で仕様や開発方針等も改めて相談できる
- サービス知識の共有化ができる
改善できそうな点
- 話す量に差が出てくる(自分が話しすぎてないかな?という不安、ひとりに負担をかけてないかな?という不安)
- 役割の交代タイミング
あとはVSLiveShareの機能をまだフルに使いこなせてない!と感じるので、モブプロに役立ちそうな機能はどんどん使っていきたいです。
最後に
モブプロを突き詰めていくと、将来的にはリファインメントなどもなくなり、レトロスペクティブだけになることもあるそうです。
それを聞いた時に驚きましたが、実際にやってみるとコミュニケーションを取る量が各段に増え、タスクについて全員でモブプロ中にしっかり話し合うこともたくさんありました。
全てのタスクをモブでこなせるようになったら、自然とレトロスペクティブのみが残るようになっていきそうです。
まだはじめたばかりで、試行錯誤しています。
今後モブプロを続けていくか、個人での開発に戻っていくかはわかりません。
それでも、チームでこの経験をしたことを成長につなげて、弊社のサービスをより良くしていきたいです。