スキルマップを作成して、チームの強みと弱みを可視化!
これはなに
こんにちは!レバテック開発部の宮下です。
皆さんは、チームのメンバーが何の技術が得意不得意で、モチベーションが高いかご存知ですか?
スキルマップを作成することで、チームの強みと弱みを可視化し、相互理解に繋がるだけでなくプロジェクトの進行やリソース配分を最適化できると考えています!
この記事では、スキルマップを作成する意義とその具体的な方法、そしてどのような効果があったのか解説します!!!
対象読者
- チームリーダーの人
- メンバーのことをあまり知らない人
- モチベーション管理に悩んでいる人
- チームの強みと弱みが直ぐに回答できない人
スキルマップとは
スキルマップは、メンバーのスキルを可視化したものです。
ここでは2つの軸で構成することにします。
- 習熟度: どれくらいレベルにあるか
- モチベーション: どれくらいモチベがあるか
スキルマップが必要になった背景
1. メンバーのスキルを把握し、効果的活用ができていなかった
チーム内で誰がどのスキルを持っているのかが明確でなかったため、タスクの割り振りやプロジェクトの進行において最適なリソース配置ができていませんでした。
例えば、Rustに興味があるメンバーがAがいたのに、Rustに全く興味がないメンバーBをタスクにアサインしてしまうことなどありました。
2. チームに新しい人を迎える場合、どんなスキル感の人が必要かわからなかった
ある日、上長から「チームに新しいメンバーを入れる場合、どんなスキル感の人が欲しい?」と聞かれました。私は回答に困りました。肌感覚である程度見当がついていたものの、それに対する信頼性が欠けていたからです。
作り方
1. 必要なスキルをリストアップ
スキルマップに反映するスキルセットを洗い出します。
スキルマップを作成する際は、メンバー全員が同じスキルに対して評価を行うことが重要です。
私のチームの場合、メンバーで話し合い、チームで普段使うスキルに限定しました。また、技術的なスキルだけでなく、ソフトスキルやコミュニケーション能力も含めました。
参考までに、自チームで評価対象としたスキルリストを置いておきます。スキルの粒度についてはメンバーで話し合ってください!
筆者のチームでリストアップしたスキル一覧
- MySQL
- Laravel
- バッチ処理
- JavaScript
- php
- html/css
- Github
- AWS
- ECS/EC2
- ALB
- SQS
- Linux
- Typescript
- nodeJs
- 要件定義
- DDD
- GAS
- lambda
- Docker
- Redis
- pjm
- Datadog / Newrelic
- ppm
- NestJs
- firestore
- テスト
- Line Platform
- TDD
- 障害対応
- phpunit
- Terraform
- ブラウザ
- firebase
- Jest
- AI
- Autify
- セキュリティ
- NextJs
- React
- Atomic design
- Nuxtjs
- マーケティング知識
2. メンバーごとにスキルを評価
次に、各メンバーがステップ1で決めたスキルに対して評価します。
基準を設けないと人によって評価がばらつくので、習熟度は6段階で下記のように定義しました。
- 知識が全くない
- 知識はあるが実務経験がない(理論や概念は本で学んだことがあるが、実際の業務で使用した経験はない状態
- サポートを受けながら業務をこなせる(サポートを受けながら、仕事を進められる状態
- 自力で業務を遂行できるが、最適な方法かは不明(一人で業務をこなせるが、最適な方法か自信がない状態
- 他の人に教えられるレベル(自分が習得した技術について、他の人に指導やレビューができる。該当技術の背後にある仕組みや概念をしっかり理解している
- 社内・外で登壇できるレベル
モチベーションに関しては、肌感で6段階で評価しました。
スプレッドシートなどを用いるのがおすすめです。
3. スキルマップに反映
入力した数値を基にして、いい感じにFigmaやDrawioなどの図を作れるツールで描画してください!
4. カバレッジ計測
ステップ2で、何故スプレッドシートに一度入力させるねん?と思った方もいたかと思います。
スプレッドシートに数値を入力しておくと、以下のような感じで、チーム内で不足しているスキル順にソートしたりすることができて非常に便利なのです。
感じた効果
1. チームの弱みへの対応強化
スキルマップを作成することで、どのスキルがチーム内で強いのか、逆にどのスキルが不足しているのかが一目で分かるようになりました。これにより、リソースの再配置や、弱点を強化するためのプランを立てやすくなりました。
例1
チームとしてPHPのスキル習得が必要であるが、習熟しているメンバーがいない。しかし、とあるメンバーのPHPへのモチベーションが非常に高い場合、そのメンバーにPHPのスキルアップしてもらえば、チームとして将来的に大きな問題にならないことが予想できます。
例2
チームとしてRustのスキル習得は必要だが、習熟しているメンバーがいない。更に、Rustのモチベーションが高いメンバーが1人もいない。このパターンは深刻で、他のチームに助けてもらうか、新しい人を入れた方が、不幸な人が出ないことが予想できます。
2. プロジェクトの効率化
チームのスキルセットを把握することで、タスクの割り振りやプロジェクトの進行がスムーズになりました。例えば、PHPが必要とされる急ぎのプロジェクトにおいて、PHPに最も強いメンバーを適切にアサインすることができました。
3. メンバーの成長支援
モチベーションも可視化されているので、各メンバーがどの分野を伸ばしていきたいかが明確になります。これにより、個々のメンバーに対して適切なタスクアサインや学習アドバイスの提供が可能になりました。
また、継続的にスキルマップを更新することで成長の見える化をすることもできます。
4. メンバーの相互理解促進
チームビルディングの一環としても効果的だと感じました。スキルマップを作ってみると「この人これ得意なのか・・・」、「実はこれに興味は無かったんだ・・・」こんなことの連続です。
また、XXXXのことで困ったら、得意のあの人に聞きに行こう!ということが活発になりました。スキルマップがあれば困った時に誰に聞けばいいのか一目瞭然なので。
さいごに
スキルマップを作ってとっても良かった!
スキルマップは、単なるスキルの整理だけでなく、チーム内のコミュニケーションやリソース配分、メンバーの成長支援にも大きな効果があります。最初は手間がかかるかもしれませんが、一度作成してしまえば、チームの強みや弱みが明確になり、日々の業務やプロジェクトの進行が格段にスムーズになります。
もし、まだスキルマップを作成していないのであれば、始めてみるこのはいかがでしょう!
チームの「今」を可視化し、より効果的な「未来」を作り上げていきましょう🎊
Discussion