i35_267’s diary

DMM platform engineer /Agile/Lean/Scrum(CSPO)/RDRA/DevOps

属人化という人的SPOF(単一障害点)について

■ 前提

下記に基本的な用語の説明を記載します。 「属人化」 特定の業務について特定の人しか行えない。やり方が展開されていない。つまりその人しかその業務を遂行することができない状態

「SPOF」 単一障害点。つまり、ひとつのコンポーネントで障害をきたすとシステム全体のコンポーネントで異常をきたしてしまう。

■ 属人化の問題点

下記に属人化することでの問題点を記載します。

  • 属人化タスクがあるチームのパフォーマンスは、開発全体の進捗低下につながる。ゆくゆくは秘伝のタレへ..... image.png

  • 属人化されたタスクからアウトプットされた成果物に問題(バグ)が起きたときに他の開発者が対応できない。人的SPOFになりやすい。 image.png

■ 属人化になるまでの流れ


下記に属人化になるまでの流れを記載します。主に下記の2つがあると考えます。

① 大規模プロジェクトのようなスピード感が求められている開発現場の場合
  • 下記図にあるようにどうしても「類似タスク」があると前同じようなタスクを行なった人のほうがスピード感が高いためPBIを振りがちです。そうすると下記でいう「Aタスク」が属人化しやすいです。※ ex. サーバ構築作業 image.png
② 新しい開発者が入ってきた際にドキュメントなどがなく横展開ができていない場合
  • 2,3人の少人数チームの中で、少人数ゆえに口頭などでコミュニケーションが活発な仕事現場において、新しく2,3人の開発者が入ってきたときに「ドキュメント」や、サーバ構築であれば「サーバ管理ツール(Chef,Ansible)の設定ファイル」がないなどで、結果としてAタスクが属人化してBさんがAタスクを行うことへのハードルが上がります。 image.png

■ 今後、属人化を起こさないための業務プロセス


下記に今後チーム内で属人化を起こさないために必要なプロセスを記載します。 f:id:i35_267:20180421214021p:plain image.png

参考資料

https://developers.eure.jp/tech-management/advent-calender-17/ http://at-grandpa.hatenablog.jp/entry/2017/07/25/082252