As much as I try to Automate All The Things, I still find myself walking through routine tasks with several simple steps. On busy days, it’s easy to miss a step, and on busier days, it’s easy to gloss over some of the fine details.

If you’re like me, the first thing you do when faced with routine tasks is setup work instructions. For example, as part of uploading a new version of a managed package, we queue an automated security scan.
Queue the Security/Quality Scan
Run the Force.com Security Source Code Scanner for each version of a managed package, to detect any new issues.

  1. Open http://security.force.com/security/tools/forcecom/scanner and enter Package Admin username (see LastPass) and our version as the description.
  2. Review the report email when it arrives (which can be some time), and schedule any needed followup actions.

Sounds simple enough, and it is, until you realize it’s step #9 of a 13-step process.
Deploy Package Version 
Complete these tasks whenever a new version of a managed or unmanaged package is uploaded.

  1. Create pull request into target release branch. 
  2. Review change logs for completeness (technical and delivered).
  3. Confirm release readiness at Go/NoGo meeting or via Basecamp.
  4. On “Go”, merge pull request into target release branch.
  5. Deploy to target release org via TeamCity.
  6. Tag the release branch in Git.
  7. Add the list of added components to release notes and announce update. 
  8. Update issue tracker and change logs with final version number. 
  9. Queue the Security/Quality Scan. 
  10. Pending feedback on added components, upload the major or patch release.
  11. Install new version into the Trialforce source org, and provision a new template.
  12. Update our Visualforce form with new template ID.
  13. Update internal testing and customer environments via the Release Channel board.

If you could run the process end-to-end, each of these tasks are simple enough to zip through. In real life, several steps include delays of five minutes to over an hour, while a background process completes, making it easy to lose your place.

A good solution for tracking meandering workflows is to
(1) setup work instructions for each of the tasks (like Queue Security/Quality Scan). 
(2) Put the list of top-level tasks into a checklist. 
(3) Hyperlink the checkpoints to the work instructions.

The third point is what brings it all together. By linking from the checklist to the work instruction, you can quickly review the detailed steps behind each checkpoint. 


Confluence: The Magical Checklist Machine

If you are lucky enough to have Atlasssian’s Confluence in your toolbelt, it’s a particularly wonderful environment for creating a task list. The templating system is top-knotch, and Confluence thoughtfully includes a checkbox widget that you can use anywhere in a page. (No HTML form required.)
When we’re ready to assemble a new version, I can summon a task list to ride along along and keep me on the straight-and-narrow.
We also use task lists to routine daily and weekly tasks, both as a reminder, and also to track how often we exercise a particular routine. (We may want to do run each routine daily, but sometimes unplanned work gets in the way.)
Taken together, the task lists become a very effective standard operating procedures guide — that’s actually fun to use.
Hope that helps!

Picture

For more about the efficacy of checklists, be sure to read The Checklist Manifesto. It’s a classic. 
What multi-step tasks do you do on a daily, weekly, or occasional basis? Do you think task lists would help? Do you have an alternative approach to staying on top? Do you have work instructions or standard procedures for All The Things?


Ted Husted is a Kaizen Squad developer on the Nimble AMS product crew. “We make the good changes that create a great product.”