Engineering Manager Advent Calendar 2023 の2日目の記事です。
背景
なぜ技術的負債を放置してはならないのか。
それは技術的負債が現実の負債のように債務超過、すなわちシステム・組織の破綻を引き起こしうるからである。
この記事では、「技術的負債の債務超過」を定義し、それがどのようにして起こるかを説明する。
また、債務超過状態にあるシステムを回復させる方法と、健全なシステムについても合わせて説明する。
技術的負債の債務超過とは
この記事では以下のように定義する。
- 技術的負債が溜まっているので人員が去っていく、人員が去っていくので技術的負債を返済できず更に溜まっていく、という負のループに陥っている状態
- それが進んで、資産(システム)を保守・拡大するための機能開発にすら人員を割けなくなる状態
この状態になると、システム・組織は危機的状況にあると言える。
この記事では、これを説明するためモデル化してみる。
負債・人員・資産の制御モデル
技術的負債と、それを取り巻く人員と資産の関係を以下のようにモデル化する。
このモデルは制御理論で利用するブロック線図がベースになっている。
矢印を説明すると以下の通りとなる。
- 人員は機能開発をすることで技術的資産を貯めていく
- 人員は技術的負債を返済する
- 人員は採用によって増えたり退場によって減ったりする
- 機能開発は負債を生み出す
技術的資産とは要するに開発対象のシステムそのもののことである。
「機能開発は負債を生み出す」こと自体に大きなネガティブな意味合いはない。負債を抱えつつ資産を拡大する(投資する)イメージである。
これを基本のモデルとする。
負債がもたらす負の影響
続いて、ここに、いくつかの矢印を書き加える。
ここで追加する矢印は負債の債務超過に関わる重要なものである。
追加した矢印について詳細を説明する。
技術的負債は経年で加算されていく
技術的負債は有利子負債であり、何も手を加えていないと増えていく。
- トレンドの変化により時代遅れになる
- セキュリティリスクが見つかる
- データストアにデータが蓄積する
- SaaSやクラウドのサポートが打ち切られ利用不可になる
- 最新版までの距離が遠くなっていく
- etc.
技術的負債は人員計画に負の影響をもたらす
主観的かもしれないが、技術的負債が人員計画に負の影響をもたらす要因は無視できない。
- 負債が溜まることで今ある人員の退場リスクが高まる
- 負債が溜まることで新しい人員の採用が難しくなる
なぜなら、負債が溜まっている状態で開発を続けることはキャリアアップに繋がらなくなりがちだからである。
- トレンドの習得ができずキャリアアップに繋がらない
- (トイルにリソースを割かれ)本質的な仕事ができずキャリアアップに繋がらない
危険な状態
以上の制御モデルを用いて、負債がエスカレートして「債務超過」したケースを見ていく。
負債が負債を増やすフィードバックループと、負債が人員を減らすフィードバックループが増大し、人員は減り続け、負債は増え続ける、という負のループに突入する状態である。
制御理論でいう不安定な状態である。
これが本記事でいう「技術的負債の債務超過」である。
これが続くと、資産(システム)を保守・拡大するための機能開発にすら人員を割けなくなり、いつしか競争優位を喪失してしまいかねない。
どうやって危険な状態から脱出するか
債務超過状態は自然には解決しないので、回復させるためには以下のような痛みを伴う施策を打つ必要がある。
- 報酬を増やすなどして、人員の採用を強化したり、人員の流出を食い止めたりする
- 機能開発を出来る限り停止して、人員リソースを負債返済に充てて、機能開発による負債の増加を食い止める
- 資産を削減することで負債を返済する。不採算事業を整理しコンパクト化する。すなわち、一部機能を廃止し、その機能に関連する技術的負債を返済する。
健全な状態
人員を供給し、それが資産の増大(事業成長)に変わる。その過程で負債が増えていくので、一部のリソースを使って健全に負債増加を抑える。
これは制御理論でいう安定な状態である。
通常の事業と同様に、人員、事業、負債が安定的に拡大していくのはある意味理想と言える。
機能開発に力を入れるフェーズで負債が一時的に増えていても、それによって事業が拡大しているのであれば、将来的に人員を増やして負債返済に割くリソースを増やすこともできる。
まとめ
この記事では、制御理論のモデルと財務の比喩を用いて、技術的負債がシステムを破綻させる可能性について述べた。
また、破綻状態にあるシステムを回復させる方法と、健全なシステムについても同じモデルを用いて言及した。
明日は @chomemaru3 さんが「フィードバックをポジティブな場にするために気をつけていること」をお送りします。