Humans in software engineering

11
Humans in software engineering: The more things you do, the more things you can do! Bogdan Vasilescu, Alexander Serebrenik, Mark G.J. van den Brand @b_vasilescu @aserebrenik @MarkvandenBrand

description

Humans in software engineering: The more things you do, the more things you can do! Bogdan Vasilescu, Alexander Serebrenik, Mark G. J. van den Brand Software development is a human activity: both the interaction between the developers as well as their personalities influence the ways in which they participate in software engineering activities. Therefore, to improve software, human aspects of software engineering have to be charted, analyzed and incorporated into tools supporting software development processes. Understanding human activities necessitates a well-thought mix of qualitative and quantitative analyses, borrowing techniques from psychology, sociology and organizational theory, on the one hand, and mining software repositories, on the other. Using such techniques, we have conducted a series of empirical studies of online developer communities, including those around GNOME—the popular open source desktop environment (contributors to source code repositories and translators), GitHub—currently the largest code hosting website (coders), StackOverflow—the largest programming Q&A platform (users asking and answering questions) and R—a popular data analysis software (users seeking and sharing knowledge on the mailing lists). A recurring and interesting observation from all these studies is that “the more things you do, the more things you can do”. For instance, social coding on GitHub and answering questions on StackOverflow reinforce each other [1]; contributing to multiple GNOME subprojects or engaging in multiple activity types results in increased productivity [3]; or being publicly rewarded with reputation points and badges results in faster answers on Q&A platforms than on traditional mailing lists for the experts active on both [2]. We believe this to be akin to handicapped signaling theory from evolutionary biology. Indeed, developers multiplying their activity on different platforms, or going the extra mile to answer questions faster on StackOverflow, signal their skill in the same way peacocks signal reproductive fitness: although the peacock’s heavy tail makes it more vulnerable to predators (thus can be seen as a handicap), it carries a message of reproductive fitness to potential mate peahens, making the peacock more attractive. [1] Bogdan Vasilescu, Vladimir Filkov, Alexander Serebrenik. StackOverflow and GitHub : associations between software development and crowdsourced knowledge. 2013 ASE/IEEE International Conference on Social Computing (SocialCom 2013). [2] Bogdan Vasilescu, Alexander Serebrenik, Prem Devanbu, Vladimir Filkov. How Social Q&A Sites are Changing Knowledge Sharing in Open Source Software Communities. 17th ACM Conference on Computer Supported Cooperative Work and Social Computing (CSCW 2014). [3] Bogdan Vasilescu, Alexander Serebrenik, Mathieu Goeminne, Tom Mens. On the variation and specialisation of workload: A case study of the Gnome ecosystem community. Empirical Software Engineering, 2012.

Transcript of Humans in software engineering

Page 1: Humans in software engineering

Humans in software engineering: The more things you do, the more things

you can do!

Bogdan Vasilescu, Alexander Serebrenik, Mark G.J. van den Brand

@b_vasilescu @aserebrenik @MarkvandenBrand

Page 2: Humans in software engineering
Page 3: Humans in software engineering
Page 4: Humans in software engineering

Vasilescu, Serebrenik, Goeminne, Mens. On the variation and specialisation of workload: A case study of the Gnome ecosystem community. Empirical Software Engineering, 2013.

Number of activity types per author

log(

tota

l num

ber o

f com

mits

per

aut

hor)

Page 5: Humans in software engineering
Page 6: Humans in software engineering

'

Page 7: Humans in software engineering

Vasilescu, Filkov, Serebrenik. StackOverflow and GitHub : associations between software development and crowdsourced knowledge. 2013 ASE/IEEE International Conference on Social Computing (SocialCom 2013).

Page 8: Humans in software engineering

Vasilescu, Serebrenik, Devanbu, Filkov. How Social Q&A Sites are Changing Knowledge Sharing in Open Source Software Communities. CSCW 2014.

Page 9: Humans in software engineering

Different data sets, different measures,

different statistical techniques… the same conclusion:

The more things you do, the more things you can do!

Page 10: Humans in software engineering

Career, peer recognition, …

Page 11: Humans in software engineering

Humans in software engineering: The more things you do, the more things

you can do!

Bogdan Vasilescu, Alexander Serebrenik, Mark G.J. van den Brand

@b_vasilescu @aserebrenik @MarkvandenBrand