The ability to multitask is often looked at as a positive characteristic of an employee or of a team. I’m often impressed myself with people who are able to keep several balls up in the air. However, what everyone should keep in mind when asking anyone to multitask is the cost that is associated with it.
The cost of Multitasking
In „Quality Software Management: System Thinking“ Gerald Weinberg suggests a rule of thumb to calculate the cost of context switching when working on several projects at the same time. When a team is working only on one project they can dedicate 100% of their time on that one project. According to Weinberg, once you add one project 20% of the team’s time is wasted with context switching. When adding a third project only 60% of the time is used on projects. By adding a 4th and 5th project you are wasting more time than you are focusing on actual projects. Jeff Atwood wrote an article in 2006 referencing several studies about the problem: The Multitasking Myth
From the above one can easily think that focusing on one project is something that everyone should aspire to. Personally, I don’t think that is realistic or even pragmatic. First, the requirements for your business will almost never comfort you with the luxury of only focusing on one thing. Secondly, there is such thing as dead time in projects. So periods of time in which you are waiting on something in order to progress with your project. No matter how hard you try to align everything in order to avoid dead time, you will have some.
Knowing there will be dead time you can use this to your advantage by pipelining a certain amount of projects. If project A is blocked people can progress on project B, etc. The cost of context switching is still there, but it is mitigated by the ability to work on something highly prioritized during dead time of another project.
Don’t plan with 100% of your team’s time
Another false belief is when running only one project 100% of a team’s time will actually be used for working on this project. I’m doing that mistake myself a couple of paragraphs up in this post. You will not be able to spend 100% of your time on a project hence it is wrong to assume it. There are a couple of reasons for this.
One reason is, everyone will do something unrelated to work throughout their day. Several studies have been conducted and on average it seems that out of an 8 hour work day only 7 hours are effectively used for work.
Also, urgent things will interrupt the day. Especially if the development team is also responsible maintaining an application in production systems. How much of a team’s time goes into solving production issues highly depends on the quality of your software. In any case, things will happen and you need to be aware of that when thinking about how much time can actually be spent on a project.
Thirdly, teams will spend time in meetings, will receive training, will have to monitor production services, etc. Again, how much time goes into that is probably individual for each team, but it needs to be accounted for when thinking of how much time can be dedicated to a project.
So what does that all lead us to?
Just being aware of all the above already helps. Teams and organizations need to find the right balance between multitasking and focus. Finding that balance requires work from everybody involved in the process including the leadership team. Also embracing agile methodologies will help prevent over-committing and account for the fact that your team is able to spend all their time on a specific project.
What are your thoughts on this topic?