⚠️ Watch out: Environments encourage behaviors


⚠️ Watch out: Environments encourage behaviors.

QA: "Let's batch up work and wait for a separate team to manually test our app and approve before we can deploy."

UAT: "Let's batch up work and block deploy until a subset of users approves."

Staging: "Let's batch up work, practice configuring our release, and test it before deploying to prod."

See the repeated verb above? Batch. 👎

These environments encourage anti-patterns:
🚫 Batch up work.
🚫 Do infrequent releases.
🚫 Integrate work on a schedule, instead of continually.
🚫 Do manual configuration and manual testing (Infrequent releases don't encourage automation).

The alternative? Do CI/CD.
✅Automate tests
✅Automate deploys
✅Eliminate batching. Practice continuous integration (CI).
✅Eliminate most non-prod environments. Instead, release many times a day, automatically. Practice continuous Delivery (CD).
✅Toggle features to separate release from deploy. The business can decide when a feature is visible in prod by checking a box. 😎

View original on X