I agree with what the author is saying. I think test driven development is the way to go in modern programming in order to keep pace with production. I agree that before making any sort of production code you should first make a test for it so that when the code is ready it can immediately be tested for bugs. If a bug is found it can immediately be debugged, fixed, and tested again to see if there are any other issues with that part of the program. Test driven development however, does not guarantee that the code would run perfectly when you follow the rules. You program will not run correctly if if you write bad code or bad test cases. It is important to have a good understanding of what is going on and how the program is supposed to operate before writing any sort of code whether it is production or test code.