Software Development Task

In this section, we provide some low-level details about the specific software tasks in which novices engage, summarize the distribution of the amount of time they spend on them, and show exemplars of the types of things they did during those tasks. Those tasks that they spend the most time on are worthy candidates for analysis to determine whether they are supported by computer science pedagogy.

Figure 26-1 shows the percentage time spent on various tasks by our novice subjects over all of their observations normalized by the length of time that we observed the subject. The bars in the graph may be directly visually compared with one another within and between subjects, so we can see, for instance, from the length of the bars that Timothy spent the most time doing communication tasks.

Task Breakdown

Most of our novices spend a large portion of their time in communication tasks. This covers meetings (both organized and spontaneous, and with varying numbers of colleagues), seeking awareness of team members (and their code and tasks), requesting help, receiving help, helping others, working with others, persuading others, coordinating with others, getting feedback (such as on code), and finding people.


Wallace, Xavier, and Timothy spent an overwhelming amount of their time in communication tasks. Both attended several meetings and got help from others in dealing with bugs. Wallace had particularly high levels of communication due to the low cost ...

Get Making Software now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.