How to replace meetings and improve efficiency

Meetings Are Inefficient

A 5-minute status meeting uses about 35 minutes of productive time for each person in the meeting or on the call.  Meetings are also a poor way to communicate ideas, unless you have a white board, someone taking pictures of the white board, and someone carefully capturing and organizing all the notes from the meeting.  Still, you’ll usually end up with decisions based on the loudest person in the room.

Fortunately with today’s technology, there is a better way.

These techniques apply equally to calls and in-person meetings.  Since remote work is more efficient to begin with, I’ll use “calls”.

Replace The Status Call

This is probably the worst offender of time-sucking.  The 5 minute status or “scrum” call takes about 35 minutes of time for each person on the call.  Imagine: you’re working on something, but at 2pm you have a call.  At about 1:45 you check the clock – there isn’t really enough time to start into a new task, so you putter and find things to do until the call. After the call, you need to get back into what you were doing, which takes another 15 minutes.

There are far better ways to communicate status, which I’ll cover in order from best to least best:

  1. Use a shared task management system like JIRA, Bugzilla, FogBugz, Clarizen, Asana, or Trello (that’s in my order of preference, if you’re looking for a tool to use).  Any tool that lets you create a task, assign it to *one* person, and enter comments will do. Entering time worked and remaining time estimate is a plus. Ability to link tasks in a parent/child relationship is a major plus (JIRA, Bugzilla, FogBugz and Clarizen all do this).
    • Have each person enter notes as they work on a task. Use the lottery clause: “If you win the lottery tomorrow, will someone be able to look at your notes in the task and pick up where you left off?”. At least, have them enter a daily status as a comment. At slightly more than least, have them enter the approximate hours worked on the task and the approximate time remaining. You can make this precise and use it as a timesheet if you like, but in most instances you’ll want to use it as a rough, real-time gauge of how the task is progressing.
  2. Use Email. Send an email to your team (or whoever you would have had on the status call). Or just have them email you daily status, if they’re disciplined enough. I think it’s better to start the discussion though – that way people are just replying and don’t have to remember on their own. Remember: you want them focusing on their work, not on email. Here’s a sample email.

    Subject: Daily status “call”!

    Please reply all with what you worked on, what you’ll work on next, and if you have any blockers!

    Make sure you prepare your team for this – don’t just ambush them with a status call email. For example, if you’re having daily calls already, say “to save time and let you focus on work more, I’m going to try switching this call to a daily email. I’ll email you at the same time as the call – reply with your status, like you would on the call. This way we can all reply when convenient instead of dropping everything for the call”. Keep the same tone in the email that you would in the call. e.g. joke as you would on the call, be serious if that’s your team’s culture, etc.

  3. Use a chat room. I shy away from Instant Messages in general (because they interrupt work), but if you’re using an IM client or a chat room to connect a team (local or virtual – I’ve done it in both environments), it’s a good forum for the daily status call. Just do it the same way I suggested for email above: At a specified time, post “daily status call! Please post a sentence or two about what you worked on, what’s up next, and if you have any blockers!” in the room.

If you have someone who doesn’t provide status, or if you need more status, follow up with them directly (via email or your task manager system). Think if them as someone who missed the call.

Replace The “Discussion” Call – Scheduler

A lot of meetings are “let’s discuss (project scope, ideas for new product, what to do for Kathy’s birthday)”. Or worse, they’re scheduled because someone doesn’t know something so they want to get people on the phone to discuss the something.

I’ll approach this first from the standpoint of the scheduler – you’re the person who wants to discuss something, so you’re going to schedule a call. Stop, prepare, and back off that meeting invite. 🙂

First, what’s the desired outcome of the meeting? A document defining the scope of a product? A document defining a workflow for your coffee ordering process? A group consensus on the color of frosting for someone’s birthday cake?

Then, make a Google Doc (or drawing, or “slides”, but doc is usually best). Put in any information you have. If you’re not sure what to put in, imagine you’ve just started the call: what would you say? Type that into the document. Share it with the people who would be on the call, and invite them to edit and comment on the document.

Google Docs provides an amazing forum to discuss and create. The document serves both as a whiteboard and as a discussion forum. Using the “comment” feature, users can highlight sections of the document and ask questions or, well, make comments. This is the same process that would happen in a well-run meeting: You’d present ideas on a board (or slides), people would discuss verbally, someone would write the ideas from the discussion down, and you’d end up with a final document (which usually someone would have to compile later and email to the team). In a Google Doc, you can do this entire process in one document, stay focused on the emerging document, and achieve the actual outcome without post-processing. The entire process can be done asynchronously (that is, not everyone needs to be available at the same time). The lets you take advantage of people in different time zones (the UK office can edit while you’re sleeping and vice versa). The document also tracks revision history – who changed what and when – so you can drop back to an earlier revision if someone messed up your brilliant idea or see who changed the header to “Dodgers suck!”.

Replace the “Discussion” Call – Invitee

To: Half the office
HOLD: Discuss Feature Scope Kickoff
When: Thursday, middle of lunch until half-past when you were going to do actual work

I’ve covered how to not schedule the “discussion” call, but what do you do if someone invites you to one?

Reply to the meeting invite with the following template. Update your response as appropriate based on the invite.

Hi _____?,

So I can best prepare, can you provide me with a list of things we'll be discussing at the meeting?  Also, is there anything specific you need from me on the call? *

If/When the scheduler replies with the things you’ll be discussing at the meeting, respond to those things via email. e.g. if he/she says “I want to discuss the scope of the widget project and I’d like your input”, reply with the scope, e.g. “I think it’ll take about 5 days, unless we have to ___, in which case add another 3 days”. Then ask, “Is there anything else you need from me on the call?”

This dialog will often kill the need for the call.  If it doesn’t, it’ll at least hone in your purpose for being on the call, so the call time will be as productive as possible.

* Template from The Four Hour Workweek by Tim Ferris, mostly – I may have made minor alterations over the years.  I keep it in a TextExpander snippet.

How to restore your Apple Mail rules from Time Machine backup in El Capitan

I have an elaborate set of rules that manage my work email.  Due to a buggy plugin, I lost them recently.  After a few moments of panic, I started researching.  After piecing together what I found on the Interwebs and knowledge I’d gained while debugging said buggy plugin, I found a safe, reliable way to restore mail rules with or without iCloud sync running. *

  • Quit Mail if it’s running, just to be safe
  • Open ~/Library/Mail/V3/MailData (Select the Go menu in the Finder and hold the option key down to see the Library folder)
  • Click on SyncedRules.plist
  • If you’re syncing your rules via iCloud Drive, do this bit of scariness (if you’re not sure whether you’re syncing or not, open System Preferences > iCloud, click “Options…” next to iCloud Drive, see if Mail is checked.  If it is, you’re syncing rules with iCloud Drive):
    • With sync still on, delete all your existing mail rules (iCloud will try to merge your rules later – this way it’ll merge with nothing)
      • Open Mail
      • Go to Preferences > Rules
      • Select all your rules
      • Click Remove to remove all your rules
        • This deletion will sync to iCloud and your other Macs.  btw, it’s probably a good idea to have any other Macs you sync with on for this just to make sure their rules are kept current.
      • Wait around 5 seconds just in case Mail needs to do something to communicate your rule deletion to iCloud
      • Quit Mail
    • THEN, turn off iCloud sync:
      • Open System Preferences > iCloud
      • Click “Options…” in the iCloud Drive line
      • Uncheck Mail
  • Restore SyncedRules.plist from Time Machine **
    • SyncedRules.plist still selected?  Good, Run Time Machine
    • Go back in time, looking at the “modified” time of SyncedRules.plist, until the “modified time” is just before you broke your rules
    • Click the Restore button.  If/when prompted, Replace the old broken rules file (I mean, keep both if you want, but it’s probably already in time machine and if you wanted it, you wouldn’t be doing all this)
  • If you’re not syncing with iCloud Drive, you’re done.  If you are syncing with iCloud Drive, turn Mail syncing back on now:
    • Open System Preferences > iCloud
    • Click “Options…” in the iCloud Drive line
    • Check Mail

At this point, you can launch Mail.  Your rules should be in the state they were at the time of the backup file you restored.  You may need to enable the rules (click the checkboxes) – I did.  (If you’re curious, I think the reason is that Mail stores the enabled state of rules in RulesActiveState.plist.  You probably could restore that file from Time Machine above if you had a really specific set of on/off settings you wanted to keep – I didn’t try).  If you sync your rules with iCloud drive, the restored rules should now be synced to your other computers as well – the sync happens within a few seconds (if they were online during this process – if they were off and have stale old rules, they should update to the new rules, but I haven’t tried that).

* In case you haven’t been looking around on the Interwebs, With or without iCloud sync is important because if you just restore SyncedRules.plist, it will be immediately replaced when you run Mail if you’re using iCloud to sync your rules.  (I use “iCloud” and “iCloud Drive” interchangeably here – rules sync happens using iCloud Drive).  If you just turn off Mail’s iCloud sync, restore SyncedRules.plist, and turn iCloud sync back on, you’ll get a merged mess of whatever was in iCloud (e.g. the rules you’re replacing) and the new rules.  The technique in this article restores your old rules and syncs them as is to iCloud (because there’s nothing there to merge).

** SyncedRules.plist stores your rules – I used Time Machine, but if you have a backup copy anywhere, e.g. CrashPlan, you can use that too; we’re just replacing the file with the bad rules with a file that has good rules in it.