Test First, Really.

From the “mistakes I make that you can learn from” file:

When changing legacy code, find and run the tests before you start.

Otherwise you might find yourself burning up an hour or two trying to figure out how your perfectly innocuous changes managed to break some seemingly unrelated test. Only to find, after carefully backing out your changes, that the tests were failing before you started.

So get a baseline, even if you’re writing new tests.

For whatever reason, I have to relearn this lesson every few months. But at least I remember to run the tests before declaring ‘done’.