とあるIT屋の独白

ITや経営について主に書きます

技術的負債への対応について考えてみる

開発を進めていくと必ずといっていいほど出てくる技術的負債。今回はこの技術的負債について、書いてみたいと思います。
まず、技術的負債とはそもそも何かという点。下記の記事に挙げられてますが、不必要に複雑になったコードや、テストコードの不足が挙げられています。また、技術的負債がたまることで、変更のコストが高くなったり、バグが発生しやすくなるわけです。

【技術的負債】
https://qiita.com/erukiti/items/9cc7850250268582dde7

では、この技術的負債にどう対応していくか。まずこの技術的負債を認識するところから始まるわけですが、プロジェクト当初はもちろん負債はなく、徐々に進むにつれて増えていき、気が付いたらかなりたまってた、というケースが多い感じはします。
下記の記事に負債を解消するタイミングや、どういう対応で解消を進めるかまとめられています。基本的には機能追加などを行うと、どうしても負債が出るので、定期的に負債を解消する対応を行うのがベターみたいです。

【技術的負債とどうやって戦うか】
https://qiita.com/kamykn/items/ad687e772da454e3f614

また、下記の記事によると、スピードが優先の場合、負債への対応が後手になってしまうので、どこかのタイミングで洗い出しや作業の計画をすべきとのこと。また予防策(レビューやコーディング規約の整備)の検討も大事。

【スピード優先の開発で溜まった技術的負債の返済計画(サーバーサイド編)】
https://tech.dely.jp/entry/2019/12/05/160132

ただ、あまりに技術的負債を怖がって本来ビジネスとしてやりたいことが出来なかったり、開発が遅れたりすることは個人的にはダメだと思います。ここら辺のバランス感覚を上手く保っていかに負債を最小限にしていくのかというのは、各現場によって使ってる技術や判断基準も異なるし、自分たちはどう進めていくべきなのかを考える必要はあると思います。