人に動いてもらうために!属人化をどう改善するか

エンジニア思考
人に動いてもらうために!属人化をどう改善するか
Blog

本記事は「属人化をどう改善するか」をテーマに考えていきたいと思います。

テーマについて

そもそもなんでこのテーマにしたかでいうと

私が今働いている職場のエンジニアチームで
特定メンバーへの属人化が進行していると感じていて

状況を整理し改善案を考えたいと思ったからになります。

なのでこの記事では
今のチームの具体例を交えながら状況を整理し
改善へのアプローチを検討していけたらと思っています。

現状について

今のチーム

私が今働いている会社はtoC向けのサービス事業を行なっています。
規模で言うと数十万単位のユーザーがるそこそこ大き目な事業です。

プロダクト

検索、サービス、入会、アカウント、ポイント、クーポン、決済などがあり
それぞれ内製で開発を行なってなっています。

チームの体系

職種ごとに分かれています。
フロントエンドチーム、バックエンドチーム、インフラチーム、デザイナーチームといった形で分類され
各チーム10名から20名ほどのメンバーで構成されています。

プロジェクトへのアサイン

プロジェクト発足のタイミングで
各チームから必要なメンバーがそれぞれアサインされます。

各メンバーは複数のプロジェクトを兼務しながら開発業務を行なっていきます。

プロダクトへのアサイン

各プロダクトの管理についても専任の担当がいるわけでありません。

こちらも関連する開発が発生する際に必要に応じて
各チームからメンバーがアサインされ対応を行なっていきます。

なぜ属人化していると感じるのか

そもそもなぜ属人化していると感じるかというと
3年ほど前から運用している「X」というReactで作られたシステムがあります。

Xは半年に一回くらいの頻度で追加開発や改修が発生しています。

その対応が必要になった際に
現在は特定の固定メンバーAさん(以降Aさん)しか
対応出来ないという状況になっているためです。

ずっと属人化していたのか

もともと対応出来たメンバーは複数人いました。
運用も持ち回りで実施していました。

時間の経過とともにメンバーの入れ替わりが発生したことで
気づいたら対応できるのがAさんだけという状況になっていました。

なんで属人化してしまったのか

属人化した理由を考えてみると2点あります。

  • 退職時の引き継ぎの問題
  • メンバーごとのスキルの違い

退職時の引き継ぎの問題

もともと対応していたいメンバーの退職した時に行なった引き継ぎ対応が
適切に出来ていなかったと思います。

具体的なところは確認できないのですが
今残っている引き継ぎを受けたメンバーは複数人いるにもかかわらず
全員対応出来ないという状態になっています。

メンバーごとのスキルの違い

実はAさんですが最初から対応できたわけではありませんでした。

Aさんはキャッチアップして対応

どのようにして対応できるようになったかというと
対応していたメンバーが退職した後のタイミングで発生した
Xの追加開発があったのですがチーム内でメンバーアサインの相談したところ
誰もできる人がいませんでした。

その状態の中どうにかしようと考えている中声をあげてくれたのがAさんでした。
「誰も出来ないのであれば自分がキャッチアップして対応します」と。

手を挙げたAさんは自発的にソースを読み込みキャッチアップしてくれました。
時間はかかりましたが結果的に開発からリリースまで全てをやり切ってくれました。

Aさん以外はキャッチアップして対応できなかった

後他のメンバーにも同様に対応してもらえる状態を作りたかったので
Xの追加案件対応を他のメンバーへお願いしました。

しかしキャッチアップに時間がかかりすぎたり
対応するところまでは至れずやり切ることが出来ませんでした。

そして結果的にAさんが残った対応を巻き取るといった状況になってしまいました。

なのでAさんが出来てAさん以外は出来ないというところで
結果的に個人スキルの違いによって属人化に繋がってしまったと考えています。

問題はなんなのか

属人化してしまった経緯を踏まえ問題はなんなのかを考えてみます。

退職時の引き継ぎの問題

引き継ぎが必要だった業務が正しく引き継がれていなかったことがあると思います。

プロセスについてはそれぞれやり方はあると思いますが
引き継ぎを行う項目に漏れがないかは第三者の視点も入れて確認が必要だと思います。

そして引き継ぐ側はしっかりと対応できる状態になっているかを確認する必要があったと思っています。

これらの中身を細かくみていくとかなり長くなると思うので
引き継ぎについては別の機械に整理して記事に書きたいと思います。

メンバーごとのスキルの違い

もう一つのメンバー間のスキルの違いですが
これについて対応出来るメンバーが偏ってしまったのは事実ですが
問題は別のところにあると思っています。

一番の問題としては一部のできるメンバーに頼ってしまう構造があると思います。

出来るメンバーはモチベーションも高く自分でやり切ろうとする。
出来ないメンバーは出来ないことでモチベーションが続かず諦めてしまったり
できる人にお願いしたほうが良いと考えてしまう。

これまでの運用でこういったチーム内の風習が出来てしまったことが
今回の属人化に繋がった原因であると思っています。

解決について

できる人にタスクが集中してしまうというのはどの組織にも起こりうると思います。

これらの問題に向き合っていき
改善していくためのアプローチを考えていきたいと思います。

解決へのアプローチを考えてみる

解決のアプローチとしていくつかあると思いますが
今回は各メンバーの自発性を促す取り組みと組織的に取り組むことの2点で考えてみたいと思います。

各メンバーの自発性を促す取り組み

まず各メンバーが課題について感じるためには属人化を理解する必要があると思います。
なのでチームメンバーで属人化について考えてみる会を実施しようと思います。

やることとしてはテーマの内容をそれぞれ考え付箋へ書き出してもらい
みんなの前でそれぞれ発表していく形で実施してみたいと思います。

テーマ

属人化について

  • 属人化についてどう思うのか
  • どんなリスクがあるのか

属人化に繋がりそうな案件

  • なんでそう思うのか
  • 対策のために何をしたらいいのか

これらを通しチームメンバーで属人化への理解を深め
メンバーが自発的に改善に向けた行動をとるきっかけに繋げられたらと思っています。

組織的に取り組むこと

組織的にも解決しやすい環境を作っていくことは必要だと思っています。
そこで今回は成長、チャレンジができる環境づくりを考えてみました。

チャレンジ案件の設立

  • 属人化に繋がりそうなシステムや案件などはチャレンジ案件として案件化する
  • チャレンジ案件は工数を多めに確保しキャッチアップ工数を含めて対応しやすくする
  • チェレンジ案件を達成した場合の成長ポイントを示す
  • チェレンジ案件は通常の案件達成よりも評価点を加点する

このような形でチャレンジ案件という案件を通して達成しやすい環境づくりと
成長をしっかりサポートできるようにしていきたいと思います。

属人化について考えてみて得られたこと

文章にすることで課題が整理される

改めて状況を記事にすることで正しく整理することが出来ました。

頭の中で考えるよりも文章にすることで曖昧な部分を明確することができ
適切な解決策のアプローチの検討に繋げることができたと感じています。

属人化の理解

メンバー間で出来る人がいたことでそこに頼り切ってしまった構図から
属人化に繋がったことが改めて発見できました。

また、この構造はよく発生しがちで継続的にメンテナンスが必要である
というところも新しい発見でした。

今後の課題

引き継ぎは問題が深いので改めて問題の整理が必要

属人化の内容についてを振り返ると
まず引き継ぎに業務ついては改めて見直しを行っていきたいと思います。

人の入れ替わりは今後も発生していくので
改めて引き継ぎ時に必要な観点を整理し問題が発生しないように改善していきたいと思います。

仕事が出来るメンバーに仕事が偏るので対策が必要

仕事が出来るメンバーに仕事が偏ってしまったことは
改めてよく考えてみても発生しがちな事象ではないかと思います。

属人化以外の観点でもリスクはあると思うので
定期的に振り返りながら改善のアプローチを行なっていく必要があると思いました。

終わりに

最後までご覧いただきありがとうございます。
この記事では人に動いてもらうために!属人化をどう改善するかについて紹介させていただきました。

これからも皆様の開発に役立つ情報を提供していきたいと考えています。
今後ともよろしくお願いいたします。