
Andrew Hanna

Andrew Hanna

The short version: a dedicated QA org, the one shared sandbox every change must pass through before UAT, mostly slows Salesforce teams down without catching more defects. It queues work, bundles unrelated changes together and drifts away from production. Give each work item its own short-lived org, make the person who builds a change own its automated tests, and keep testers for exploratory and acceptance work.
In most Salesforce pipelines it is a long-lived sandbox between development and UAT, usually a Developer Pro or Partial Copy, where every change lands so a QA team can test it. The classic path runs dev sandbox, QA, UAT, production. The QA org is both a stage and, often, a team that every ticket has to clear.
For sensible reasons. Testers want a stable place to work. Changes from different people need to meet before release. Integration tests need a shared endpoint. And keeping the builder separate from the checker is a sound instinct. None of those goals is wrong. What breaks is trying to serve all of them with one shared org.
The person who builds the change. DORA's test automation guidance ties better delivery performance to developers being primarily responsible for creating and maintaining automated test suites, and warns that when another group owns the tests, the pipeline stays broken until that team fixes them. On Salesforce, "developer" includes the admin who built the Flow.
That does not get rid of testers. DORA describes tester as "a role, not necessarily a full-time job", and says testers play an essential part in exploratory and usability testing, working alongside developers instead of after them. The case is against the queue, not against the people.
An org per work item. Each ticket gets its own environment, its own checks run there, and it moves forward on its own schedule.
The usual objection is cost, and it is a fair one if your tooling bills by environment. Spinning up an org per ticket looks expensive under that model, which is the per-org margin problem in Salesforce DevOps pricing showing up in your test strategy.
There are honest exceptions. Regulated teams may need a documented test cycle in a named environment. Some external systems can only point at one sandbox endpoint. Large regression suites can need production-like data. In those cases keep the environment, but make it the final check before release, not a queue every change waits in.
Does dropping the QA org mean dropping QA engineers?
No. Testers move earlier, pairing on automated tests and doing the exploratory and usability testing DORA still calls essential.
Are scratch orgs enough for all testing?
No. They suit isolated validation of one change. Production-like data volumes and some integrations still need a Partial Copy or Full sandbox.
Who writes the tests when an admin builds the change?
The admin owns the checks for their change, with a peer reviewing it. Ownership matters more than job title.
What should a small team change first?
Stop deploying unrelated tickets into one shared org. Give each ticket its own environment and keep a single sandbox for UAT.
Serpent is built for this model: ticket-based releases, AI code review on every plan, and pre-warmed scratch org pooling on Scale so a per-ticket environment is ready in seconds. Pricing is flat per company with no per-org fees, so adding environments does not add licence fees. Compare the plans and start free on Essentials.
Commitment free!