Practicing test driven development helps keep software changeable. It sounds counterintuitive, because tests effectively define how the software should not change. However, if you have confidence in them and they still pass, you can change whatever you like. In TDD, you will do exactly that in the refactor step