locally • automated tests are important, but be smart • use hexagonal architecture to stay flexible • use CI/CD for tests and deployment to different stages • QA can test the same function you are deploying to production • use mature and tested deployment tools, and track and analyze errors