How I see it…
Quality is value to some person(at some time).
Not everyone’s opinion on quality matters. And not everyone is speaking about the same ‘quality’.
Examples from the post above: “Zero defects is high quality., User-friendliness is high quality., Low development cost is high quality.”
Two types of quality based on ownership:
- quality of your own work;
- quality of a project/product;
You could have one without the other. Rarely you’re in charge of both.
The quality of one’s work is the responsibility of that person. The quality of one’s work can impact the quality of the product. Quality of a product release is not the responsibility of the person that developed it.
Testers or developers are usually only in charge of the quality of their own work.
Developers build - to the best of their knowledge/abilities and considering the constraints.
Tester finds quality gaps, risks, threats, and report/inform managers about them.
That doesn’t make them in charge of the product quality about the product to be released.
The managers and stakeholders are leading the direction and taking all the decisions on quality.
Sometimes development team members will make decisions without approval, or on behalf of someone else.
This is a risky thing, as you could either get yourself in trouble or you put someone else in a tough spot when having to motivate the budget, resources spent on some decision that they haven’t made.
To put on the development team the responsibility for product or project quality I think it’s a big mistake.
The development team most often is disconnected from stakeholders, department managers, clients, direction and roadmaps for a product, financial stuff, budgets, logistics of the project, etc…
- The work of the development team, including tester’s are getting to the release manager/s.
- I also feel like the development team shouldn’t be the release managers either. Or if they are, to do it in collaboration and in agreement with the product manager/s and have the product manager own the task/decisions.
- The release managers make an informed decision to release or continue to work on things. They analyze: what there is, what they would have liked to have, what gaps/problems there are, what risks and impact the release would make, etc…
What would I do if I feel the quality of a product is bad:
- I’d have more often discussions with the release manager, product owner, and increase the bug advocacy.
What would I do if I feel the quality of a developer’s work is bad:
- Most probably nothing, or have a raise of awareness either to the person, to the colleagues, or to the manager if all else fails.
- I could also propose things that could motivate the developer, or help him on a personal level, or make some suggestions to have the developer work on something he likes or he’s strong at.