Do you lack time, or focus?
Like many people, I have found 2020 very challenging. I always feel that there is not enough time for everything I need to do, but this year especially I have noticed how much multiple priorities reduce my productivity.
When juggling multiple projects what can you do to maximise focus, and minimise disruption?
Here are my thoughts and ideas that I find are helping me to clear the fog.
The myth of effective multi-tasking.
My wife will tell you that I am hopeless at finishing tasks. I’ll start a project, be called away by her or my boys to help with something, and 3 days later the tools are still there and the job half done. Equally at work, I am often interrupted mid-task for a meeting or request for help. I find this particularly disruptive when I am (trying to be) deep into a challenging development task.
Context switching kills productivity. There is no getting away from it.
I am however getting better at juggling multiple projects. Here are some tactics that I find help me:
1. Prioritise, prioritise, prioritise
Is there one task that is more important than anything else right now?
Make it your sole focus. Next week’s problem is just that, a problem for next week. If you are fortunate enough to only work from a prioritised backlog, pick up each ticket in turn and keep your focus on that task “until it’s done.”
2. Allocate time to each priority
The more senior you become, the more likely it is that you are going to have multiple pulls on your time. Meetings are easy, someone else has already decided to allocate your time (or should you decline?) but otherwise maybe you need to have a plan for the week, the day, the next hour as to what you will do.
If the tasks are in different contexts, make sure that you have mentally dropped one before you start the next. Having a timetable can help with this.
3. Have small tasks ready to pick up
Have 15 minutes before that important client call?
10 minutes before you have to pick up the kids?
There is no point starting a new task that you cannot complete in that timescale, but there may be time to review a colleague’s pull request or check that your earlier PR has been merged in.
4. Make sure your colleagues know what your focus is right now
If what you are working on right now is more important than supporting your colleagues, let them know. Be clear in your standup and go through with it. Better still if you can give an idea of when you will be able to help.
Just because Slack is flashing does not mean that you need to respond right now. Your boss will call your phone (or come to your desk) if it’s that important. In the office, I find going to find a quiet place away from my desk is effective. Using flexi-time to work when others are away too within reason.
5. Know what’s coming down the road
This probably qualifies as a controversial opinion:
For me, I work better when I have some time for my subconscious brain to ruminate on a problem. Sure, sometimes everything is on fire and you just have to get straight on it. Generally though, the more I have an understanding of what’s coming, the better the chance of making the right choices.
Note, that doesn’t mean that I am thinking about it all the time, but if an idea about it pops into my head, I stick it down in a notepad and check it when I get to it.
Equally, if questions arise I can use one of those “too short” intervals to email, ask or search.
6. Break down large tasks
The bigger a task is, the greater the chance that you will not be able to complete it uninterrupted.
Instead of “Write an end to end UI test” try:
- Automate login process
- Automate navigate to the item
- Automate item page checks
- Automate add to basket
Not only will you stand a chance of completing each in a session, but your reviewers will also be much happier with smaller PRs. You don’t have to have a full test configured to run in a pipeline. (Or completed feature if that’s your thing!)
7. One thing at a time
The bigger your tasks the harder this is, but serialise everything.
Final thoughts: TL/DR
- The best way to keep productivity high is to have a single focus at all times
- If you have to juggle:
Prioritise and plan your time, don’t parallelise.
Progress made:
- In my side projects: None
- My priority right now is buying a house, so coding at home is a “next year” problem
Lessons learnt:
- Keeping a single focus is the best thing you can do to maintain productivity
- If you have to juggle priorities, planning helps and having the discipline to avoid distractions
A reminder:
If you want to ask me a question, Twitter is undoubtedly the fastest place to get a response: My Username is @AlexanderOnTest so I am easy to find. My DMs are always open for questions, and I publicise my new blog posts there too.