One of the questions that came up during our retrospective at a program level is that as we are moving to continuous delivery, the concept of ‘Time Box’ maybe becomes irrelevant. As we are not waiting until the end of the Sprint to deliver or deploy our code into production, then why have these scrum ceremonies or processes?
The basic assumption is that Sprints force a team to release at a particular interval rather than being able to deploy once the code is ready to be shipped, even in the middle of the Sprint. Traditionally this is true, wherein the Sprint Review allow the teams to demo the functionality or user experiences and the Product Owner, signs off on it.
When we move to a Continuous Delivery model, especially when the end product is a hosted web application as opposed to a downloadable piece of software. The notion of waiting till the end of the sprint, adds little or no value.
The best way to handle it decouple the releasing the shippable increment with the other aspects of the Sprint, such as standups, backlog refining, planning, reviews and retrospectives. This approach allows us to keep all the benefits of following Scrum and at the same time embrace Continuous Delivery with no friction.
It is implicitly assumed that when an team transitions to Continuous Delivery that all the related aspects such as planning also happen continuously. This is rarely true, when there is no timebox, teams often fall back into the default mode of very little planning and alignment with the other teams.
Scrum framework gives us that luxury, wherein we can take a step back at the end of each timeboxed Sprint and reevaluate what has been achieved. Collect and present our findings to the larger group, especially when we are working in an enterprise. Based on the feedback from the users using the newly released features and input from the larger group on the alignment and strategic direction, the next iteration can be then planned.
As a summary, here are three things that will help us to continuously deliver using the same scrum framework
- Decouple the release or deployment to production from the Sprint Cycles but follow through on the Scrum ceremonies.
- Use the timeboxes to emphasise the human aspect of software development – take a pulse of team morale.
- Examine the interdependencies with other teams and plan them into your next iteration as most projects at enterprise scale are interconnected.