Provide Regular Time to Focus
Provide Regular Time To Focus
Software developers regularly report that interruptions such as meetings, demos, and urgent bug fixes keep them from completing their work. Typically, a person takes about 20 minutes to regain their train of thought after one of these interruptions. A five-minute question actually costs 25 minutes and a quick 10-minute meeting actually costs 30 minutes of potential work. Interruptions and recovery time consume 28% of a typical knowledge worker’s day* and can cause undue frustration and stress.
To help address this issue, set aside two hours a day (for example, between 10:00 am and noon). Alternately, you may be able to plan an entire day when no meetings, questions, email, phones and other distractions are permitted, to allow developers to concentrate and focus on their work. Intel and IBM set aside Fridays, calling them "zero-e-mail Fridays" and "Think Fridays", respectively**.
It is also equally important that every developer knows what their top two priorities are so they can plan their work for this period effectively. Even the best-intentioned developers could only randomly guess what would bring value, if they were not told what would actually bring real business value to the project.
Infomania (a debilitating state of information overload) is widely recognized as a major opponent to a developer's productivity. Programming requires that developers keep many things in their head at once - everything from variables, class structures, APIs (Application Programming Interface), utility methods, and even directory hierarchies. When a developer is interrupted, much of this information is "swapped" out and it requires considerable mental energy to regain it. This has a huge impact on productivity and studies find employees are not creating new ideas to the extent they used to because of infomania***.
In addition, different types of distractions have varying degrees of impact on the developer’s train of though. One might be able to get up, use the restroom, get a cup of coffee or a sandwich, or even move to a whiteboard while keeping all of the program data still actively circulating in the brain. In fact, the movement might help him/her see a new avenue to solve a problem.
Planned meetings are especially problematic for programmers, as they might waste time when they know there is an upcoming item on the schedule. They think, “Why get started and then just be interrupted in 30 minutes.” And great ideas that come during meetings may be lost or stale by the time the developer gets back to his computer to capture them.
Developers' productivity can also degrade by over 50% for each additional simultaneous project. Developers working on three or more projects often spend more time attending meetings to explain why they are not making any progress, than getting any actual work done. When developers must contribute to multiple projects, ensure that they are guaranteed at least two full days on each project before switching to another. This will minimize the amount of time they must spend re-introducing themselves to each project.
References Quality Software Management: Systems Thinking by Gerald M. Weinberg
Crystal Clear by Alistair Cockburn
- Fighting a War Against Distraction by Marci Alboher, New York Times, 06/22/2008
- Unloading Information Overload, Printed in The Wall Street Journal, page A11 JULY 7, 2008 http://online.wsj.com/article/SB121538872997031145.html
- Infomania: Why we can't afford to ignore it any longer by Nathan Zeldes, David Sward, and Sigal Louchheim, published in First Monday, Volume 12, Number 8 - 6 August 2007 http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/1973/1848