アジャイル
仕事

エンジニアの新人教育 〜メンターとビギナーの日々是セッション〜

現チームの構成

  • アジャイル開発をしている。少人数のチーム。
  • 業務で扱う範囲が非常に広い。

ここでは教わる側を「ビギナー」。
教える側の代表を「メンター」と呼ぶことにする。

デイリーセッション (ミニ朝会) を開くようにした

チームでは毎日、ホワイトボード前で朝会をおこなっている。
これは立ちながらの短時間のミーティングで、各メンバーがそれぞれ、自分の進めるストーリーを話したり、実装の相談をしたりする時間だ。

この朝会のすぐ後に、メンターとビギナーで、毎日必ずセッションを開くようにした。
ビギナーが分からないこと、気になることや、逆にメンターが気になっている点などを、何でも話し合って、質疑応答する時間だ。
(僕たちはこれを「ミニ朝会」と呼んでいる)

やり方

  • ビギナーが何か、朝会で気になることがあれば、メンターに質問する。メンターがそれに答える。(後述するが、このやり方はその後改善した)
    • 毎回「今日の朝会で、何か気になることはありましたか?」というような言葉で始めている。
    • 小さなホワイトボードを使って、絵や図を使って説明することが多い。
  • トピックは、実装や技術的分野に関してだけではなく、たとえばプロジェクトの状況について、基本的な仕事の仕方や、Slackなどのツールの使い方などの範囲に及ぶ。
  • メンターでも分からないことや、理解が曖昧な部分は、他のメンバーの力を借りて教える。(これはメンター自身の理解強化にもつながる)
  • ここでは「ミニ朝会」という方法を書いたが、メンターとビギナーがセッションするタイミングを、適切なタイミングで、定期的に取れるならば、どんな形式でも良いと思う。
    • 毎日のスケジュールに組み込むことが重要だと思う。
    • 「何もトピックがない時」があっても良いけど、1秒でも良いので、必ずセッションの時間は作って、それを習慣にする。(「必要になったらやる」「思いついたらやる」のでは、いずれ忘れてしまう)

image.png

問題点

  • ビギナーからの質問を待ち受けるだけだと、理解の取りこぼしが多いことに気づいた。
  • 「気になることはありましたか?」「ありません」で終わってしまう日が多かった。

改善 - メンターがトピックを用意する

メンター側から、アクティブにトピックを用意するようにした。

  • セッションを始める前に、ビギナーに投げてみたいトピックをいくつか用意しておく。
  • 「Aさんの話してた、ストーリーBの、Cという部分は、どんな風に受け取りましたか?」などと聞いてみる。
  • 自分が担当しているストーリーをトピックにすると、特にやりやすい。(なぜなら、よく理解しているから)
  • メンターが直接教えていない部分に関しても、ビギナーに自由回答形式で答えてもらう形も試している。
    • たとえばサーバー構成を説明したあとに「この1個サーバーでだけ、データベースが存在しないのは、なんでだと思いますか?」など。
    • まったくの推測で良いので答えてもらって、推理する習慣、思考習慣をつけるきっかけにしてもらおうとしている。

コツ

個人的に心がけていること。

  • メンターとしても、チームとしても、自分たちの「教える力」を上げるつもりで取り組む。
    • たとえば、ひとつの問題が生じた時、メンターやチームに原因があったのか、ビギナーに原因があったのかを考えてみる。(その両方ということもあるし、どちらでもない場合もある)
    • チームとして改善できるところがあれば、そうする。
    • いちどチームで土台を作ってしまえば、それが今後も、文化として受け継いで行ける可能性がある。
  • ビギナーの話をよく聞く。
    • たとえば実装やドメインに対して、ビギナーの理解が間違っていた時、どこがボトルネックになっているかが分かるまで、じっくりと話を解きほぐす。
    • なぜなら「つまづいた理由が分からない」状態では、問題を解決するのは難しい。
  • 褒めるべきところを褒める。
    • ビギナーから見習いたいところを探してみる。
    • どちらかというと「褒めるところを頑張って見つける」というより「褒めることが思い浮かんだ時に、それを言うのをやめない」という感覚。
    • 長所は、理系的な頭のキレの良さとか、確認の丁寧さとか、勉強熱心さとか、人の良さとか、相手によってそれぞれ。
    • 人間はそれぞれ性格的な長所が違うので、武器も違う。メンターにはない武器をビギナーが持っている。