By focusing on frequent code integration, automated testing, and keeping
the mainline code version in a state that is deployable to production at any
time, CI/CD aims to eliminate the risks and friction of traditional waterfall
software development. Add to that the practice of continuous deployment
and you can move to a situation where the latest and greatest software version
is not just always ready to be deployed—it’s deployed on a frequent basis.