見出し画像

オンボーディングを強化してみた

こんにちは、taito です。ナビタイムジャパンで地点検索基盤の開発を担当しています。

はじめに

今回、自分が所属するチームでオンボーディングについて向き合う機会があり、そこで考えたことやってみたことをまとめてみました。
似たような境遇で悩んでいる方の、ご参考になればと思います。

背景

ナビタイムジャパンでは、能力開発、組織の活性化や属人化防止のために、積極的なジョブローテーションが行われています。
この一環として、私が PdM を務めている地点検索基盤開発チームにも新しいメンバーが3ヶ月間参加することになりました。

仲間が増えるのは嬉しいことですが、短期間の新規メンバーを受け入れるに当たって、私達のチームでは以下のような課題を抱えていることに気が付きました。

課題

オンボーディングについて深く考えたことがなかった

いままで、メンバーの入れ替わりが少なかったためオンボーディングについて準備ができていませんでした。

  • チームについてどんなことを知る必要があるだろうか?

    • チームの目標

    • チームの雰囲気やメンバーの人柄

  • 業務に参加してもらう際にはなにが必要なのだろうか?

    • 環境構築や設定周り

    • 必要な知識や技術

  • 参加するメンバーはどんなことを知りたいのだろうか?

これらについてまとめたことがなかったため、毎回新メンバーが入るたびに説明や設定が抜け漏れたり、時にはすぐに不要なことまで伝えて混乱させていました。

深く広い技術や知識が求められがちで、習熟に時間がかかる

良い地点検索を実現するためには、自然言語解析に対する知識から、検索システムを実現する技術力、更に幅広いドメイン知識など、少しニッチな技術や知識が求められることになります。

実際に過去に自分が加入した際には以下のような状態だったことを覚えています。

  • 未知の単語が飛び交っていたため、追うだけで必死だった

    • もはや、わからないことがわからなかった

  • とにかく壁にぶつかって学んだ

    • あれもやります!これもやります!から方方の理解を深めていった

  • 全体感をつかむのに苦労した

    • 点で理解することができても、繋がりを把握するのに時間がかかった

今となっては良い思い出ですが、今回のように3ヶ月間という短期間で成長かつアウトプットを出してもらうには、新しいことを効率的に学習できるような工夫が必要でした。

OJT に頼りすぎていた

メンバー加入の際には何も考えず、とにかく業務をこなす OJT を実施していました。

OJT も良い仕組みですが、全面的にこのやり方で乗り切ろうとするとリソースの面でも成長スピードの面でももったいない部分が多かったかなと感じています。

課題のまとめ

ここまでの課題をまとめると以下のようになります。

  • 今後も使えるオンボーディングの方法を確立したい

  • 学習にかかるコストを減らし、より楽に、必要な知識を身につけてほしい

  • 一人でも十分動けるような環境を用意することで効率的な成長につなげる

これらが解決できると、いまよりもスムーズに新メンバーが活躍できるチームになると考えました。

方針

課題に対して、以下のようなコンセプトを立てて解決に向かいました。

コンセプト

「過不足無い知識を効率的に伝えて、素早い成長と活躍につなげる」

これらを意識しながら受け入れ準備をしたり、タスクの内容や取り組みかたを工夫してみました。

メンバー加入前にやったこと

Welcome 1on1

チームに入ってもらう前に1度メンバー全員と 1on1 を行ってもらいました。
ここではフリートークでメンバーの人柄とチームの雰囲気を知ってもらいました。
同時に新メンバーがどのような成長を望んでいるのかをヒアリングすることで3ヶ月で身につけてほしい内容に目星をつけました。

インセプションデッキ、ワーキングアグリーメントの整理

私達のチームはインセプションデッキとワーキングアグリーメントを用意しています。
どちらも内容上、ハイコンテクストなものになりがちだったため、簡単に整理し、誰でも読めるものにしました。

具体的には、 Miro などのボードで作成されたものを文章化しました。
Miro は複数人で議論を進めていくのにはとても便利ですが、議論の流れを知らないと読み解くのには難しいからです。

ワーキングアグリーメントについては、チーム内の認識を揃えるものという感覚で今まで作成していましたが、新メンバー加入の際にも役立つことを実感しました。
ワーキングアグリーメントを作ろうか悩んでいる場合はおすすめです。

ドキュメントの優先度の設定

私達のチームはドキュメンテーションの文化はありましたが、それらは整理されておらず、わかっている人向けのメモという立ち位置になっていました。
そのため、今回いい機会ということで、「初学者に読んでもらう」という視点でドキュメントを整理してみました。

  • 頭から順番に読める体系にする

* 入門
    * Welcome ページ
        * インセプションデッキ
        * ワーキングアグリーメント
        * 業務に入る上で必要な事前準備
    * 検索とは
        * 検索エンジンの基礎知識
        * 追加で学ぶための資料集
    * 当番業務の種類とやり方
    * 開発業務の種類とやり方
    * プロジェクトの歴史
* 運用プロダクト
* やりたいこと別手順書
* ドメイン知識
* 運営議事録
* ...

このような体系にまとめ直すことで、必要なときに必要な知識を得ることができるようにしました。

  • 最初に読むべき資料を明示する

専門的な知識が少なく一人で読める部分には、🔰マークをタイトルに付与することで、余裕があるときに予習ができるような状態にしました。

また、🔰マークを付与した資料をまとめる際には、初心者でも読めるように内容を噛み砕いたり説明を増やしたりという対象読者意識の切り替えができるというメリットも有りました。

メンバー加入時にやったこと

大事な資料の読み合わせ

資料の中でもより大事なものについて全員で読み合わせ会を行い、認識を揃えました。

  • インセプションデッキ

  • OKR

  • ワーキングアグリーメント

特にワーキングアグリーメントについてはお互いに求め合うものになるため、理解ができていないと今後摩擦が発生していまう部分でもあります。それを事前に把握できる場となっていました。

期待していることを言語化して共有

welcome 1on1 でヒアリングした内容から、
新メンバーが身につけたいことと、自分たちが期待している内容を組み合わせたものをここで共有しました。

  • いまプロジェクトが抱えている課題に対して、こんな成果を期待している

    • 具体的なタスクの内容

    • 簡単なマイルストーン

      • 最初の1ヶ月で学習、残り2ヶ月で本格的な課題に取り組んでもらう

  • 新メンバーに求めている振る舞い

    • わかりにくい、やりづらいところを伝えてもらう

    • 前のチームとこのチームで異なる部分はあるか

仕事の内容だけではなく、振る舞いについても共有したおかげか、
「このやりかたいいですね」「ここがやりづらい」「前のチームではこのようにやっていました」という積極的なフィードバックをもらえています。

メンバー加入後に気にしていること

スコープを意識したタスクの割当

「メンバーの成長」というとすぐに思い浮かぶのが、SL理論 やレディネスという考え方です。ある程度動き続けているチームとメンバーであれば自然な流れで適用されますが、新メンバーに対してはより意識する必要があります。

理由としては、課題解決のために必要な能力が見えにくくなるからです。
SL理論 とは、タスクに対するメンバーの能力を評価し、それに対して必要な支援や指示を行うといった考え方ですが、
そもそも能力がきちんと把握できていないと正しく適用できません。

そのため、以下のような工夫をしてタスクを割り当てています。

  • 課題達成のために必要な能力の確認

タスクを渡す前に、課題解決の前提となるような能力を検討します。
自分が対応するならこうやって対応するといった内容を羅列するようなイメージです。
もし、羅列できないような不確定なことが多い課題であれば更に分割するか、新メンバーにはまだ荷が重い課題かもしれません。

ここでスコープを設定できれば、今必要な知識を無駄なく説明できます。また、このスコープが次にやってもらいたい課題の一部分となっていると次に繋げやすくベストな状態と言えます。

  • 課題を渡す際に必要な能力を提示する

課題を手渡すタイミングで必要な能力を一緒に確認します。そうすることで、課題の難易度がどれくらいなのかを確認することができ、どのようなサポートがどれくらい必要なのかを把握することができます。

つまり、このタイミングでわからないことを把握してもらいます。

  • 細かくゴールを設定し、適切なサポートを行う

前提となる能力をすべて持っているようであればそのまま委任してしまう事もできますが、もし足りない部分があればその部分を補う方法を考えます。

その能力がどの課題でも必要になるような重要なことであれば、少し学習のコストを掛けてでも学んでもらいます。
方法として、能力を活かせるような他の課題から取り組んでもらったり、ヒントを元に調査をするタスクに切り替えてみたり、モブプロやペアプロを活用して教わりながら理解を深める、などです。

こうして、難易度に合わせて、援助的行動や指示的行動の割合を決定しています。

このとき、どのような方法でも必ずどの状態になれば終わりなのかというゴールを設定するようにしています。
そうでないと玉ねぎの皮むきのように何時まで経っても終わったという判断ができないからです。逆にこれさえ用意さえできれば、ヒントなどを渡すだけでも行動に移すことができます。

他の補う方法として、特にその能力が他の部分では利用されないような特殊なものであれば、別のメンバーにその部分だけ肩代わりしてもらったり、今回は考慮から外すという判断をします。

このような手順を意識しながら課題を渡すことで、
「楽に」「必要な能力を」「過不足なく」「効率的に」学んでもらう仕組みが整いました。
実はこの動きはスクラムのエッセンスも多く取り込んでいるのですが、そこについて書き始めると余白が足りなくなるため割愛します。

やったことをまとめる

課題に対してやったことをまとめます。

  • 今後も使えるオンボーディングの方法を確立したい

    • 新メンバーが参加する際にやるべきこと、伝えるべきことをまとめる

    • 技術や文化のドキュメンテーションと整理

  • 学習にかかるコストを減らし、より楽に、必要な知識を身につけてほしい

    • まず全体感を掴んでもらい、それから必要な部分を深堀る

    • 今必要な知識を把握し、それを得る方法を伝える

    • OJT だけではなく、モブプロ、ペアプロの活用

  • 一人でも十分動けるような環境を用意することで効率的な成長につなげる

    • スコープを意識したタスクの割当

    • タスクを小さくし、明確なゴールを共有

やってみた結果

加入から1.5ヶ月程度が立ちましたが、今ではチームの一員としてバリバリ活躍してくれています!

最初の2週間ほどでベースとなるような知識が身につき、そこからは今わからないことを明確にしながら理解を深めています。
そして、用意していた課題だけではなく、より上位の課題についても着手し、アウトプットも出してくれています。

また、新鮮な目線で積極的なフィードバックを行ってくれているため、そこから改善が生まれ、よりチームが強くなったと感じています。

フィードバック

今回、オンボーディングを受ける側となった本人にも話を聞いてみました。

  • 1on1 などでメンバーの価値観を知ることができて、スムーズに参加できた

  • 勝手にページを見てやっておいてね!でも問題なく進める

    • アカウントや必要な情報等がまとめられている

  • 働き方やそれぞれのタスク(リリースやプルリクのルールなど)の DoD がしっかり言語化されているので配属された直後でもイメージがかなりしやすい

  • 未知の課題へ取り組んでいて難しいはずだが、それでもやりやすさを感じていた

    • 困って手が止まるタイミングがなかった

狙い通りの効果が出ているようで、オンボーディングは成功と言ってもいいのではないでしょうか。
これでベースとなるオンボーディングのやり方が出来上がりましたので、次のメンバーが来たときにも対応できますし、さらにここから改善してくこともできるようになりました。

まとめ

今回、新メンバー加入をきっかけにオンボーディングを全体的に見直してみました。

今まで用意していた資料を新メンバーの加入という視点で構築し直すことで、オンボーディングの質が向上したことはもちろん、自分たちがどのようなチームでどのように活動しているのかをより鮮明にできたと感じています。

課題への取り組み方も当たって砕けろから、より効率的で安心感のある方法になり、より良い検索を目指す道のりが楽になったかなと感じています。

もし、似たような境遇でオンボーディングに悩みを抱えているということであれば、ぜひ参考にしてもらえればと思います。