Quality is a different matter
Quality, well that's the developers problem.
It's a common mistake to put every aspect of success on the developers, at least when things go wrong. The quote above sends a shrill up my spine. What do they really expect from us? Every developer I know is working their ass off. Giving them single responsibility over quality should also give them unlimited resources as time, deadlines and study groups.
That is not the case now, is it? Quality is rather a responsibility of the organization, but none in the organization is willing to take the blame for what developers do wrong, a catch 22 if you'd like.
With the right process, we never have to worry about quality again.
How about that for a silver bullet? Ever heard it from those new agile practitioners? Scrum, XP, Lean [insert your favourite here] will solve all our problems. But it is not really about the process. It is all about using the right tool for the right job. Even waterfall has its appliances when all conditions and future requirements are known. The problem is also very seldom the process itself, but that team members only follow those parts of the process they feel comfortable with. (XP and pair programming)
Here's another couple of silver bullets that won't do the job for you
- With documentation we'll never have to worry about maintenance again
- With grade A developers we'll deliver top quality
- With an inspiring workplace we'll build the best software
None could stand as a solution, but are all part of describing the problem with software development.
It is hard! Harder than some managers can imagine and harder than some developers can handle. But that doesn't mean that it is impossible to produce good software with a novice team. It simply means that an open minded and highly communicative group of people will discover how to solve the problem in the best means necessary.
It means that you have a collective responsibility to fight through both good and bad times, to never put blame about quality, but always take responsibility for the success of your software.