見出し画像

スムーズな引き継ぎのためのスキルマップの育て方

🎄この記事はNAVITIME JAPAN Advent Calendar 2023の8日目の記事です。


自己紹介

こんにちは、サファイアです。
ナビタイムジャパンで全文検索エンジンの研究開発を担当しています。ナビタイムジャパンにおける全文検索エンジンの使われ方については、過去の記事をご覧ください。

今回のお話と対象読者

本日は、私が所属するチームで実践している「スキルマップを用いたスキル状況の可視化手法」についてお話をします。「チーム内の誰がどんなスキルを持っているのかの全貌が分からず、不透明感のある開発モヤモヤしたり不安を感じたりしている人」は読むと参考になるかもしれません。


今回起きた問題:突然のメンバー減少

背景となる状況の説明

今回この話についてnote記事を書こうと思ったのは、「スキルマップによりチーム全体でのスキルの可視化をしていたことによって、チームメンバーの突然の離脱に対して迅速かつ柔軟に対応できた」という経験があったためです。

私が所属するチームでは、チームを技術面で牽引するテックリードに属人化したままにしていたタスクやスキルが散在していたのですが、そのテックリードがチーム外に移籍することがある日突然決まりました。そのため、急いでテックリードに任せていたタスクやスキルを他のメンバーにも実施できるようにする必要が出てきたのです。

その結果、

  • テックリードに属人化しているタスクの状況を引き継ぐ

だけではなく、

  • テックリードにしかできないスキルが何かを洗い出して

  • そのスキルの非属人化を速やかに行う

ということも急務となったのでした。

属人化させたままにしていた背景についての補足

一般に、突然の人員異動などに備えて「誰かしかできないタスクやスキル」はなるべく減らしておいた方が安全であると言われています。このセクションでは、なぜそのような属人化を私たちのチームは放っておいたのかにしたのかについての補足をいたします

本題となるスキルマップの作り方と使い方については次のセクション以降で述べていますので、「はやく本題を読みたい!」という方は読み飛ばしてください。

今回、私たちが「それらのタスクやスキルをテックリードに任せる」というフォーメーションを取っていたのは、以下の四つの前提が重なったためでした。

  • テックリードが指導的な役割を果たす必要性が薄い別のタスクの実行にチームのリソースを振り分けることが、その年度のアウトカム最大化に有効な状況だったため。

  • テックリードに属人化させていたタスクのうち、特に一部はテックリードが今年度中に完了させる予定のものだったので、そのタスクの遂行に必要なスキルも、そのタスクの完遂とともに必要がなくなる予定だったため。

  • その「今年度中に完了させる予定」だったタスクの律速は他チームが受け持つ作業にあったので、そのタスクに取り掛かる人員を増やしてもタスクがより迅速に完了できるというわけでもなったため。

  • テックリード自身は、そのフォーメーションに不満を持っていたわけではなかったため。

このような条件が重なったため、私たちのチームはあえてそれらのタスクやスキルについての属人化を解消しないという選択肢を取っていたのでした。ですが、結果としては今回、上記の四つの前提のうち二つ目が崩れてしまったということになります。

今回できた対策:スキルマップで属人化タスクを解消

閑話休題。そのようにいくつかのタスクがテックリードへと属人化していた私たちのチームですが、私たちのチームではスキルマップが(私がチームにジョインするよりも前から数年来に渡って)継続的にメンテナンスされていたので、どのスキルにおいてテックリードへの属人化が起きていたのかがすぐに分かり、先に述べた「テックリードにしかできないスキルが何かを洗い出す」という作業もまた、すぐに終わったのでした。

そうして、テックリードがチームを実際に離れるまでの数週間の間に、急いでスキルの属人化を廃すためのアクション(具体的には、モブプログラミングによる教授など)を実施することができました。現在のところ、プロジェクトにおける業務の遂行において、スキルの喪失による作業遅延などの損失は発生していません。

スキルマップを継続的にメンテナンスするには

では、具体的にどのような方法で、(上記のような形で)すぐに役に立つスキルマップを継続的にメンテナンスできるのかについてですが、その秘訣として考えられる心当たりは三つほどあります。以下で、それらについて順に説明いたします。

秘訣その1:スキルマップを作る目的を明確にする

まず、これは何事についても言えることですが、スキルマップを作る際にはその目的を初めに明確化しておきましょう。

私たちにとっては、スキルマップは、「状況を明確にし」「なすべき努力の道筋を明らかにし」「アウトカムの最大化に繋げる」という目的を達成するための手段でした。

この観点から考えれば、スキルマップはチームが意思決定をする際の根拠となれば十分にその役割を果たしたこととなります

何かを可視化し出すと、途中からその作業自体が楽しくなってきて際限なく丁寧に現実を表現したものを作り込んでいきたくなる(私はそういうタイプです)が、あくまで「意思決定の際の根拠になる」のが「十分」のラインなので、その水準を超過して詳細な規定をスキルマップ内に用意する必要はないということです。

また、意思決定の際には「状況の可視化を正確に行うこと」が前提として必要になるため、メンバーがどのようなスキルをどれくらい持っているのかを(過剰な謙遜も誇大な申告も無しで)正確に可視化することが肝要となります。

その意味で、スキルマップをメンバー評価の参考とする(例えば、どれくらいのスキルが習得できたかをスキルマップを用いて計測するなど)ことは可能かもしれませんが、そうしたスキルマップ上の変化をメンバー評価に直結させてしまうと事実から乖離した誇大な申告を招くかもしれないので、そこは気をつけたいなと思っています。

秘訣その2:項目は気付き次第増やしていく

また、スキルマップを継続的にメンテナンスしていく上で有効だったように思われる秘訣の二つ目は、「スキルマップの項目は気づき次第増やしていく(最初から完璧な項目のリストを作ろうとしない)」というものです。

スキルマップが最初に作られた頃はスキルの総項目数はどうやら20個程度だったようですが、現在では120個ほどになっています。そして、その項目数はもう少し拡充されていくだろうと私たちは予測しています。

項目数120個というと、多すぎて管理しきれないのではないかと思われるかもしれません。確かに、全ての項目を諳んじることはできるメンバーはいませんが、メンバーはどの項目についても見れば「ああ、あれね」とその内容と意義をすぐに思い出せる状況を維持できています(それは、以下で述べる三つ目の秘訣によるものと私は考えています)。それゆえに、これ以上に拡充してもまだ運用を継続できる(=チームの意思決定に利用し続けることができる)と感じています。

なお、上記の「一つ目の秘訣」で挙げたように目的を定めると、少なくとも私のチームでは、

  • スキルの粒度は概ねこれくらいになり、

    • 「Kotlin」:言語としてのKotlin全般の文法などについて

    • 「Solrコンバータ開発」:ナビタイムジャパンで運用しているSolrへ投入するデータを用意するコンバータの処理全般について

    • 「スクラム」:スクラム全般について

    • 「住所データ」:ナビタイムジャパンの全文検索エンジンで扱っている住所データ全般について

  • スキルの習熟度は以下の四段階になりました。

    • 「(空白)」:ほとんど何も知らない

    • 「△」:概要について少しばかり見聞きしたことはある

    • 「⚪︎」:補助付きで自分が実施したことがある/迷いなく的確にとはいかないまでも自力で実施できる

    • 「◎」:他の人に教えられる/ほとんど迷うことなく的確に実施できる

属人化解消の基準としては、「三人以上のメンバーが『⚪︎』以上の習熟度があれば大丈夫」という程度の水準で意思決定に使用しています。

ちなみに、スキルマップはGoogleスプレッドシート上に置いてあるため、フィルタを使って表示項目を絞り込んだり、スキルの習熟度合いを自動で数値化できたりもします。

秘訣その3:毎週5分みんなでワイワイガヤガヤ

三つ目の秘訣が、「朝会の時間(毎日30分)を使って、週一回、5分くらいスキルマップの更新をしている」というものです。

頻繁にスキルマップを全員で眺めることには以下の五つの効果があると私は考えています。

  1. 各項目の内容と意義を他のメンバーにも頻繁に確認しながら、自分のスキルの習熟度を申告することができる

  2. 確認される方のメンバーも、各項目の内容と意義を忘れずに済む

  3. スキルマップに記載されていないスキルに触れた際、それを忘れずに新項目として追記できる

  4. 自分のスキルに上達があった際、その事実を忘れずにスキルマップに記載できる

  5. 上に書いたような追記や記載を忘れてしまった場合でも、その修正の機会は次の週にはまた巡ってくるので、本来あるべき記述への復帰が容易になる

特に、ワイワイガヤガヤと(ジョークや雑談も交えながら)会話することができれば、話の脱線から新たな項目を思い出すことに繋がったり、各項目についての自己評価の更新に繋がることも珍しくないため、和気藹々としたリラックスした雰囲気を作っていくことが効果的です。

まとめ

まとめです。スキルマップを継続的に育てることで、急な状況の変化にも速やかに対応できる「しぶといチーム」を作ることが可能となります。

他にも、今回は触れませんでしたが、継続的なスキルマップのメンテナンスは中長期的な人材育成計画の立案などにも活用することが可能です。

面倒臭いと思われることもしばしばかもしれませんが、週に一回、5分ほど、ワイワイガヤガヤ話しながらスキルマップに向き合ってみるのも、良いかもしれません。