This kind of “I broke things, so now I will jiggle things randomly until they unbreak” is not acceptable. […] Don’t just make random changes. There really are only two acceptable models of development: “think and analyze” or “years and years of testing on thousands of machines”. Those two really do work.
Linus Torvalds (source)