Aura Release Train Manager

Release Train Manager (RTM) implementation and architecture

Introduction to RTM development methodology

The “release train” software development methodology is a way of planning the delivery of software according to a predetermined and regular schedule, as if it were a “train timetable”. This schedule is public for all the teams that must contribute to the delivery and represents a commitment on their part, as the schedule must be adhered to.

If we use the metaphor: “the train will take the passengers who are ready to travel”, i.e., only the software that is ready to be integrated will be integrated. For this it is necessary to work on the different functionalities in parallel and in isolation without affecting the rest.

We start from a prioritized backlog. The tasks will enter the implementation phase in order of priority. 

RTM overview

The important thing when we are working on a new feature is to be able to completely isolate the development, environment and testing. To do this, environments will be generated per feature and git branches will be used for the different repositories involved.

RTM Overview

RTM Overview
  • INIT: initial processing of a feature (select repos involved, create branches on those repos and create environment).
  • TF (Tests Feature): daily smoke tests on feat/new-feature branches.
  • TFPR (Tests Feature PR): full regression tests on the master merge and the feat/new-feature branch.
  • TM (Tests Master): complete daily/weekly regression tests on the master branches.
  • PR Fx (PR Feature): PRs on the feat/new-feature branch.
  • PR Mx (PR Master): PRs on the master branch.