Make IQ tests to the dog. With the human IQ test, you will ask the dog, ask questions, record the answer, score, all the processes are correct, but the conclusion that the dog's IQ is 0 - but it is meaningless. why?
It is not enough to do things properly. It should be correct. This is the concept of two levels.
Similarly, in software development, if the overall structural design has problems, it is only the product that is completely problematic. Structural problems are always the most fundamental issues. Structural problems solve it, often can achieve a half-time effect. A carriage is made perfect, and it runs through the talented train. Of course, the perfect train will make us get more convenience.
Further, in software engineering (IMA may then think about it, what is the situation?
People like to compare construction projects and software engineering. But understanding the building, most of the designer and construction are not the same reason.
Today, if there is a construction company announced that all our projects use the bricks made in our live! I don't know what everyone thinks? However, in software engineering, each developer is still in person with "Burning Bricks" - carefully do every module. Do you have the ability to guarantee the quality of each base module? Why do you test 40% of the total development time? Isn't it because I have to test each module? And detect a building, no one will detect every brick. Software test If so, it is said that the test work can be reduced by about 80%.