The base functionality developed during the Execution phase is finalized during the Transition phase, which also includes test operation, beta testing and trial operation. Deliveries of this phase are formed in several steps.
1. Delivery requirement implementation
The project team implements a delivery requirement by performing sprint tasks. Development is carried out in the main development environment (Project_D). All changes fall into the “Main” SVN repository branch. Implemented functionality testing is performed in the main test environment (Test_T) in accordance with delivery requirements.
2. Forming a pre-release version of the delivery (RC)
When delivery requirement implementation is done, a project manager (PM) decides to form a delivery. To do this, create pre-release delivery environments for the Project_D_RC and the Project_T_RC deliveries by copying the main environments (Fig. 36).
At the same time, it is necessary to create the “RC” branch in the the “Main” SVN repository branch and carry out further development there.
Note
The process of copying main environments and creating new SVN branches can be automated by using TeamCity, for example.
Packages with implemented functionality are installed on the Client’s Pre-production environment for delivery testing.
3. Fixing a pre-release delivery (RC)
During delivery testing by either a team or a Client, there may be a need to fix errors or modify the developed functions (hotfix).
All types of corrections of errors found during delivery testing are applied in the Project_D_RC pre-release development environment. The corrections are committed in the RC branch of the SVN repository and are tested in the Test_T_RC pre-release testing environment. The process continues until the Client confirms a delivery and until a decision is made to transfer a delivery to the release.
Note
If there were any fixes in the Project_D_R environment, the developer must transfer the changes to the main development branch (Project_D environment, the “Main” branch in the SVN repository).
4. Forming an (R) release
As soon as the decision on release a delivery has been made, the packages with new functions can be transferred directly to the Client’s production environment (Fig. 36). The Project Manager creates a release from an RC version, release development environment (Project_D_R) and release testing environment (Project_T_R). The Project_D_RC and Project_T_RC environments are deleted (Fig. 37). The Project_D_R and Project_T_R environments will be used for fixes in the release.
At the same time, the RC pre-release development branch in the SVN repository should be moved to the R release branch and all further delivery work should be carried out there.
Note
The process of forming release environments and creating new SVN branches can be automated by using TeamCity, for example.
The release delivery assumes that the primary development has been completed. All further development will be connected to release fixes only. Therefore, when the functionality is transferred to the production environment, it is necessary to update (synchronize) the pre-production and the test Client environments (Fig. 38). This way, they will fully correspond to the production environment.
Note
If the Client does not perform development in parallel with the project team, the client testing environment is not needed.
5. Fixing an (R) release
All release changes (hotfixes) are carried out by developers in the Project_D_R development environment, committed in the R release branch of the SVN repository and tested in the Test_T_R test environment. After successful testing in the Project_T_R environment, packages with delivery fixes must be transferred to the client’s pre-production and production environments (Fig. 39).
Note
If there were any fixes in the Project_D_R environment, the developer must transfer the changes to the main development branch (Project_D environment, the “Main” branch in the SVN repository).
See also
•Deliveries on the project solution support stage
•Client’s parallel development
•Client environment location and licensing
See also