レガシーコードとは、レガシーコード改善ガイドを参考にすると、テストのないコードを指しています。コードだけでなくレガシーなシステムも存在し、レガシーじゃないシステムよりレガシーシステムのほうが多いので、新しい要求への対応と、レガシーコードの改善をうまくやっていくスキルが求められるのではないかと思います。今日は、うまく戦っていく手段について考えてみました。 レガシーシステムでの問題 自動化されたテストのない現場にいたときに、以下の問題に直面しました。 レグレッションテストに時間がかかる 何をもって「ちゃんとテストした」のかがわからない 結果的に、リリース作業時間が長くなり、リリースにかけるコストが大きく膨れたり、テストを網羅しきれず、トラブルが継続的に発生してしまうというダメージを受けてしまいます。 1については、新しく追加した機能のテストはできても、追加した影響範囲まで特定できず、別の所で問