this post was submitted on 13 Mar 2024
265 points (92.3% liked)
BestOfLemmy
7209 readers
28 users here now
Manual curation of great Lemmy discussions and threads
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I actually think QA is the one that shouldn't be a separate role. Test cases ought to be written by the product owner or project manager as part of defining a feature to implement, and they should do manual testing of a feature before marking it done. Implementing automated tests is probably already the developer's job.
I agree. Quality is everyone's job. "QA" as a synonym for "the people that make sure things don't break" doesn't actually prioritize quality as an inherent attribute of the product.
Developers need to write tests and build automatic testing harnesses so they can effectively own the code they write and guarantee its quality. A subset of developers might be "QA platform developer" or something similar, but this is to build tooling for testing, not the actual tests themselves.
Designers can't produce turd of a design and pass the buck. E.g., "That wasn't the intention of the original design." and similar terrible defenses. They have to be responsible for the design all the way through to deployment, not just when they call the design spec "complete". They also need to take feedback from the other groups they work with, instead of thinking their design is above criticism from the non-designer plebs.
Project managers must to prioritize quality initiatives within the project, instead of just driving at feature work or begrudgingly prioritizing critical bug fixes. This includes things like improving developers' and sysadmins' lives through tooling and observability. That pile of tech debt the developers and sysadmins has been talking/yelling/screaming about for months/years will eventually fall over and kill everyone, metaphorically of course... unless you work in a safety-critical industry, like medical or transportation.
Sysadmins (and other operator roles, like SRE) have to be empowered to tell everyone else to pound sand when a new proposed deployment is broken or under-tested, or when deployments have been too broken unexpectedly recently.
I dunno how it works in IT, but this is how it works in my organization. Every step in the chain is supposed to uphold its own quality and not pass defects on to other teams.
AND we have a QA department, because even the best team has blind spots about their own work.