ふとコンウェイの法則が目に止まりました。
コンウェイの法則とは、
「システムを設計する組織は、その構造をそっくりまねた構造の設計を生み出してしまう。」
という法則です。
これが言いたいことは、例えば官僚主義的な組織がソフトウェア開発を行うと、
出来上がったソフトウェアもどこか官僚主義的になる…という具合です。
コンウェイの法則そのものは前から知っていましたが、
今回は技術的負債と組み合わせを考えついたのです。
技術的負債とは、
「いきあたりばったりの開発を続けていくと、ソフトウェアの保守にかかるコストが、借金の利息のように雪だるま式に増えていく。」
という比喩表現です。
つまり…
- 何らかの問題を抱えた組織が、ソフトウェア開発を行う。
- コンウェイの法則により、組織の問題がソフトウェアに反映される。
- ソフトウェアに反映された問題が、技術的負債を生み出す。
- 保守を続けていても、コンウェイの法則がある限り技術的負債が再生産される。
という連想ゲームを考えついたのです。
これが発生してしまうと、表面的な問題は技術的負債ですが、
本当に解決すべきは、開発している組織の構造なのです。
組織の構造が解決されない限りは、
例え技術的負債を一時的に返済できたとしても、
技術的負債はすぐに溜まってしまうのです。
技術的負債を生み出すのはプログラマーのレベルの低さにも起因していますが、
そもそも低レベルのプログラマーしか集められない組織だという考え方もできます。
そう、技術的負債は致命的だけど、本当に致命的なのはそこでは無い…のかも?