The use of version control for application code, system configuration, application configuration, and build and configuration scripts Comprehensive test automation that is reliable, easy to fix, and runs regularly Deployment automation Continuous integration Shifting left on security: bringing security—and security teams—in process with software delivery rather than as a downstream phase Using trunk-based development as opposed to long-lived feature branches Effective test data management