####■ 前提
下記に基本的な用語の説明を記載します。
「属人化」
特定の業務について特定の人しか行えない。やり方が展開されていない。つまりその人しかその業務を遂行することができない状態
「SPOF」
単一障害点。つまり、ひとつのコンポーネントで障害をきたすとシステム全体のコンポーネントで異常をきたしてしまう。
####■ 属人化の問題点
下記に属人化することでの問題点を記載します。
####■ 属人化になるまでの流れ
下記に属人化になるまでの流れを記載します。主に下記の2つがあると考えます。
#####① 大規模プロジェクトのようなスピード感が求められている開発現場の場合
- 下記図にあるようにどうしても「類似タスク」があると前同じようなタスクを行なった人のほうがスピード感が高いためPBIを振りがちです。そうすると下記でいう「Aタスク」が属人化しやすいです。※ ex. サーバ構築作業
#####② 新しい開発者が入ってきた際にドキュメントなどがなく横展開ができていない場合
- 2,3人の少人数チームの中で、少人数ゆえに口頭などでコミュニケーションが活発な仕事現場において、新しく2,3人の開発者が入ってきたときに「ドキュメント」や、サーバ構築であれば「サーバ管理ツール(Chef,Ansible)の設定ファイル」がないなどで、結果としてAタスクが属人化してBさんがAタスクを行うことへのハードルが上がります。
####■ 今後、属人化を起こさないための業務プロセス
下記に今後チーム内で属人化を起こさないために必要なプロセスを記載します。
三大ポイント |
---|
① 「ドキュメント管理」 : チームにノウハウがなく新しいことをするときはドキュメントやコメントを残す。 |
② 「コードの均等性 : ソースコードにおける属人化防止。 |
③ 「スクラムチームによるタスク分配を均等にする」 : Scrumで行っているのであれば作業が属人化しないようにそれぞれにタスクを分配する。※ 〇〇大臣を作らない。 |
####参考資料
https://developers.eure.jp/tech-management/advent-calender-17/
http://at-grandpa.hatenablog.jp/entry/2017/07/25/082252