Good afternoon, dear habrazhiteli!
I will talk about how the integration releases are managed at Sberbank-Technologies, where I work. I would like to share my experience and discuss it with colleagues in the IT industry. Similar things are practiced in other major IT infrastructures - it would be interesting to compare.
At SberTech, more than a hundred projects are being done at the same time, each of which can make changes to several automated systems. There are several hundreds of systems; many of them are integrated with each other through the service bus. This creates a huge amount of interdependencies between projects: improvements in one project can affect the functionality of another. Integration releases are aimed at combining the projects being implemented into one pool, synchronizing their improvements and bringing all projects to one-time implementation.
In fact, integration release management is part of the release management process, one of the 10 basic ITIL processes. Without it, changing the large IT infrastructure is almost impossible: most projects would never have ended, trying to take into account more and more new improvements of automated systems. In addition, one-time night implementation minimizes downtime, which is important for customer convenience.
')
Now about the anatomy of integration releases. Each of them consists of the following steps:
- Fixing the composition of the integration release . Here is the selection of projects implemented in the framework of the release, and their scopov. In the future, the composition of the release does not change.
- Implementation . At this stage the code is written. The composition of the release takes so many improvements to have time to develop and test a new functionality for the allotted time.
- Integration functional testing . All improvements of all projects are brought together and installed on the test site. A new integration functional is tested at the test site and regression testing is conducted.
- Load testing On a load test site, similar to the industrial environment in terms of performance, testing of work under load is carried out. IT support department accepts new improvements.
- Acceptance tests . At this stage, the developed functionality is finally viewed by business users. At the end of the tests and the elimination of comments, a protocol is signed and the decision on implementation is made.
- Implementation . On the night from Sunday to Monday, the new functionality is introduced into the battle.
Graphically, the stages of neighboring releases look like this:

Due to the overlapping of neighboring integration releases, a uniform load on developers and other participants in the process is achieved.
Dear habrazhiteli, it would be interesting to learn about your experience in managing releases and to discuss with you. Write comments, send letters to AVKorenushkin.SBT@sberbank.ru. By the way, we recruit an employee to manage and improve the process, so send your CV too!