Scrum Myth: You Can Only Release the Product at the End of the Sprint
Sure, you can have multiple releases in a Sprint — you just need to think about how Scrum enables you to achieve delivery instead of what a process stops you from doing.
Join the DZone community and get the full member experience.Join For Free
One of the recurring Scrum Myth discussions I have with colleagues, teams new to Scrum and those attending training when comparing Scrum and DevOps relates to a misinterpretation of the following paragraph from the Scrum Guide.
At the end of a Sprint, the new Increment must be “Done,” which means it must be in useable condition and meet the Scrum Team’s definition of “Done.” It must be in useable condition regardless of whether the Product Owner decides to actually release it. — Scrum Guide
The discussions tend to start from the basis that Scrum prevents a Scrum Team from releasing more regularly than at the end of the Sprint and is slower than DevOps at getting releases into the market and users hands for feedback.
I generally suggest that they re-read the statement and look to see if they can find any part or sentence in it that explicitly says that a Scrum Team may only release at the end of the Sprint. I see this as being the minimum state in the "what" that the Scrum Framework describes the Increment must be in at the end of the Sprint. Like any other minimum, if you can get to that point earlier, then you should if possible take advantage of the early delivery.
When people come either to community discussions or training on more advanced uses of Scrum, they realize that the same techniques of Continuous Integration, Continuous Delivery, and Continuous Deployment are all recommended complementary practices in Scrum implementations in order to be successful. A follow-up question relates to where the increment should be deployed to by the end of the Sprint. This can be defined in a Scrum Team's Definition of Done taking account of at what point on the particular platform are all tests run that mean the increment is in a potentially usable and releasable state.
I personally work with many teams that deploy fully tested and integrated code to live multiple times within a day using Scrum to deliver robust, scalable Enterprise Applications with millions of users per month.
So, using Scrum, can you have multiple releases in a Sprint? Sure, you can — you just need to think about how Scrum enables you to achieve delivery instead of what a process stops you from doing.
Published at DZone with permission of Alasdair Macleod, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.