Software development organizations strive to enhance the productivity of their developers. While research has looked into various ways for improving developer productivity, little is known about the activities they pursue at work, how these activities influence the fragmentation of work, and how these insights could be leveraged to foster productivity at work. In my PhD thesis, I address software developer productivity by taking a mixed-method approach to investigate developers' perceptions of productivity in the field and to examine the individual differences of each developer's work. My goal is to increase developers' awareness about their own work habits and productivity, and to encourage productive behavior changes at work through the provision of two persuasive technologies, self-monitoring and goalsetting.
DOI
ABSTRACTSoftware development organizations strive to enhance the productivity of their developers. While research has looked into various ways for improving developer productivity, little is known about the activities they pursue at work, how these activities influence the fragmentation of work, and how these insights could be leveraged to foster productivity at work. In my PhD thesis, I address software developer productivity by taking a mixed-method approach to investigate developers' perceptions of productivity in the field and to examine the individual differences of each developer's work. My goal is to increase developers' awareness about their own work habits and productivity, and to encourage productive behavior changes at work through the provision of two persuasive technologies, selfmonitoring and goal-setting.
CCS CONCEPTS• Human-centered computing → User studies;
PROBLEM STATEMENTThere is a common refrain that repeats itself in similar forms every couple of years: our inability to produce enough software to satisfy the needs of the world. For example, in 1968, attendees at the first NATO software engineering conference coined the term software crisis [17] and in 2011, Andreessen wrote about software eating the world, expressing that the need for software keeps outstripping our ability to produce it [1]. There are a couple of ways of addressing the gap between software demand and supply. We could try to reduce the demand, which seems unlikely to succeed. Or, we could try to increase the supply, namely our ability to produce software. In this PhD thesis, I focus on one way to increase the supply of software: the improvement of software developers' productivity. A substantial amount of work researching developer productivity has been undertaken over the past four decades. The majority of this research introduces particular definitions of productivity, such as measuring productivity based on the number of lines of source code modified per hour [8] or the resolution time for modification requests [16]. Another body of research considers organizational factors associated with productivity, such as the effect of the workplace setting on productivity [7], and soft factors, such as inte...