こんにちわ。コンサルティング & テクノロジー部の佐藤です。
初めての投稿です。よろしくお願いいたします。
以前、松永さんが書いたこちらの記事でモブプログラミング(以下、モブプロ)を試みたとの話がありました。
モブプロって何?という方は松永さんの記事に詳細をまとめておりますので是非一度お読みいただければと思います。
現在ネクストスケープ社内ではモブプロが流行りつつあります。
私が参加しているSitecoreのプロジェクトでも開発フェーズに入る際にモブプロを実施してみました。
モブプロを実施した目的は以下2点です。
- 開発経験が少ないメンバーに技術の共有。
- 設計内容を共有して開発フェーズのつまずきを解消する。
- プロジェクトのチーム感を高める。
個人的にはペアプロの経験はあったのですが、モブプロは経験がなかったため進め方は調べながらやってみました。
進め方
参加者:設計担当者1名、実装担当者3名の計4名。
時間:3時間(元々2時間で予定していましたが時間が足りなくなって追加しました・・・)
今回は事前に設計を進めていたメンバーがナビゲーター専属となり、その他のメンバーが順番にドライバーとなって実装しました。
事前準備
今回の参加者は全員モブプロ初心者だったため、
皆で相談して簡単な機能の実装をメンバーで一緒にやってみようということになりました。
また、事前に設計担当者に簡単で時間がかからない機能を選定してもらいました。
やってみた感想
初めてモブプロを実施してみた感想として、参加した全てのメンバーが好印象をもっておりました。
以下、参加者の感想です。
- 開発に入ってすぐなので、プログラムの構成がわからなかったが、モブプロをすることで理解できた。
- 普段自分では気が付かないようなところを他のメンバーから指摘がもらえて勉強になった。
- 他のメンバーの実装スキルや考え方を共有できるので、これからチームで開発する際の感じがつかめた。
反省点
ドライバーは10分毎に交代するルールだったのですが、『切りのいいところまで』という理由ですすめていたら、あるメンバーは30分も実装をしていました。
次回モブプロ実施時は10分で強制的に交代していくようにします。
また、モブプロを進めていった際に、徐々に各メンバーが思い描いているゴールが異なることに気が付きました。
基本的には『機能ができるまで』のようなふわっとしたゴールを決めていたのですが、最初に何ができたらゴールかをメンバーとしっかり共有しておく必要があると感じました。
感想
個人的な感想として、人前でプログラミングすることに恥ずかしさもあるのでは?とおもっていたのですが、いざやってみるとみんなで作っているといった雰囲気になります。
恥ずかしさは最初だけですね。
また、プロジェクトの開始時や、新規メンバーが追加された時などは実装するイメージを共有することができるため、とても有効だと感じました。
別プロジェクトに人をゲスト参加してもらったり、または最近実装から遠ざかってるマネージャーにドライバーとして実装をやってもらうとかもおもしろそうですね!
今後も是非モブプロの機会を増やしていきたいと考えています!皆様も是非モブプロ実施してみてください。