* When we discover a bug, have Christopher write a test script that reproduces it and fails. * When the developers fix the bug, either JoAnn or Christopher re-run the test script and verify that it now passes. * "developers" could include an outsourced developer. Just send them the failing test case(s) and tell them to make it work. * Over time, these scripts will grow more and more comprehensive. * Before we do any release, we run all test scripts on several clients' databases to prove that we haven't reintroduced any old bugs.