モブプロ勉強会を開催してみる
初めに
会社的にはまだそこまで広がっていないのですが、チーム内でモブプログラミング(以後、モブプロ)を利用して開発を実施しています。
個人的に新人向けの勉強会にとても向いてると思い利用してみることにしました
モブプログラミングとは
このあたりが参考になるかと思います
モブプロ勉強会とは
モブプロ勉強会という名前なので、「モブプロ」を「学ぶ」と誤解しやすいですが
基本は、ある議題に対しての出題を解いて学んでもらう形式で、その出題をモブプロ形式で解いてもらいます。
ただ、部分的には全員が知らないことがあるので、その時には勉強会形式で進めるというもので、モブプログラミングと勉強会を半々取り組んだようなものです。
チーム編成
人数については、まだ検証中ですが、だいたい4~6名で編成しています
参加者としては、新人及びその新人のメンターの2人 × 他チーム(2~3)を学習対象としています。
理由としては、勉強会が終わった後、チームでモブで再度勉強会を開催してもらい、参加者が講師役(アウトプットの場)として、チーム拡散してもらいチーム全体のスキルアップになることを想定しています
メリット(と思っていること)
・チーム全員がコードについて共通認識を持てる
→最終的には全員が同じ認識レベルまで底上げできると考えています
・1人で考え込まずにチームで開発を行う
→エンジニア同士のコミュニケーションの促進
→分かる人が知らない人へ教える(アウトプットする)ことで、お互いの理解が深まる
・他人(タイピスト)の開発風景が見れる
→その人がどんなショートカットを使ってるかが分かる(教えてもらえる)
・全員が分からない場合のヘルプがある
→勉強会に切り替えて学習したのち、学んだことをすぐに試すことができる
・下手にサボれない
→モブなので定期的に順番が回ってきますので、サボってるかどうかが分かります
メリットをメリットにするための心構え
◇モブプロ開発手法に早めに慣れてもらう
急に不慣れな開発手法に着手するわけですから、みんな抵抗がありスロースターターになりがちになります。大体2~3回繰り返したあたりで慣れ始め、モブプロっぽくなり始めます
◇あくまで主軸はモブプロ
モブプロ勉強会という名前のため、「勉強会」という認識が強いように感じます。たまに、この場合どうすればいいですか?と指示を仰ぐシーンがあります。基本はモブプロなので、どう開発を進めるかはチームで相談して決めていいのです
◇ローカルルールを設ける
タイミングが悪い時にドライバーの交代が来る時があります。その時どうするか?はチーム内で相談してそういうルールにするというのを決めてください。
例えば、検索をしたい場合もモブとして検索するというルールを設けたとします。新人はこのシーンにどんな単語で検索すればいいのかすらわかってない状態だったりしますので、どんな単語で検索しているのか、どんなサイトを利用しているのかも学習となり役に立ったりします
◇気持ちを抑え、基礎を固めよう
メンターから見た場合、新人の動きは(ショートカットを利用していないとかで)やきもきさせられます。その原因は経験の差だと思っています。まずは新人(ドライバー)が自分の理想通りに動くように教育してやるのも先輩としての務めですし、それが伝わらないということは言葉足らずということになります。その基礎を固めるだけでも、新人の開発速度の改善につながります。気持ちを抑え、丁寧に教えましょう
◇判らない(理解していない)ことは、すぐに質問しよう
判らないことを判らないままにすると、この勉強会の意味がありません。些細な事でも構わないので、判らないことがあったらすぐに聞きましょう。また判ってる人はアウトプットの場と思い積極的に教えましょう
◇先輩たちは、一歩引いて新人の足並みに揃えよう
判ってるから次々と回答を出して進めるケースがありますが、その場合その人一人しか理解していない状態で進んでしまいます。もし分かってたとしても、あえて「この問題分かる人いますか?」と他の人にバトンを渡すのも先輩の務めではないかと思います
最後に
実施後の感想は、別途記事を上げようと思いますので、もうしばらくお待ちください
途中経過はコチラ
Discussion