A True Story:
Setting: a development team which is responsible for a production application. This application processes millions of dollars per day in financial transactions, so it has to run.
As the company had just put our a major release, a developer had to work late shift, just in case something happened. The release had been in production for a few weeks, so the worst problems were over.
A few nights ago, it was Joe’s turn for night duty. Joe (not his real name) is a good developer who can be counted on to move one, sometimes two tickets from waiting, through in progress, to done every day.
There were no production problems that night, so Joe could work on his development tasks. How many tickets did Joe finish that night?
Joe was between 2 1/2 and 5 times as productive working at night. Why? Because no one interrupted him.
At the Choose Forum on Human-centric Software Development, Prof. Andrew Ko reported his experience studying software developers at Microsoft: On the average a developer works 10 minutes before having to do a task switch. “Actually completing a task was seldom the reason for a task switch,” he noted laconically. The most common reasons were interruptions, ranging from phone calls, IM messages, E-Mails, visits from co-workers, etc.
I think daily interruptions are a kind of micro-multitasking. Every task switch (especially when developing) causes you to lose context. When you come back to the task, you have to figure out where you were, and you’ve probably forgotten some vital information on the way, which you have to recreate.
Could there really be a factor of 3 potential to improve productivity be removing interruptions? What impact do interrupts have on your work? What do you do to keep interruptions under control?