Consider this scenario (any comparison with real world situations is purely by accident):
- 3:07 am: incoming support call "Something in production went down, I need your help!".
- 3:12 am: connected to the system (logon accepted) ... and no time for coffee.
- 3:15 am: lucky you, right away you could spot the issue via some error message somewhere.
- 3:17 am: use your SCM toolbox to grab the code, fix the issue, test it, great ... my fix works!
- 3:20 am: get in touch with the
DevOps-team to ship the fix and to get production running again.
- 3:21 am: red flag ... "To respect four-eyes, we need 2 more eyes to get approval for this fix".
- 3:22 am: ggggrrrreat, now what, who else can we call (= wake up some manager)?
If you implemented some approval procedure similar to my answer to "What are possible implementations (or examples) of the four-eyes principle?", then you're out of luck ... here are your choices:
- Your fix will be stuck (read: production will be down) until 2 more eyes got involved.
- You figure out a way to get around the missing eyes.
So how to implement the four-eyes principle for emergency fixes? ... So that you get production up and running asap, i.e. around 3:25 am ... And so that you can also close the call (and go back to where you came from)?