Many organizations employ a complex deployment process where every code change has to go through a series of different steps in order to reach the production environment. This is typically due to organizational rules, which require many people to approve the deployment. The result is a big package with many updates to the code that is supposed to be deployed at once. At deployment time the level of stress rises drastically, as there often are unexpected errors – missing configurations, misunderstandings in the team, or special (not well-tested) scenarios. Moreover, if the deployment fails, it needs to be rolled back, which could be a painful process.