Friday, July 12, 2019

Quarter release

I work in a product-team, that focuses on delivering a set of base products (and frameworks) for the teams that are customising these products for paying customers (around 7-10 parallel projects).

The customer facing teams should base their work and deliveries on stable product versions that are supported for longer periods, like LTS (long term support) releases. This is what we call quarter release.

Our development process resolves around 4 quarter releases in a year named by the pattern <year>.<release in a year>. Each quarter release is prepared in 7 Scrum sprints each two weeks of development.

Each release means end of a development branch and start of a new one. We always work on an active quarter branch...only one active branch at a time... the released branches are kept for bug fixes and long term support ...for 2 years.

Inside a quarter the, code will always stay backward compatible...features are added....changes are done...but nothing is broken...just marked for removal.

Doing a quarter release means creating a release build from ~100+ modules of ~9 active base products. The process takes around two days and part of this process is automated part of it involves some manual tasks....nothing standard...but it is working...

Quarter releases give certainty that the release version is one stable codebase ... and that it will not be altered unless requested....they need to remain stable...and supportable.

Quarter releases are like putting away the past and embrace a new beginning...

This week I did the 19.2 quarter release...took a deep breath...and starte working for 19.3

No comments:

Post a Comment