Hi
The point that I would like to make is that often the justification for decreasing frequency of releases lays in:
- high overhead of testing before the release
- concerns about stability of the environment, as non automated deployment has high probability of failures after releases.
From other viewpoint, increased length of the development cycle has non-linear effects on ability to hit deadlines (i.e., the bigger the length of the cycle, the harder it's predict what would be delivered), and the worse quality is usually observed.
Third point is that there should be distinction between external & internal releases, and frequency of external releases depends upon market & peculiarities of the industries). I have seen cases, when release attempt could be performed only on weekends/or 2 hour period once in a week.
Fourth point that is not considered is length of window of oppurtunity within particular industry. In finance, for example, it happens that market window for some product exists only for 2-3 month, and missing it would make all development effort for the feature pure loss. Therefore, the distrubution of cost/benefit and pay-off function is non-symmetric and non-linear.
Fifth point - i.e., the duration between releases is the period of unclarity of status for program-based development - this means, that for controlling program, regular release train is one of the first things in order to be bring program under control.
To summarize:
- if trying to argue to for preserving cadence of releases/going to continuous deployment I would argue basing on:
- increase of stability brought by automation of testing & automation of release process (better quality of service)
- decrease of overhead per release due to automation (better use of highly qualified people (with high labor cost))
- increase in predictability/controllability
- if there are market benefits related to more frequent releases, then they should be taken into account as well.
The model that is present, does not take into account as well difference of cost of release activities, related to different cycle length (i.e., the cycle of testing/deployment has different costs depending on the length of development)
Serhiy