On Rockstar Developers
I spotted this paper 1 in this month’s ACM Transactions on Software Engineering and Methodology, and it piqued my interest. As the abstract says:
Open source developers, particularly the elite developers who own the administrative privileges for a project, maintain a diverse portfolio of contributing activities. They not only commit source code but also exert significant efforts on other communicative, organizational, and supportive activities. However, almost all prior research focuses on specific activities and fails to analyze elite developers’ activities in a comprehensive way. To bridge this gap, we conduct an empirical study with fine-grained event data from 20 large open source projects hosted on GITHUB. We investigate elite developers’ contributing activities and their impacts on project outcomes. Our analyses reveal three key findings: (1) elite developers participate in a variety of activities, of which technical contributions (e.g., coding) only account for a small proportion; (2) as the project grows, elite developers tend to put more effort into supportive and communicative activities and less effort into coding; and (3) elite developers’ efforts in nontechnical activities are negatively correlated with the project’s outcomes in terms of productivity and quality in general, except for a positive correlation with the bug fix rate (a quality indicator). These results provide an integrated view of elite developers’ activities and can inform an individual’s decision making about effort allocation, which could lead to improved project outcomes. The results also provide implications for supporting these elite developers.
What the paper calls Elite Developers I call Rockstars, and one of the things I find interesting about this paper is that the challenges faced in Open Source communities are really no different to the challenges we face in managing commercial software development teams (but they are, of course, rather easier to study.)
We have all worked with the rockstar developer who is insanely productive on his own, but doesn’t scale up when it comes to a team. Hell, I think we can all sympathise with that developer as well; as no lesser noted management consultant than Killing Eve’s Dasha tells Villanelle:
Management is not easy. It’s watching someone do a job worse than you. That’s why it sucks.
But, unfortunately, scalability is important; the lone assassin can only carry out so many kills and can easily become a liability if they go rogue, and software development is no different. Well, only a little different, anyway, from international espionage.
This paper explores some of the reasons why your rockstar developers' productivity drops when you bring other contributors onto the team, not all of which may be obvious. Definitely an interesting read for anyone involved in the software development business - open source or not.
Title image from ScreenRant
-
Zhendong Wang, Yang Feng, Yi Wang, James A. Jones, and David Redmiles. 2020. Unveiling Elite Developers’ Activities in Open Source Projects. ACM Trans. Softw. Eng. Methodol. 29, 3, Article 16 (June 2020), 35 pages. DOI:https://doi.org/10.1145/3387111 ↩︎