The Cost of Not Releasing Software Frequently
There are still some software companies that release their software to the users only every month.
In this article we construct a model for business value realisation and demonstrate based on it what such companies actually loose. We focus on this business value realisation and ignore for a moment other disadvantages of not releasing frequently. These would include: larger and therefore more riskier deployments, possible overload with productive defects, or later feedback.
The Business Value Realisation Model
Context: we assume that we’re having a team of 8 developers who are working on User Stories. These User Stories are done within 1 day and could potentially be released to the users. Further assumptions:
- A User Story realises a constant benefit of 100$ per day for the business
- The software in our case is only used during working days and the 8 developers work during all the working days
- A single developer finishes 5 User Stories per week
- Once a User Story is completed it could be released in the evening and start to realise the benefits from the next working day on
What exactly is business value here? It’s the monetary benefit resulting from users using our software.
Now we are set and ready to explore different release frequencies.
1) Releasing every 4 weeks
Our 8 developers are completing 8 Stories per day which results in 800$ value ready to deliver. So, after 20 days of implementation there is 20*800$ = 16'000$ ready to be released. On the evening of the 20th day the release is taking place and from the 21st day on the business now realises a benefit of 16'000$ per day. On the 41st day the value realised sums up to 352$ (20*16'000$ + 1*32'000$). Below table shows the total gained value until a specific day where green cells mark a day after a release:
2) Releasing every 10 days
Every 10 days 8'000$ more value is ready to be gained if the software ends up in production and is used by the users. In this variant the first release happens on the evening of the 10th day. This means we start to get value on the 11th day. Further deployments happen on the 20th, 30th and 40th day:
3) Releasing every 5 days
It should be self-explaining at this point:
4) Releasing every day
Finally the software is released every day. That means already on the second day the benefit of 800$ is gained:
After 41 days we reach 656'000$. Which is equal to (40² + 40) / 2 * 800$.
On a chart the 4 variants compare as follows:
The value created after 41 days is almost doubled when releasing everyday instead of only every 20 days ($656'000 vs. $352'000).
While this model of course does not correspond exactly to reality, it gives an idea about where value is lost. Or more positively put, it shows how you can increase your value realised.
Don’t build for a release. Release what you build.
And of course: keep your User Stories small!