First law of programming says:
Lowering quality lengthens development time.
Yes.Its a good read.
We do a job, but we have to make the work best as we could.To err is human.We are in a rush to finish the task and impress our customer.IMHO , if we are able to solve the bugs step by step along with the development most of the issues will be solved.Ya, test driven development,agile,extreme programming ...
I think it will need experience by coding, code reviews we will be able find out bugs during development it self.Bug repositories, tracking etc could provide a checklist for the desired results.
Some people say that requirements are not fully achieved by the developed product , but some says we needn't give much importance to requirements .More importance to the code and the developed software.Make it smart.But we should know what we are making and what the customer will be expecting from the product.Are these requirements bullshit ? Read here
A good programmer will be a a good hacker.But if that guy is doing the hack-oriented programming, will the estimated scheduled will be met ? His job will be at a stake...? It depends upon a good manager :)
Some time the induced bugs can be lucrative sometime (the devilish side).Bug fixing prices !! I believe that's a bad way of service by providing the successfully "on-time" delivered product that sucks. Jolly customers !!
It all depends on what we are to develop and where we are.Happy programming.