Andrew Hanna

Andrew Hanna

The Case Against a Dedicated QA Org in Salesforce Delivery

The Case Against a Dedicated QA Org in Salesforce Delivery

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.

What is a dedicated QA org in Salesforce delivery?

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.

Why do Salesforce teams build one?

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.

What does a shared QA org actually cost you?

  • Serialized work. When ten tickets share one org, one broken change blocks the other nine, and nobody can tell whose change caused the failure.
  • Bundled releases. What ships is "whatever is in QA", not a list of approved tickets. Pulling one change back means untangling the rest, which is exactly how the hidden risks in a Salesforce deployment process get in.
  • Drift. Hotfixes go straight to production, abandoned experiments stay behind, and the org stops matching anything real. A QA org is usually the first to show why sandboxes stop matching production, because everyone touches it.
  • Slow resets. A Partial Copy sandbox can be refreshed every five days and a Full sandbox every 29, as Salesforce Ben's sandbox guide sets out. Once a long-lived QA org is polluted, you live with it until the next refresh window.
  • A late gate. Testing at the end of the sprint finds defects when they are most expensive. Gearset's State of Salesforce DevOps 2026 reports that 18% of teams mainly find issues in production. Another shared stage at the end of the line does not move that number.

Who should own testing if there is no QA 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.

What replaces a shared QA org?

An org per work item. Each ticket gets its own environment, its own checks run there, and it moves forward on its own schedule.

  • Scratch orgs for isolated validation. The Salesforce DX Developer Guide lets you set a scratch org's lifespan from 1 to 30 days, with 7 as the default. They are built from source and thrown away when the work merges.
  • Automated checks on every change. Apex tests, static analysis and code review run before the merge, not after a shared environment fills up.
  • A smaller UAT. Business users still sign off, but against a known list of tickets instead of whatever happens to be in QA.
  • A Full sandbox where real data matters. Final regression, performance and data-heavy integration tests still deserve production-like volumes, used briefly at the end.

Shared QA org vs org per work item

  • Waiting: a queue for one slot vs parallel by default.
  • Isolation: changes mixed together vs one change per org.
  • Reset: bound by refresh intervals vs rebuilt from source.
  • Quality decided: at the end vs on every change.

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.

When is a dedicated QA org still the right call?

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.

How do you move off a shared QA org?

  1. Make the ticket the unit of release, so every change is tracked and promoted on its own.
  2. Move automated tests to the author of each change and run them in that change's org.
  3. Run a validation deployment against the target before the merge.
  4. Shrink the shared environment to the integration and exploratory work that genuinely needs one.
  5. Track how many issues reach production before and after the switch.

FAQ

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.

Related Articles

Curious about faster shipping before you dive in? Let's talk

Commitment free!