技術的負債
技術的負債とは何か
技術的負債とは便利な言葉だ。
便利すぎてその人が何を指して技術的負債と言っているのかが不明瞭なまま話が進むことがある。
技術的負債に取り組むのであれば、それがなんなのかをはっきりさせることが第一歩である。
そして技術的負債なんて言葉は使わない方がいいし、相手が使ってきたら具体的に何を指しているのかを聞くようにしよう。
技術的負債がなぜ生まれるのか
技術的負債のもととなるコードを書いてしまうことはしょうがない。
作っているときにこれは負債だと気付いていながらコードを書くこともあるだろう。
技術的負債で問題なのは負債の上に負債を積み重ねることだ。
よくあるのは負債だと気付いたときにはすでに変更のコストが高すぎる状態になっていることだ。
負債の臭いに早く気づき、コストが低いうちに手を打ち続けることができれば、もしくは変更のコストを常に低い状態に保ち続けることができれば発見が遅くてもなんとかなるだろう。
負債だとわかりながら作るのであれば必ずあとでリファクタリングするための時間を確保しよう。その約束ができないなら負債を背負うことをProductOwnerにも覚悟してもらおう。ただし、決して喧嘩腰になってはいけない。共通了解を得られるようにするのが肝要である。 捨てる前提でコードを書くのも一つではあるが、コードが捨てられることはないだろう。
コードの負債の臭いに早く気づく
はっきり言って容易なことではない。
容易ではないが、まずは開発に関わる全員の認識を揃えることが重要である。
自分だけが負債と気づくのではダメで、みんなが一様に負債に早く気づける状態を作らねばならない。
テストコードは必ず書こう。