ObjectiveDefine a non-intrusive procedure for deploying the changes, so that their implementation does not interfere with the running services
Applicability

This practice concerns mostly the maintenance phase of software development.

Context

The practice applies to all projects that are intensively changed and used.

Addressed elements in SMM

5.4. Implementation of modifications

Prerequisites to applynone
Recommendation
  1. Identify services that could be affected by the subject change
  2. Define a deployment procedure that minimizes the impact on other services
    1. Consult the procedure with owners of affected services.
    2. Prepare and verify rollback routines (at least for the core parts of the deployment procedure) that allow for reversing the deployment in a safe way
    3. Define the deployment schedule in collaboration with the owners of affected services
  3. Make a simulated deployment for the change, if necessary
    1. Involve the owners of the affected services
    2. Monitor the simulation and make notes concerning the observed deviations from the procedure
    3. Update the procedure, if needed
Risks
  1. The change is not announced early enough
    1. Other services could be negatively affected by the change
    2. There are implicit dependencies between other services that could negatively affect the deployment
  2. The procedure is incomplete or unfeasible
    1. Some risk factors could materialize and negatively affect the deployment
Related practicesBP-E.3: Identify and evaluate available options for implementing a change request
SourceThis practice has been defined based on the observation by the SwM team.