A coworker sent around this survey today. I thought I'd share my response and also see what the ASP.NET community thought. This is bound to be a hot sports topic so feel free to go nuts. :)
In your opinion, what are the top 10 reasons software bugs occur?
You’ll notice that each one leads to the next one.
10. Poor training. (coding, business analysis, tools, infrastructure etc…)
9. Laziness – the desire to use the easiest to implement solution.
8. Compromises made in req/design to meet delivery schedules.
7. Coding methodology failures such as bad or missing error handling.
6. Vague or incomplete requirements.
5. Misunderstanding of the requirements.
4. Poor design.
3. Misapplication of technology. (Components, products, techniques)
2. Lack of testing.
And the number 1 reason for software bugs is…
1. Change: to requirements, infrastructure, tools etc., because it introduces the likelihood of all of the above to happen.