Let's talk about QA (quality assurance) procedures.

We have 3 phases of QA between the conception/analyze/development and shipping :
1) One is to test the functionality itself and to look if all the acceptances criteria are respected. When this QA phase is completed, all the stories that have been through this phase in time for the next release are bundled together, and create what we call a release.
Stories that don't pass the sufficient level of acceptance are postponed to the next release to work on their quality.
2) When this phase is done, we do an integration testing phase on that release, where we test a certain portion of regression of the system. This portion is rotative every release.
When the Quality Analyst states the release has comply to a sufficient level of quality, we ship to every instance of customers.
3) When the deployment is completed, we do what we call post-deploy testing or smoke testing. Where the Quality Analyst goes through every instances of customers, and tests some basic flow and a couple of stories that have been deployed to see if the deployment is going well.
Normally it's a do or die; when a deploy doesn't work correctly, we can spot it very fast because everything is unstable and we rollback immediately or fix it fast if it's doable.

Add on top of that hundreds of automated tests running all the time on every stage.
It's a balance between quality and speed of delivery.