「若手をモブプロで育成したいなら、長くドライバーをやらせるべき」という意見は本当に正しいのか?

はじめに
こんにちは、Hisaこと久末です。先日、スクラムフェス金沢にて、「10分交代のモブプロがコンテクストと集中を高める」という内容で、弊社の矢田と一緒に発表しました。
この発表のあと、同じように新卒で入社した若手の方や、育成に関わる立場の方から「モブプロがうまくいかない」という声をいくつか聞きました。
その中でよく出てきたのが、「若手がドライバーを長く担当すれば成長につながるのでは?」という話でした。
たしかに、ソフトウェア開発は手を動かさないとわからないことがたくさんあり、一見もっともらしい考えに見えます。ただし、それだけでうまくいくほど単純でもないというのが、実際にやってみた上での実感です。
本記事では、「モブプロを通した若手の成長」という観点を若手が考察してみた内容を共有します。
なお、ソフトウェア開発の現場には、絶対的な正解(銀の弾丸)はありません。この記事も、あくまで一考察として捉えてもらえればと思います。
モブプロの目的を再確認する
まず、前提として「モブプロの目的」について確認しておきましょう。
モブプロの目的は、「リソース効率を高めてコードを早く書くことではない」ということを念頭に置かなければなりません。一番の目的は、知識や文脈をリアルタイムに共有し、頻繁なフィードバックループによってチーム全体のフロー効率を高めることです。
フロー効率とは、チーム全体の作業の流れがスムーズに進んでいる状態のことです。ですので、「若手の育成」や「スキルの向上」は、モブプロによって得られる副次的な効果として捉えるのがよいかもしれません。
若手がドライバーを長くやる際の懸念点
若手がドライバーとして長くキーボードを叩くことにはそれなりに意味があります。実際、実務を通して初めて理解できることも多く、経験を積むチャンスとしての側面は確かにあります。
ただし、それには同時に以下のような懸念もあります。
- コードを書くことに集中しすぎて、能動的な思考や質問の頻度が下がってしまう
- ベテランの思考プロセスや判断基準を観察する時間が減り、「見て盗む」学びの機会が失われる
- チーム全体のフィードバックループが遅れ、結果として全体の進行が鈍化する
特にリモート環境では、ベテランがどのように業務を遂行するのか、ということが見えにくくなります。よく学習理論で出てくる、見本となるようなロールモデルを設定し、それを模倣して習得していくという「見て盗む勉強」ができなくなってしまうのが、個人的には一番のデメリットです。
実際私自身も、ベテランメンバーがどのように考えて手を動かしているかを間近で見ることで、多くを学びました。これは座学や一人での実装では得にくい経験です。
「ドライバーをやれば成長する」は確かに一理ありますが、「ドライバー以外の時間で何を見て、どう吸収するか」も同じくらい重要だと考えています。
チームバランスとフィードバックのサイクル設計
モブプロを円滑に回すためには、技術力やドメイン知識のバランスがある程度取れていることが重要です。若手が完全にキャッチアップできていない状態で進めると、どうしても負荷が集中してしまいます。
また、モブプロの強みである「即時のフィードバック」や「対話的な問題解決」も、一定の土台があるからこそ活きてきます。
今回スクラムフェス金沢で発表した、10分という短い交代サイクルにしたことで、私的には以下のような効果が得られました:
- 小さな思考単位で手が止まりにくくなる
- 複数人が定期的に状況を把握できるため、置いていかれにくい
- 誰かが詰まってもすぐに相談できる空気が作りやすい
これにより「わからない」と言える雰囲気ができたと感じていて、この効果はモブプロの価値のひとつだと思っています。
若手が参加するモブプロはどう設計するべきか?
では、若手が成長できるモブプロとはどんな形なのでしょうか。
以下のような工夫を取り入れると、学びの効果が高まると感じています:
- 短時間でのローテーションを行う
- 10分など、比較的短い単位で交代することで、集中力が続きやすく、議論のテンポも生まれやすくなる
- 共同で思考するスタイルを崩さない
- ベテランが「指示する」だけでなく、一緒に考えるナビゲートをすることで、若手の思考プロセスが刺激される
- ふりかえりの時間をしっかり取る
- 実装のあとに「何を学んだか」「どう感じたか」を共有することで、暗黙知が形式知に変わりやすくなる
若手を集中的に育成していきたい!
もしそんな気持ちが生まれているのであれば、おそらくその若手はモブプロ参加の前提条件がまだ満たされていないのかもしれません。
個人的には、モブプログラミングの参加者は以下のいずれかの条件を満たしている必要があると考えています:
- モブプロ参加者同士が同じくらいの能力であること
- 能力差があっても、一番スキルの低いメンバーが業務遂行に必要な最低限の知識を持っていること
この条件が満たされていない場合、モブプロを実施しても現場が混乱したり、負荷が特定の人に偏ったりして、うまく機能しないケースが多いです。
もし、若手がその段階に達していないと感じたら、まずはティーチングによる知識のインプットや、チュータリングを通じたOJTなど、モブプロ以外の手法を取り入れるべきだと思います。
実際、私自身も入社してすぐの時期に、2週間ほど1on1でチュータリング形式での開発実践をお願いしました。自分で考えながら手を動かしつつ、ベテランの先輩に開発の流れを導いてもらうことで、多くのことを吸収できました。その経験があったからこそ、モブプロに参加する際の心理的なハードルもだいぶ下がったと感じています。
前述したとおり、若手から「わからない」というのは勇気がいることだと思います。もし、今読んでいるあなたが若手なら、その勇気を持ってみてください。もしあなたがベテランなら、頑張って学ぼうとしている若手は最大限サポートしてあげてください。私はそのような先輩たちに囲まれたからこそ、成長できました。
(余談:スクラムガイドの5つの価値基準に「勇気」が入っているのは、こう言うところで必要になるからですね。)
まとめ
若手育成を目的にモブプロを運用する場合、単に「ドライバー時間を増やせばよい」という話ではなく、「どのように学ぶ環境を設計するか」がカギになります。
そのためには、若手・ベテラン双方の視点から、意図的に思考と学びの時間をデザインしていく必要があります。
絶対的な正解はありません。だからこそ、自分たちのチームに合った方法を模索し、試して、学んでいく姿勢が大切です。もし、皆さんの現場でモブプロをしているなら、いろんな知見をシェアしてもらえると嬉しいです。
ってなことで、みんなでスクラムフェスとかいろんなイベントいきましょうね!