Skip to main content

Myth 3: In Scrum, Releases are Done Only at the End of the Sprint

November 6, 2017

Scrum is intended as a simple, yet sufficient framework for complex product delivery. Scrum is not a one-size-fits-all solution, a silver bullet or a complete methodology. Instead, Scrum provides the minimal boundaries within which teams can self-organize to solve a complex problem using an empirical approach. This simplicity is its greatest strength, but also the source of many misinterpretations and myths surrounding Scrum. In this series of posts we - your ‘mythbusters’ Christiaan Verwijs & Barry Overeem - will address the most common myths and misunderstandings. PS: The great visuals are by Thea Schukken.

Myth 3: In Scrum, releases are done only at the end of the Sprint

Today we address a pretty persistent myth. The myth becomes apparent in statements like “Scrum is inflexible because new releases are only possible after the Sprint completes” or “DevOps or Kanban are better suited for us because they allow us to release faster”. Either way, the core of the myth is that Scrum only allows teams to release working software at the end of a Sprint, which reduces speed and flexibility if teams are capable of doing this faster.

Busting the Myth

This myth is an example of making a framework more important than the goal, even though it is based on a misunderstanding of the framework in this case. The purpose of the Scrum framework is to develop products and solve complex problems by using an empirical process that promotes rapid feedback. In short iterations, we use feedback (internal and external) to clarify both the problem and discover the best solution. By doing so, we avoid solving the wrong problem and/or implementing a sub-optimal solution. Given that goal, how likely is it that Scrum would force teams to deliver working software only at the end of a Sprint?

The purpose of the Sprint is to give the Development Team sufficient time to transform a selection of items from the Product Backlog into a new, usable, “Done”-increment. What constitutes “Done” varies by team, and should be defined and understood by those involved. For some teams, an increment is “Done” when the code has been written and lives on a shared branch in a code repository. For other teams, an increment is “Done” when it has been deployed to some pre-production environment (staging, Q&A, integration, etc) or to the production environment itself.

The completeness of the increment is defined by the amount of time that is still needed to get the increment to users (e.g. to production).

The more time is needed, the less Agile the organisation is. After all, increments are only truly valuable when they are in the hands of users. And the quality and completeness of the feedback declines as the completeness of the Increment does.

Having said this, the Sprint represents a minimal boundary for when to deliver a “Done” increment. There is nothing in the Scrum Framework that prevents Scrum Teams from releasing working software throughout the Sprint, as long as the Product Owner is involved in the decision to release. Scrum actually encourages Scrum Teams to progressively expand the “Done”-ness of their increment to the most complete version (e.g. released to production). This optimizes the value of the empirical process that is the foundation of Scrum, as feedback becomes increasingly more applicable and realistic.

Origins of the Myth

One origin for this myth is a misunderstanding of what constitutes an “Increment”. The Scrum Guide simply defines it as the sum of all the Product Backlog items completed during the Sprint. The increment can be a package of new features to be deployed in one go at the end of a Sprint. But it doesn’t have to be. An increment can also be the sum of functionality that has been released during the Sprint.

A second origin lies in the usage of terminology like “Potentially releasable product increment” or “Potentially shippable product increment”. Although not intended this way, the qualifiers can support a belief that increments are only (potentially) “shipped” or “released” at the end of a Sprint.

A third, and more recent, origin lies in the distinction that is sometimes made between Scrum and DevOps. Using some version of this myth, it is argued that DevOps is superior to Scrum because it allows teams to release working software faster. Because DevOps does not know the concept of a Sprint, it is argued that working software can be released whenever the team deems it “ready”.

But Scrum and DevOps are close friends, both trying to implement an empirical process with a feedback cycle that is as short as possible. Where Scrum has a strong focus on the process that is needed to build what stakeholders need, DevOps deals with practices and technical enablers that make this possible. In a sense, Scrum provides a compass and a destination to travel to, while DevOps provides sturdy boots to do so without getting blisters or stepping on sharp stuff. They really are two sides of the same coin.

What about the Sprint Review?

But what is the purpose of the Sprint Review if everything has already been released during the Sprint? If your Sprint Review only consists of a demo then, yes, the event devolves into a simple repeat of things you already know. But a demo of working software is only a small part of the Sprint Review. The primary purpose of this event is to inspect what was done during the Sprint and to decide what next things can be done to optimize value.

The more “Done” the increment is, the more useful the feedback that is gathered will be.

So if the team has already released working software during the Sprint, this makes the Sprint Review an excellent opportunity to inspect feedback from real users and adapt based on the insights that emerge from that. The value of the Sprint Review actually increases as the “Definition of Done” of a team moves towards “Released to production”.

Tips

  • As a Scrum Master, coach your team to continuously expand their Definition of Done. More simply speaking, help the team to reduce the amount of work left to do after they consider it done (e.g. testing, quality assurance, release, documentation);
  • Invest in learning about DevOps and its associated practices, like automated testing, infrastructure as code, virtualization, and continuous delivery. They are critical enablers for releasing faster without compromising stability and quality;
  • If your Sprint Review is only a demo, and your team is able to release throughout the Sprint, use the Sprint Review for its intended purpose: to gather feedback on the delivered increment, the Product Backlog, business conditions and promote collaboration between everyone involved;
  • With your team and within your organization, reflect on the amount of work that needs to done after a team considers an increment “done” (e.q. QA, deployment). Help both the organization and the team to change processes and practices to decrease this amount of ‘undone’ work;

Closing

In this post we discussed the myth that Scrum Teams at best release working software at the end of a sprint, constraining teams that are capable of releasing faster. In this post we showed that the Scrum Framework actually encourages teams to improve their process, infrastructure and practices to the point where releases can be done throughout the Sprint. This maximizes the quality of the feedback of the empirical process that Scrum tries to implement. We also offered a few tips to help you move towards this point.

What are your thoughts on this myth? Do you agree with this post, or not at all? Let us know in the comments.

Want to separate Scrum from the myths? Join our Professional Scrum Master or Scrum Master Advanced courses (in Dutch or English). We guarantee a unique, eye-opening experience that is 100% free of PowerPoint, highly interactive and serious-but-fun. Check out our public courses (Dutch) or contact us for in-house or English courses.


What did you think about this post?

Comments (17)


ahmed hamza
06:03 am November 13, 2017

Well, this will change a lot of things, if "release at end of sprint" really a myth.


Barry Overeem
02:52 pm December 13, 2017

We haven't convinced you yet?


ahmed hamza
08:13 pm December 13, 2017

What about the QA overhead, when our team released many times there are alot of QA effort will be considered


Joan Moreno i Maurel
01:53 pm November 2, 2019

Congratulations for your article!
OK, now I understand that Scrum allows some release during the sprint, not only at the end. But I think it can be useful only as an exception (and the PO should clarify this to the customer). One of the strenghts of Scrum is that customers understand they will have releases every 15-30 days, if we release earlier, for example, in the middle of a 15 day Sprint, the customer could want us to release more often in future Sprints, and the necessary fixed duration of the Sprint could be diluted.
Please, tell me your opinion, maybe I missunderstood the article.
Thank you in advanced!


Andy Bleach
01:43 pm November 26, 2019

...but that is the whole point! The fixed duration of the sprint has nothing to do with how often you release; it's about working towards a goal and about rhythm, particularly in giving the team a regular, 'formal' opportunity to reflect and review (inspect) and to adapt.

Reading between the lines, it sounds as if your team still has some fear over releasing - "if we release earlier... the customer could want us to release more often in future". Why is that undesirable for you? If you can begin to answer that question you will generate ideas that should lead to improvements in how you do things and ultimately to a more 'complete' definition of done.

It sounds like you have some exciting times ahead.

Good luck!


Joan Moreno i Maurel
07:45 pm December 10, 2019

Thanks for you reply Andy :)
The fact is before Scrum I've worked a lot of years with no Scrum rules and sometimes the problem was to make the customer understand when was appropiate to release and when not (sometimes, for the customer "all" is urgent and "all" needs to be done ASAP). But one of the strenghts of Scrum is you can teach the customer to expect only a couple of releases every month. But OK, I understant that is feasible to release during the sprint, not only at the end.
Thanks again!


Samuel P Gonçalves
02:22 pm March 3, 2020

Hi Joan, this article aims to clarify that you can release an increment before the end of one Sprint.

Personally, I think that the "final word" to release the increment is still under responsibility of the Product Owner (PO). He is responsible to handle the stakeholders expectations and should control the expectations related to when is the best time to release the increment to production. The power to make this decision is related to him.


Joan Moreno i Maurel
05:51 pm March 3, 2020

Of course, PO has the final decision. Thanks Samuel! ;)


Gary Bailey
02:24 pm June 10, 2020

I've found there are two sides to this. My primary application is only released to the customers twice per year, but if I throw 6 months' worth of development into QA at once, the testing feedback and cumulative failures are horrific. Similar to inventory building up in a manufacturing environment, the smaller the increment sent for testing, and the more often it can be submitted, then the LESS time QA has to spend re-testing the same functionality over and over. Plus, as we move to more and more automated testing, QA becomes more about HOW do we test, rather than actually executing the tests.


Adam Griffiths
11:24 am November 25, 2020

Nice article - I'd add that the DevOps CI/CD/Continuous Delivery approaches are not mutually exclusive wtih the scrum ideas. As you've said Done != Deployed, but done MAY be deployed and in Prod. Following a Continuous Delivery approach means that your work is at the quality you'd expect for shipable all the way through the sprint. Continuous Deployment ensures that it already is shipped.

So if you're following a DevOps Continuous Deployment approach and following Scrum your Defintion of Done would simply include that it should be running successfully in production.


Korhan Eker
09:51 pm March 11, 2021

I'm confused about one thing here. The whole point of having a sprint is to pack PBIs that serve achieving the sprint goal with their completion. If the team achieve this completeness (DONE) state earlier than the end of the sprint, then logically there must be something wrong with one of the aspects of the sprint. The possible reason for an early release might be the scrum team pulling less items from product backlog then their actual capacity allows for a sprint duration, or a relatively longer sprint duration selected in an alignment to company's release schedule.
In my opinion, the only acceptable situation for an early release might be having groups of PBIs serving particular sub-goals under the sprint goal that have become DONE in isolation of the rest of the sprint backlog items, and can be deployed earlier so that early feedback can be obtained from end users. Could you clarify if that is the case for an early release?
Thanks


aditya pandey
06:34 am April 13, 2021

Thanks for writing this !


Diogenes Vitali
01:25 am May 11, 2021

Really good article.


Incremint
08:31 am August 22, 2021

Great article!


Susana Espinoza
12:08 am May 24, 2022

Very well explained, this deeper purpose of Sprint Reviews is key.


Silvia Lillie
01:47 pm January 5, 2023

The new version of the Scrum Guide has removed all ambiguity about this and says:

Multiple Increments may be created within a Sprint. The sum of the Increments is presented at the Sprint Review thus supporting empiricism. However, an Increment may be delivered to stakeholders prior to the end of the Sprint. The Sprint Review should never be considered a gate to releasing value.

berka
10:52 am March 1, 2023

I would like to add to the discussion by pointing out a thing from my mentor that said can help in this situation - you can schedule a training meeting with the client and tell them the overview of Scrum, how you work with it, what can be expected so client understands the rules better. If anything like that arises, just point out it was covered in training and explain again how frequent releases are part of Scrum.