Use Task Lists to Get More Done Better

As much as we try to Automate All The Things, it's still easy to find yourself walking through routine tasks with only a few simple steps. On busy days, it's easy to miss a step, and on busier days, you might gloss over fine details – that come back to bite you later.

 

All The Things

When faced with routine tasks like this, a good first step is to setup work instructions. For example, as part of uploading a new version of a managed package, we can 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 Force.com Security Source Code 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 a blog post.
  4. On "Go", merge pull request into target release branch.
  5. Deploy to target release org via Bamboo.
  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 Dashboard.

If you could run the process end-to-end, each of these tasks are simple enough to zip through. In real life, several of the 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.)

Version Ops

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.)

Daily Ops

Taken together, the task lists become a very effective standard operating procedures guide -- that's actually fun to use.

Hope that helps!

See Also