You may have experience working with people who are inconsistent in their performance. You ask for something, and sometimes they get back to you right away, at other times they get back to you after a reminder or two, and sporadically they don’t get back to you at all. This kind of behaviour is costly to you. Ideally you send a request to the person, and don’t need to think about it anymore — the ball is in their court, and they will return it to you. But in the above case, you are forced to periodically think “oh, that thing I asked John, I wonder if it’s getting done, or if I need to follow up”. Multiply that by many tasks and perhaps multiple Johns, and it can become very taxing.
You don’t want to be John in your team. So eliminate packet drop[1] from your workflow.
There are many ways to deal with packet drop, and whole books have been written on the subject, but to me it seems that one simple heuristic will get you there. When you come across something needs doing, either do it immediately if it takes less than a couple of minutes, or write it down in your todo list/tree (see organize your execution).
Writing things down lets you free your brain up to fully focus on the task that’s immediately at hand, and at the same time lets you follow through with all the edge cases, side concerns, and various loose ends.
Create a workflow that explicitly eliminates packet drop. It’ll let your code be top quality because it will eliminate the “I thought about this edge case while coding, but then forgot to handle it at the end” problems, and will make working with you a stress-free experience for your peers.
Next: Differentiate “Process” from “Deliverable” Work ⇒
[1] Using a term from networking here as it closely describes the symptoms as far as the receiver is concerned — some packets get transferred over just fine, and some sporadically get dropped. It’s indeterministic and frustrating.
Comments
Post a Comment