I agree. A lot of bugs could indicate one of two things. First you need to differentiate between bugs caused by developer error and bugs caused by lack of project planning/scope. For example, a bug report that complains 'columns in the grid do not support sorting' is not a bug. They are feature requests not originally defined in the scope of the project. Bugs such as one where 1+1=3 due to a developer's bad algorithm are actual bugs. There is a big difference here. These are the bugs that should be caught by QA long before the release and while the project and algorithm are still fresh on the developers mind. There needs to be accountability for lack of planning or assuming that every time a developer uses a widget that it will have every feature possible for that widget to have.