The Continuous Delivery: Agile life cycle is a natural progression from the Agile life cycle. Teams typically evolve to this life cycle from the Agile life cycle, often adopting iteration lengths of one-week or less. The key difference between this and the Agile life cycle is that the continuous delivery life cycle results in a release of new functionality at the end of each iteration rather than after a set of iterations. Teams require a mature set of practices around continuous integration and continuous deployment and other Disciplined DevOps strategies.
When to Apply This Life Cycle
The Continuous Delivery: Agile life cycle is suitable when:
- Solutions that can be delivered to stakeholders in a frequent and incremental basis
- Work remains relatively stable within an iteration
- Organizations with streamlined deployment practices and procedures
- Projects where getting value into the hands of stakeholders rapidly, before the entire solution is complete, is critical
- Teams have mature DevOps practices in place including continuous integration, continuous deployment, and automated regression testing
- The team is long-lived (stable), working on a series of releases over time