技術的負債を可視化することを目的とした計算ツールです。
技術的負債とは? https://techblog.gaudiy.com/entry/2021/12/24/133453
技術的負債の定義は困難ですが、 それでも同じ定義で数値化した値を記録し続けることにより、 プロジェクトとして、技術的負債について定量的な議論ができるようになります。
このツールを開発しようとした理由として、 非開発者にとって、技術的負債が理解するのが難しく、 技術的負債を返したいと言っても、その頑張りを評価するのも難しいためです。
よくある事例としては、
- 技術的負債を返したいと上司に提案する
- 言いたいことはわかるが、どのくらい深刻なのかわからない
- 試しに1ヶ月技術的負債を返す月間を作ったが、どのくらい負債が返済できたかわからない
- 市場のプレッシャーを優先して機能拡張して、負債化が進む
- 開発者体験が悪くなり、開発者が辞めていく
- 負のループ
という感じになります。 これが、リリースの度に技術的負債を数値化されれば、この負のループが多少軽減されると思います。
# このツールで計算できるもの
何を持って負債となるのかが難しいですが、
負債度 = 500行を超えるファイル数 + 類似度が90超えるにもかかわらず同一フォルダの中にないファイル数 + 類似度が99超えるファイルの数
で計算しております。 オプションで閾値を変更できるようにしております(未来)
解析したファイルを類似度によってグループしたものになります。
行数が長い順に並び替えるということをしております。