新人研修でモブプログラミング

自社の新入社員研修にモブプログラミングによるプログラミング演習を取り入れました。これがとても感触がよく、皆さんにもお勧めすべくまとめました。

モブプログラミングとは?

モブプログラミング(モブプロ)は近年大いに注目を浴びている作業スタイルで、複数名で1台のパソコンを操作しながらプログラムを実装していく手法です。一人が入力専任(ドライバー)となり、残りのメンバー(ナビゲーター)がどういうコードを書けばいいか議論を交えて考えます。ドライバーはナビゲーターの指示に則ってキーを叩き、コードを入力していきます。ドライバー・ナビゲーターという呼称から連想されるように、自動車の運転手と案内役という分担です。ドライバーは15分や30分程度の感覚で交代します。

モブプロでは複数名で一つのタスクに取り組むので非効率なように感じます。しかし、全員がタスクの経緯や作業結果を同時かつ均一に把握できるので、レビューや引き継ぎの工数が不要になります。「三人寄れば文殊の知恵」といわれるように、一人で苦悩しながら作業するよりも短時間で成果を出せることが多いようです。

モブプロについての詳細は@TAKAKING22さんのサイト を参照下さい。具体的なモブプロのやり方やメリットが大変よく理解できます。私もTAKAKING22さんがゲストで来られたワークショップでモブプロを体験し、目からうろこが落ちました。

プログラミング演習の悩み

私は長年いろいろなプログラミング研修を担当してきました。「プログラミングは手を動かして覚える」主義なので、講義の時間配分も座学と演習が半々、もしくは演習の方に多く時間を割きます。

研修終了の度に反省材料となるのが、終盤になると演習に手も足も出なくなる受講者が出てしまうことです。理解度がばらつくのは集合教育では仕方ないことですが、時間を割いてもらっているのに何も得られず帰らせるのは勿体ないと思っていました。

そして出会ったのがモブプロです。受講者全員でモブプロをやったらどうだろう、理解度の差を乗り越えて全員で演習クリアが経験できるのではと思ったのです。ちょうど昨年から新人研修担当になったので、その場で「実験」を決めました。

新人にモブプロさせてみた

プログラミング演習は一日設定しましたが、実際の作業時間は5時間程度です。
課題は仕様とクラス設計が提示された上でコンソールアプリケーションを作るという内容です。Java+オブジェクト指向の研修を受講しており、その学習内容を理解していれば対応可能にしています。

ノートPC一台をドライバー専用としてプロジェクターに接続、ナビゲーターは投影されたスクリーンでコードを見ます。ドライバーは20分ごと、私が計時して強制的に交代させました。

モブプロのスタート直後はなかなか手が進みません。私もワークショップで同じ経験をしました。モブプロのやり方に戸惑って「さてどうしましょう?」と全員が探り探りになります。ところが今回の停滞の理由は単に「まず何を書いたらいいのか分からない」でした。彼らにとってモブプロは型破りでも何でもなく、手法自体はすんなり受け容れていたのです。

新人研修とモブプロの相性は抜群

全員がお手上げとなって私がヒントを出すというシーンは何度かありましたが、何とかゴールには到達しました。品質はうーんという感じですが...

新人研修後のアンケートによると、「一人でやるより楽しい」「目標達成の喜びが味わえた」「自分一人では作れなかった」とポジティブな感想が多く書かれていました。新人研修でモブプロさせるのは間違いなく「アリ」と確信しました。

演習のクロージングで、実際にモブプロを採用するプロジェクトがほとんど存在しないことは伝えました。その一方で「皆さんが途方に暮れたら先輩やリーダーを捕まえて一緒にコーディング付き合ってくださいとお願いすることはできる」とアドバイスしました。決して演習用の手法ではないことを理解してもらったつもりです。

この記事が気に入ったらサポートをしてみませんか?