こんな記事が流れてきました。
技術的負債に関しては銀の弾丸はなくそれに早めに気づいてきちんと向き合って行くしかないのかなと思いつつ、今自分が思うことを書いてみたい。
時間があれば誰でも良い設計、良いコードが書けるのか?といえばNoだと思う。
だからと言って、負債になるようなコードを書いた人をクソプログラマーだといって罵声を浴びせても問題は解決しないだろう。
スキルレベルに応じて任せられる作業のスコープが異なる。
ここで任せられるとは、その人の知識やスキルで一定以上の品質のアウトプットができるという意味合いである。
しかし、現実には必ずしもスキルレベルに応じた作業範囲にはならない。
教育のため少し難易度高いかな?と思う部分をお願いする場合は計画的な負債ともいえそうである。
レビューなどで全て矯正してしまうよりも実際に運用してみて自らダメそうなことを気付ければ次への学びとなる。
気付けない者が問題で次々と問題ある設計やコードやらを撒き散らしてしまう可能性が高い。
またこれら以外に事業やテクノロジーの変化により相対的に負債となることもある。これは避けようがない。
開発したものは必ず変化をするものなので変化しやすいように作りましょうということに尽きる。
そこでレイヤードアーキテクチャーだ、マイクロサービスだ、テストしやすいようするのだ、CI/CDを容易にできるようにするとかなる。
それはそれで正しいのだけれど、変化しやすくするためにそうするのだということを忘れてはならない。
キレイに作ることが目的化しすぎてチームみんなでレビューするんだとか言い始めるものが現れたら注意が必要だなと思っている。
コメント