🦾

エンジニア属人性の4分類

2022/05/29に公開1

これ is 何?

直近で育休を取るにあたり、引き継ぐという意味で属人性を意識することがあったが「そもそも属人性ってなんだ?」とモヤモヤしていた。いろいろ考えた挙げ句にポエム的な内容で着地したので吐き出している。

属人性の善悪

エンジニアリングメンバーの転職・休職やマネジメント層の移り変わりなどで語られる「属人性」は、排除すべきという議論と必要悪だという視点が混在している。属人性をすべて排除しようとすると付随コストが増大、さらに属人性を認めない場合はまるで歯車的な働き方を要求し個性まで否定された気持ちになりかねない。一方で属人性を許容しすぎると単一障害点が増加し事業リスクにも直結する。属人性に焦点をあてた記事も探せば「属人性をなくそう!」「一定、属人性はあって然るべき!」と言った二項的視点で書かれているように思える。

属人性を強く意識すべき昨今

ソフトウェアエンジニアの転職市場は供給不足で世はまさに「大転職時代」。いつまでもあると思うな親と金とデキるエンジニア。特定エンジニアの転職というイベントはマネジメント層の悩みのタネであり、事前に備えるべきという認識も高まってきている。

「属人性」の違和感

属人性が語られる上での違和感が一定ある。この手の議論を出したときに二項対立的になってしまうのはなぜだろうか?絶妙な空中戦になっているケースを良く見てきた。

そうだ、細かく名付けしてみよう

恐らく、違和感の原因は名前がついてないから認識が揃いにくいのだろう。もう少しWebソフトウェアエンジニアの属人性を分解して考えて見れば気持ちよくなれそうな気がする。

属人性4分類

独断と偏見で分類すると以下のような4分類が考えられる。

  • の属人性
  • の属人性
  • の属人性
  • の属人性

技の属人性

技術力に関する属人性。アーキテクト的な視点の設計だったり、開発言語・Webフレームワーク、開発手法なども含めて「技」と考える。他社でも使えるポータビリティスキルであり、属人性の多くはこの文脈で語られていると思われる。

## 業の属人性
業務に関する属人性。実装を含めた手作業やビジネスを進める上で必要な手続きなどを「業」と考える。他社で活用できるか不明なスキルであり、技の属人性についで属人性の文脈で語られていると思われる。

知の属人性

事業・会社固有知識に関する属人性。特定業界の知識を含めた事業のドメイン知識、加えて会社固有の事象や歴史的経緯などを「知」と考える。良く「ドキュメント化したほうが良い」と語られる内容の属人性である。

心の属人性

人の心・連携に関する属人性。時間をかけて人と人の間にできた絆や信頼関係、親近感、ムードメイクなどを「心」と考える。属人性の文脈ではあまり強く見られていないと思われる。

4分類の性質

上記、それぞれの属人性の性質を以下のように定義してまとめてみる。

  • 排除性: 属人性を排除しやすい性質
  • 共有性: 属人的な内容を他人と共有しやすい性質
  • 評価性: 属人性に対して人事的な評価をしやすい性質
  • 交換性: 属人的な内容に対して人の入れ替えをしやすい性質
名称 排除性 共有性 評価性 交換性
× × ×

技の属人性の特性

技術力に近いポータビリティスキルは特定技術の理解ができている人同士であれば入れ替えが行いやすく、また人事評価でもできることとして表面化しやすい特徴がある。また、技術的には学習しやすく特定技術の導入の際に勉強会などの共有を行うことで属人性を低くすることができるが、排除しようとすると新しい技術の導入などのハードルが上がり、ビジネスの推進力や個人のやりがいを低下させてしまう危険性がある。

業の属人性の特性

実作業はドキュメンテーションやペアプロといった形で他人と共有しやすく、積極的に排除するべきという認識も強い。一方、ドキュメンテーションやOJTを行ったところですぐに淀みなく作業を行えるわけではないため、人を増やす入れ替えることでの短期的な解決が難しく、実作業として現れるために目に見えて評価のテーブルにあげやすい。

知の属人性の特性

特定業界の知識を含めた事業のドメイン知識はドキュメンテーションや口頭伝聞などで伝わっていくために共有はしやすいが、情報量の多さや知識が陳腐化しやすいために排除するのが難しい。そのため、特定業界の経験者をアサインするなどでの解決策も使いにくく、知識を持っていることで生産性が高まるので評価しやすい傾向がある。

心の属人性の特性

絆や信頼関係、親近感、ムードメイカー的な存在と言った観点は定性的であり、能力として認められにくいために評価に直結しない。しかし、人を入れ替えることで即時改善されるものでもなく相性やマインドの違いから悪化する可能性も高い。言語化しにくい側面やコミュニケーションスキルなど練度がものを言う側面が強いため共有したり、属人性の排除と言った対応が難しい。

個人的な気持ち

「属人性を排除せよ!」と言った議論に対しては「それって業と知の属人性についての話であってますか?」という入りで初めて、ドキュメンテーションに対してはリスク許容の範囲内で緩くやっていきたいと思う。
「属人性はあって然るべき!」と言った議論に対しては「それは技の属人性についてですかね?」という共通認識を持ちつつ「心の属人性ののこと、時々でいいから…… 思い出してください」って言いたい。

なんとなくこの観点で話して属人性に対する議論がより良い方向になればいいなぁと思っている次第です。

Discussion

kyamadkyamad

おっめっちゃいいですね!

地味に属人性を分類して議論の土台作ろうよみたいな試みって無いですよね(と記事読んで思った

業の属人性の排除に関してはプログラムの性質上解決しやすい(Dockerとかスクリプトとか組めば良い)から進みやすい印象がありますが、知の属人性に関しては悩みのタネな印象があります