The Value of Test-Driven Development when Writing Changeable Code