Testing- Keystroke emulators are useful to automatically run the system through an extensive suite of hypothetical user operations. Some of these test programs will also capture the screens and other results to a file where this test data will be compared to what should have happened and flag error conditions.
Double Team- A system I often use, which is expensive, is to have two teams of programmers overlapping (and even duplicating) each other on a project. This greatly reduces the chances of the project being late, or sloppy. I doubt if game publishers can ever afford this, but I thought it worth mention. It works.
Compile the Source Yourself- Learn to use a code analyzer, etc. This is a programmer function, but if you are overseeing a project, it's a good way to keep on top of things. You can make changes to data in the program (to correct something) recompile and see if that fixes it. Only programmers should change code and sometimes even changing data will cause a program to fail.