We are currently debating at work how to implement continuous delivery in one of our products.
My argument is that if we are implementing continuous delivery then almost all PRs should include integ/acceptance tests even before the feature is toggled in prod since we are continuously releasing mainline instead of using versioned trunks. Other devs are arguing that a hard requirement on integ/acceptance tests will slow down development 3x.
I was wondering what has your experience been with implementing continuous delivery, did you require integ tests in every commit, did they slow down development?
What's the cost to development from “slowing down” due to integration/acceptance tests before deployment vs. stopping development entirely to go back and fix errors that were deployed (including potential real dollar costs to customers being affected by the error)? If you had to choose between slowing down development by requiring tests vs. accruing technical debt by deploying potentially buggy code without the tests as a gate, which makes economic sense?