Sprints
Organizing work into short work cycles known as sprints that typically last a few weeks. A business unit may maintain a backlog of work that may include thousands of requirements. Each sprint begins by prioritizing work from the backlog that is potentially releasable.Deployable Software
Development teams that prioritize keeping their software deployable at all times.Continuous Integration
The practice of merging all developer work into a shared mainline several times a day.Version Control
Version control is a tool that maintains current and historical versions of all code. This often has useful features such as viewing the difference between any two versions of a file.Automated Deployment
The ability to automatically deploy code to any environment with the push of a button.Test Automation
A tool that automatically runs test cases against an environment and reports results.Deployment Pipeline
Maintaining environments for different stages of a build such as system integration, testing, user acceptance testing and production environments. This allows stability for labor intensive processes such as user acceptance testing while providing environments that are continually built and automatically tested.User Acceptance Testing
User acceptance testing is the process that a business unit uses to accept software as complete.Operational Acceptance Testing
The process that operations teams use to accept software as resilient and supportable such as load testing.Security Testing
The process that an information security team uses to accept software as secure such as vulnerability assessments and penetration tests.Release Management
The process of planning releases and making the decision to launch a release to production.Continuous Delivery Process
Continuous delivery is a process of regularly checking in the work of multiple developers into a shared mainline in a version control tool. The code is then deployed to a system integration testing environment for build and unit testing until these tests pass. The code is then deployed to an automated acceptance testing environment until that test passes.With the code integrated and build, unit and automated testing completed the code is then deployed to a user acceptance testing environment. Business units test the code and open defects against any variances. When user acceptance testing is satisfied that the code is reasonably high quality it is releasable. The release management process decides when to actually deploy releasable code.Continuous Development vs Continuous Deployment
Continuous development regularly produces code that can potentially be launched to customers. Continuous deployment regularly produces code that is launched to customers. The difference is that continuous deployment doesn't include a release management decision about when to launch a release and instead automatically releases any code that passes testing.Overview: Continuous Delivery | ||
Type | ||
Definition | An approach to software development that allows software to be released at any time. | |
Related Concepts |