The Real Cost of Interrupting an Engineer

Ingeniarius Intermissis

On many occasions I have found myself having to explain to those outside of the engineering world why unplanned interruptions are so, well, disruptive. I describe the mode of being in the zone, so completely deep in the understanding and comprehension of a task that a phone call, a question or just the need to say 'hello' to us is like pulling out the wrong block during an intense game of Jenga - everything falls down.

To be crystal clear - it is an extremely fragile period of enlightenment. 

Arg.

Much to my delight a new study has been released that categorically supports the notion I've been describing for so many years, albeit more eloquently and accompanied with much more scientific rigor.

Chris Parnin over at ninlabs research released a study based on

the analysis of 10,000 programming sessions recorded from 86 programmers using Eclipse and Visual Studio and a survey of 414 programmers...

Some top level data points that I can relate to:

A programmer takes between 10-15 minutes to start editing code after resuming work from an interruption.
When interrupted during an edit of a method, only 10% of times did a programmer resume work in less than a minute.
A programmer is likely to get just one uninterrupted 2-hour session in a day.

Brutal.

When is the worst time to interrupt an engineer?

Research shows that the worst time to interrupt anyone is when they have the highest memory load. Using neural correlates for memory load, such as pupillometry, studies have shown that interruptions during peak loads cause the biggest disruption

I called it 'being in the zone' - Chris calls it 'highest memory load'.

Fascinating stuff.  It's a great read and I highly recommend it to those who find engineers to be the grumpy sort.  It may just change your opinion.
{"cc_re__cc_re__cc_by_sa_3_0": ["arget=\"_blank\"\n>Creative Commons License</a> and is the private blog of Eric Wilson.\n<!-- /Creative Commons License -->\n<!--\n<rdf:RDF xmlns=\"http://web.resource.org/cc/\"\n    xmlns:dc=\"http://purl.org/dc/elements/1.1/\"\n    xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n<Work rdf:about=\"\">\n<license rdf:resource=\"http://creativecommons.org/licenses/by-sa/3.0/\" />\n</Work>\n</rdf:RDF>\n-->\n<br>\nThe opinions are my own and are not endorsed by my current or former employers or colleagues.\n<br>\n<a class=\"offsite-link-inline\" href=\"http://creativecommons.org/licenses/by-sa/3.0/\" target=\"_blank\">\n<img alt=\"Creative Commons License\" border=\"0\"\nsrc=\"http://i.creativecommons.org/l/by-sa/3.0/88x31.png\" /></a></center>\n<!-- Google +1 -->\n<script type=\"text/javascript\">\n  (function() {\n    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;\n    po.src = 'https://apis.google.com/js/plusone.js';\n    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);\n  })();\n</script><script type=\"text/javascript\" data-sqs-type=\"imageloader-"]}