March 15, 2012 -- You all write code and then toil to make it work. You build it, and then you fix it. Testing is an afterthought; something you do after you write the code. You spend about half your time in the unpredictable activity of debugging. Debugging shows up on your schedule under the guise of test and integration. It is a source of risk and uncertainty. Fixing one bug might lead to another and, sometimes, to a cascade of other bugs.
One aspect of designing for manufacturability is determining why these bugs happen to you. The simple answer is this: You put them there. It's the way you work. When test follows development, it will find defects. You make mistakes when you develop; the tests' job is to find the defects. If you are any good at testing, you'll find bugs. Following development by test means you must find, fix, and manage a boatload of defects.
This procedure, debug-later programming, is currently the most popular way to program. Write the code; debug it later. Debug-later programming is risky. You make mistakes because you are human. You can be sure of neither when the bugs will appear nor how long it will take to find them.
James W. Grenning. (Grenning is with .)
This brief introduction has been excerpted from the original copyrighted article.
View the entire article on the EDN Magazine website.