- Write out the shell commands to execute, URLs to visit, copy/paste information, and any manual steps required to perform the production task.
- Ask yourself, could any of the steps fail? Are there alternatives steps that could yield the same result and reduce the chance of failure? Add or update steps to reduce the likelihood of failure.
- Ask yourself, could you reorder any of the steps to increase the speed of the task? Could any of the steps be done at the beginning of the checklist? If so, make changes.
- Ask yourself, could a less experienced developer handle this checklist? What would they need to know? Could that knowledge be baked into a step? Edit steps to incorporate more details.
- Share the checklist to colleagues experienced with the system. Ask them if there are missing or inaccurate steps. Make changes if necessary.
- Ask a less experienced teammate to perform your checklist in a staging environment. While your teammate steps through the list, record any missteps, questions, and failed steps.
- Review the completed checklist and incorporate changes into a new checklist. Replace failed steps with any actions you and your teammate took in Step 6.
- Send the revised checklist to colleagues for review again.
- Repeat steps 6-8 as many times as necessary until you're confident of the steps.
- Perform the checklist on your production system. Follow each step. Do not skip ahead. Slow and steady.
- Sigh in relief. Huzzah! You're done!
Next time you have to perform a manual, sweat-inducing, hearth-pumping, production task, use this checklist to write yourself a checklist. You might find that performing your production task is now dull. And maybe, you'll like this.
Make production tasks boring.