エンジニアの新人育成—「とにかくテキスト化!」で プロジェクト理解、実装理解を伸ばそう。
ビギナーのプロジェクト理解や実装理解の部分を伸ばしたい。
だけど「理解」というものは、プログラムのようにコードでは見えるものではないだけに、教え方にコツがいる。
そのために「テキスト化」が良いんじゃないかと思い、実践している。
前提
- アジャイル開発
- 朝会、夕会 (スタンドアップミーティング) をやっている
例
- 朝会、夕会の内容をテキストにしてもらう
- 実装やプロジェクトに関して、何かの説明をしたら、テキスト化してもらう。
- 会議やミーティングの内容をテキストにまとめてもらう
これをチームがチェックして、添削する。
間違っているところがあったら、口頭やチャットツールなどで指摘して、またテキストを修正してもらう。
狙い
- インプットとアウトプットをセットにすることで、ビギナーの基本的な理解を深めたい。
- インプットだけではなかなか身につかない
- ビギナーが理解できたかどうかを、チームが目に見える形で確認できるようにしたい。
- 「分かったかどうかが、分からない状態」を避けたい。
- ビギナーの学習コストを最大化して、チームのコストを最小化したい。
- テキスト化には時間とコストがかかるが、テキストの添削は一瞬で終わらせやすい。(うまくいけば)
- 10の理解で100進んでもらうよりも、20の理解で50進んでもらった方が、圧倒的に手戻りが少ない。
実感として、かなり効果があるんじゃないかと思っている。
合言葉は「とにかくテキスト化」。
「じゃあ、テキストにまとめてください」を口癖にする感じ。
ミニ朝会での例
今までのやり方
ビギナーにプロジェクトや実装理解を深めてもらう機会として、朝会の後に「ミニ朝会」というのを開いて、ビギナーが気になる点、分からない点をキャッチアップしていた。
(参考 エンジニアの新人教育 〜メンターとビギナーの日々是セッション〜 - Qiita )
問題点
- 口頭で話しながら手厚く教えることは、チームの時間的、エネルギー的なコストが大きい。(本当はそうしたいが、出来ないこともある)
- チームのコストを最大化することで、逆にビギナーの学習成果を最小化してしまっている恐れがある。
- ビギナーが本当に理解できたかどうかをチェックする仕組みがない。
- 「気になることがなかった時」にキャッチアップできない。
最初の段階では、手厚いやり方は良いかもしれないが、この方法をずっと続けるのは難しそうに感じた。
ボトルネック
- 朝会、夕会は実装理解の大きなチャンスだと思うが、この時間が学習システムとして働かず、大きな空白になっているのではないかと考えた
- 目の前に金塊があるのに、毎日、持ち帰らない状態。
- まずはチャンスを最大に活かしてもらいたいと思った。
- 「まずはコストを支払って、理解すること」「理解の姿勢を持つところ」「金塊を持ち帰るところ」から始めてもらう。
具体的な手順
1.テキスト化
- 朝会・夕会で分かった内容をビギナーにテキスト化してもらう
- メンターがそれをチェックする
2.キャッチアップ
- ツッコミどころがあれば指摘する
- テキストの添削や、口頭での指摘をおこなう
- 他にも気になること、分からないことがあれば教える
- 図を描いたり、演説調で話したり、ビギナーのディスプレイを指出ししながら話したり
3.またテキスト化
- 理解を修正、オーバーライドした内容を、ビギナーにテキスト化してもらう
4.またキャッチアップ
- メンターがまたそれをチェックする
5.一粒で二度美味しい
Pivotal(ストーリーの内容をメモする場所)とかに記載してもらえば、記録は残るし、ビギナーの理解は深まるし、悪くない。
余談
朝会に参加するというのは、ものすごく難易度が高いと、個人的に思っている。
リアルタイムに、一瞬一瞬でやりとりされる情報をキャッチして、実装理解・状況理解のモデルを頭で組み立てつつ、自分の言うことも考える必要がある。
ちょっとしたスキがあると、自分の思考だけにとらわれて、上の空になりがちだ。
「朝会に自然に参加できるようになったなら、チームへのコミット度は一人前」ぐらいの、リトマス試験紙のようなものだと思っている。
まとめ
コスト配分や、その種類について考えよう。
たとえばこの例でいうと、ビギナーに大きなコストを支払ってもらうことが、ビギナーとチーム、両方のメリットを最大化してくれると思った。
イラスト
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2018-03-17
Discussion