Continuous delivery (CD) is a set of processes, tools and techniques for the rapid, reliable and continuous development and delivery of software.
Continuous delivery is a patterned approach in software development that aims to build higher quality software more quickly.
It implements automated software development methodologies to reduce the amount of time spent building enterprise class applications.
CD is generally considered a pattern language that helps to structure, design and solve complex problems.
A continuous delivery approach requires the software to be developed, tested and deployed routinely.
It focuses on keeping the production and test environment similar and close together, allowing for quicker deployment and testing.
The testing and deployment processes are performed through automated solutions/technologies. Therefore, the software is quickly and routinely delivered to the end user.
Moreover, CD employs lean techniques to ensure that the software is developed and delivered with the end user in mind, eliminating the development of useless components.
CD framework incorporates various popular development technologies and techniques such as Agile, scrum, unit/Web/functional testing, continuous integration and test-driven development.