エンジニア日記

4/12「職人芸」から「チームの知恵」へ。属人化を打破するための5つの学び

「職人芸」から「チームの知恵」へ。属人化を打破するための5つの学び

開発チームが成長し、新しいメンバーを迎える際、必ずぶつかる壁があります。

それが「属人化」です。

ベテランの頭の中にしかない仕様、ドキュメントのないインフラ、ブラックボックス化したパイプライン……。

これらをどう解消し、誰でも活躍できるチームを作るか。

日々の議事録から見えた、本質的な学びを共有します。

ぜひ最後まで読んでみてください。

1. 「ソースコードが仕様書」の限界を認める

「設計書を作らず、いきなり実装する」文化の落とし穴

Webサービス開発の現場では、スピード優先の文化が定着しがちです。

「設計書を作らず、いきなり実装する」という進め方は、短期的には効率的に見えます。

しかし後から参加したメンバーにとって、数万行のコードだけを見て全体像を把握するのは「不可能に近い」という現実があります。

これがそのまま属人化の温床になっていきます。

「コードを読めばわかる」は経験者の傲慢になり得る

ベテランにとって「コードを読めばわかる」は当たり前の感覚かもしれません。

しかし、それは長年の経験があるからこそ成立する感覚です。

新しいメンバーが迷わないための「地図(設計図)」を整備すること。

これは後回しにできない重要なタスクです。

「コードが一番正確な仕様書だ」という考え方自体を、一度疑ってみることが必要です。

設計図は「未来のメンバーへの手紙」

設計図やドキュメントは、今いるメンバーのためだけに作るものではありません。

1年後、2年後に入ってくる未来のメンバーに向けた「手紙」でもあります。

「あの時書いておいてよかった」と思える瞬間は、必ず来ます。

少しの手間を今かけることが、未来のチームへの最大の投資になります。

「コードを読めばわかる」は経験者の感覚です。新しいメンバー目線で設計図を整備することが属人化打破の第一歩!

2. 「ブラックボックス」になりやすい箇所を特定し、可視化する

属人化が起きやすいのはコード以外の「周辺領域」

属人化というと、アプリケーションのコードに目が向きがちです。

しかし実際に問題が起きやすいのは、インフラ・デプロイパイプライン・キャッシュ制御などの周辺領域です。

シェルファイルやビルド設定などは、一度動いてしまうと触れる機会が激減します。

気づけば特定の「詳しい人」しか触れない状態になっています。

「目に見えにくいシステムの裏側」を優先的に文書化する

統合の条件、キャッシュクリアの仕組み、デプロイ手順の細かい注意点。

これらは日常業務では意識されにくい部分です。

しかし新しいメンバーが最も「なぜこうなっているのかわからない」と詰まる箇所でもあります。

「一目でわかる状態」にすることを、優先タスクとして位置づける必要があります。

「触ったことがある人」が率先してドキュメントを書く

ブラックボックスを解消するには、詳しい人が動くしかありません。

「自分しかわからない」状態を認識したら、それは即座にドキュメント化のサインです。

「自分だけが知っている」をチームの共有財産に変える行動が、ブラックボックスを崩す唯一の方法です。

後回しにすればするほど、解消のコストは上がっていきます。

コード以外の「周辺領域」こそブラックボックスになりやすい。詳しい人が率先してドキュメントを残すことが大切です!

3. 「ペアプログラミング」を知識伝達の仕組みとして活用する

「教育の時間」を設けようとすると逆に負担になる

新メンバーへの知識共有を「特別な教育の時間」として設けようとすると、問題が生じます。

教える側のリソースが奪われ、教わる側もプレッシャーを感じやすくなります。

「教育」という形式ではなく、日常業務の中に知識共有を組み込む発想が重要です。

そこで有効なのが、ペアプログラミング(ペアプロ)の文化です。

作業そのものが「生きた教育」になる

ペアプロでは、実際の業務を一緒に進めながら知識が伝わります。

「教える時間」と「作業の時間」が分離しないため、効率が落ちません。

暗黙知が自然とチーム内に分散されていく、理想的な仕組みです。

また「この部分はなぜこうなっているのか」という疑問がリアルタイムで解消されるため、理解の深さも増します。

ペアプロが定着すると新メンバーを迎えるハードルが下がる

ペアプロが文化として根付いているチームは、新しいメンバーを迎える際の心理的・物理的ハードルが低くなります。

「何かあれば一緒にやればいい」という空気感が、チーム全体の安心感を高めます。

「どう教えよう」と悩む前に、まず一緒に作業することから始めてみてください。

それだけで、属人化の解消は大きく前進します。

ペアプロは「教育の時間」ではなく「日常業務の中の知識共有」です。作業そのものが最高の教材になります!

4. 次の人のために「技術的負債」を掃除しておく

山積みの古いタスクが新メンバーを混乱させる

引き継ぎの際、数年前の古い障害調査や不要になったバックログが残っていると、新メンバーは判断できなくなります。

「このタスクは今も有効なのか」「この調査はもう終わっているのか」という疑問が次々と生まれます。

情報が多すぎることは、情報がないことと同じくらい有害になり得ます。

不要な情報のノイズが、重要な情報を埋もれさせてしまうからです。

新メンバーを迎える前に「大胆な削除」をする

新しいメンバーが来る前にすべきことは、追加ではなく削除です。

不要なタスクを大胆に削除し、AIなども活用してコードを整理(リファクタリング)しておくことが重要です。

「綺麗な状態でバトンを渡す」ことが、スムーズなオンボーディングの鍵になります。

「いつか使うかも」と残しておいたものが、新メンバーの混乱の種になっていることは珍しくありません。

技術的負債の掃除は「思いやり」の行動

技術的負債の解消は、自分のためだけにするものではありません。

次に来るメンバーが迷わないよう、環境を整えておく行為です。

「自分が去った後も、チームが前に進める状態を作る」という意識が、強い組織を育てます。

引き継ぎを「作業」ではなく「贈り物」として捉える姿勢が重要です。

新メンバーを迎える前は「追加」より「削除」。綺麗な状態でバトンを渡すことがオンボーディング成功の鍵です!

5. オンボーディングを「数ヶ月前」からデザインする

属人化の解消は、人が来てから慌てて行うものではない

「新メンバーが来てから考えよう」では、すでに遅いことがほとんどです。

実際の現場では、新メンバーが来る2ヶ月も前からドキュメントの整理や受け入れ体制の検討を始めていました。

それくらいのリードタイムをとって初めて、「余裕のある引き継ぎ」ができます。

準備を早く始めるほど、オンボーディングの質は高くなります。

「どこでつまずくか」を事前に予測する

準備期間に最もすべきことは、「新メンバーがどこで詰まりそうか」を予測することです。

自分たちが当たり前だと思っている知識の中に、実は落とし穴が潜んでいます。

「自分が初めてこの環境に入ったとき、何がわからなかったか」を思い出すことが有効です。

その記憶こそが、ドキュメントに書くべき内容を教えてくれます。

ノウハウを「資産化」することがチームの生産性を左右する

準備期間に整理したドキュメントや手順書は、一人のためだけに使われるものではありません。

次の新メンバーにも、その次のメンバーにも引き継がれていく「チームの資産」になります。

ノウハウを個人の頭の中に留めず、チームの資産として蓄積していく姿勢が、長期的な生産性を大きく左右します。

「備えあれば憂いなし」という言葉は、オンボーディング設計にこそ当てはまります。

オンボーディングの準備は2ヶ月前から。「いつか来るから」ではなく「今から備える」姿勢がチームの質を決めます!

おわりに:属人化の解消は「未来のチームメイトへの思いやり」

「自分にしかできない仕事」をあえて手放す

属人化を解消することは、個人の負担を減らすだけではありません。

チーム全体の「変化に強い力」を育むことにつながります。

「自分にしかできない仕事」をあえて手放し、チームの共有財産に変えていく。

その姿勢こそが、強い開発組織を作っていく原動力になります。

5つの学びを改めて整理する

今回お伝えした5つの学びを、改めてまとめます。

  • 「コードが仕様書」の限界を認め、設計図を整備する
  • ブラックボックスになりやすい周辺領域を優先的にドキュメント化する
  • ペアプログラミングを日常の知識伝達の仕組みとして活用する
  • 技術的負債を掃除し、綺麗な状態でバトンを渡す
  • オンボーディングを数ヶ月前からデザインし、ノウハウを資産化する

「職人芸」をチームの知恵に変えていこう

属人化の解消は、一朝一夕にはできません。

しかし、今日から少しずつ始めることはできます。

ドキュメントを一枚書く、ペアプロを一回試してみる、古いタスクを一つ削除する。

小さな一歩の積み重ねが、「職人芸」を「チームの知恵」に変えていきます。

このブログでは、実務の議事録や現場の気づきをもとにした情報を発信していきます。

ぜひ他の記事も参考にしながら、チームづくりのヒントを持ち帰ってください。

最後まで読んでいただいてありがとうございました!

-エンジニア日記