去年の7月に新卒さんのOJTをチームで受け入れたんだけど、12月にまた別の方のOJTをさせてもらってました。今回もまた面白かったー。
Very Team-focused
昨日、彼のこの1ヶ月の成果発表のプレゼンがあったんだけど、そこで
"Very Team-focused"
的な言葉をいただきました(∩´∀`)∩ワーイ
On-the-Job Training
OJTはこんな感じ。僕らのチームは2番目担当。
バックグラウンド
彼はカナダ出身の海外新卒で、日本語は分かるんだけど、早口で議論が始まるとちょっとつらいって言ってました。
そろそろチームも英語に慣れといた方がいいなって思ってた時期だったので、僕からは彼に、チーム内では100%英語で喋るようにお願いしちゃいました。
何をやったか
1人でできるようなタスクを渡してやってもらうってのは、僕ららしくないよねってことで、やっぱりチームが実際にやってるプロジェクトにメンバーとして参加してもらうことにしました。
またこれ大きめのリリースを控えていて、5人全員が必死の中にポイッて投げ込んじゃいました。こんな感じでやったかなー↓
うちのチームはペア開発を採用してるんだけど、スプリント毎にペアを組み替えてるので、Sprint1とSpring2でペアを組む相手は別の人ね。
スプリント1: モデリング + 実装
最初のスプリントはモデリングと実装をペアでやってました。
DDDを採用してて、チームは名前にめっちゃこだわってます。
んで、「これでどうだー!ちょっと見てよ?」ってすぐ集まって、クラスやメソッド、フィールドの名前が自然かどうか、みたいな話をするんです。
英語で名前をつけるのでいつもはなかなか苦しむんですけど、そんな中で彼がアイデアを色々出してくれて、かなり助かりました。ここんとこね↓
彼からはどう見えたか?
Discussion
- 会議は全くない。で、情報共有やディスカッションがめっちゃ多い。
- そういった共有の場にはチームの全員を巻き込むから、別のペアが何をどんな風に決めて進めているのかをチーム全員が知っている状態なのは良い。その続きをしたりするのもスムーズ。
- ディスカッションに時間をかけてるんだけど、結局それが手戻りとかを減らしてくれてるので時間の節約になってる。
DDD
- 名前付けにめっちゃこだわってる
- そのおかげでコードが読みやすくて、すぐにコードを理解できた。
- コードをプロダクトオーナーも読める言葉で書いてるのは強力だと思った。
- 読みやすいコードめっちゃ大切だって思った
Pair Development
- Great learning opportunity
- このおかげで参画2日目からプロダクションコードを触ることができた。
- 病気で誰かが休んでも、プロジェクトは止まらないで進めることができる。
- やる前は「2人でやるんだから楽だろう」と思ってけど実際やってみたら、めっちゃ疲れる
- 慣れてきたら、別々に作業したりもできるようになった。
Pull Request-based Development
- ちっさなプルリクエストが飛び交って開発が進むのでレビューしやすい
- たくさんプルリクエストが出せてよかった
いっぱい勉強になった
今回もかなりセンスのいい方で。僕も沢山勉強になりました。
あー。昨日、新卒さんにアドバイスしたけど、今考えてみたら彼の意見の方が良い意見だったな。今日謝っとこう。
— Mitsuyuki.Shiiba (@bufferings) 2015, 12月 17
あと、チームに英語の機会を与えることができて良かった。しんどいだろうけどみんなでなんとか回してくれたし。英語には勇気が一番大切だね。
英語で毎日喋ってて思うのは、英語で喋ってるよって言っていいよなって。滅茶苦茶な英語なんだけど、なんとか通じてるし、チームの誰も笑わないし。TDDやってるし、スクラムやってるし、CI/CDやってるし。そんな風に言っていいよなーって思った。
— Mitsuyuki.Shiiba (@bufferings) 2015, 12月 24
今回の受け入れを見てても思ったんだけど、いいチームになったなー。