When we are reading code, what actually happens is that by navigating code we change our mental model. Navigation tasks are common, Ko et al found that on average 35% of time is spent on it. And if you say navigation, you say… IDE!
When doing a certain task, a developer of course opens different files, source code, test, init files etc. But this information is not stored. Roberto wanted to know more and started to study: how chaotic are IDEs really?
For this 1631 sessions of 17 developers were recorded, with a timespan of over 770 hours during which over 40,000 windows were opened.
Roberto studied the total screen space of all windows, of the current focus, the windows’ overlap and free space. They also looked at ‘needed space’ all the windows areas summed. On average 48% is occupied, 52% is free, 32% is focused and 96% is needed.
He then categorized four different scenarios:
It gets interesting when we combine this data with other data, for example data on ‘fiddling’ with the IDE, as shown in Table V. Table V summarizes the time spent on managing the IDE in each of the four chaos-levels. Clearly, in a state of chaos, we do more. From the paper:
“The results above show that for around 32% of the time developers work in a high-chaos setting, i.e., for a session of around 30 minutes of work, more than 12 minutes are spent working with windows occupying more than 100% of the screen. Moreover, 5 out of 30 minutes are spent in a more critical setting, the hell configuration, where the needed space is over 200% the resolution. The total time spent in high-chaos amounts to ca. 331 hours, i.e., 42.92% of development time.”
Furthermore, there was a correlation between chaos and time needed to understand code, as shown in Table VI.
According to the authors, the correlation “is consistent with a likely presence of more complex working sets, spread on multiple windows, that require more attention and time to be managed. The correlation between the time spent on the hell configuration and the UI time is particularly strong (0.42 PCC, p-value 2.20E-16).”
So sad. No preprint 🙁 Whoops! I did not Google hard enough. Preprint does exist!
 ] A. J. Ko, B. A. Myers, M. J. Coblenz, and H. H. Aung, “An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks,” IEEE Transactions on Software Engineering, vol. 32, no. 12, pp. 971–987, 2006.