Continuous Integration (CI), Delivery, and Deployment tackle two problems that we traditionally leave until the end of our software life cycle: integration of code and strategies for deployment.
We've learned that doing something in large chunks, is very risky, especially in a complex software environment. Waiting until the end of your software development process to work out how to combine different parts of the system and deploy them leaves a critical feedback loop open for too long.
Work done during the integration and deployment phase will often include changes to how our software is built. Leaving it until the last moment to receive this feedback will either be costly or will mean it's ignored.
Modern software teams know that the work isn't done until it's delivered to our customer, which for most means it's deployed and operational...