Challenge 2: Identify the Manual-Process Failure Mode — Possible Solution ==================================================================== THE SCENARIO ------------- A team's release process requires a developer to manually SSH into a production server and run a deploy script. TWO DISTINCT FAILURE MODES ------------------------------- 1. Forgotten or skipped steps under deadline pressure The chapter explicitly names this: developers "skip [tests] 'just this once' under deadline pressure" and manual processes create "forgotten steps exactly when there's least time to catch them." Manually SSHing in and running a script depends entirely on the developer REMEMBERING every required step in the correct order (e.g. pulling the latest code, running any needed migration first, then the deploy script, then restarting the right service) — under time pressure, a step can easily be skipped, run out of order, or run against the wrong environment entirely, with nothing structurally preventing that mistake. 2. Environment inconsistency ("works on my machine") The chapter names this directly too: manual processes create "inconsistency between environments." If different developers SSH in and run the deploy script slightly differently (different working directory, different assumed environment variables already set in their own shell session, a slightly different version of some tool installed locally), the deployment's actual behavior can vary depending on WHO ran it and WHAT their personal setup happened to be at that moment — rather than being a fully reproducible, identical process every single time, regardless of who runs it. WHY THIS WORKS AS AN ANSWER ------------------------------ Both failure modes trace back to the same root cause the chapter identifies: "every one of these steps is a place for human error." SSH access plus a manual script execution is a textbook version of exactly the "manually copy files to a server... manually restart the service" pattern from this chapter's own opening description of the pre-CI/CD release process — the specific mechanism (SSH + a script, rather than manually copying files) doesn't change the underlying category of risk; it's still a human-dependent step with no automated safeguard ensuring it happens correctly and identically every time.