|Do We Need Software Heroes?|
|Written by Alex Armstrong|
|Monday, 30 October 2017|
The super developer is a well-known stereotype, and perhaps one we rely on and even worship - a little too much. New research suggests that the hero may be more essential than we could have hoped for.
It is generally held that developer heros are not a good thing because they are a bottleneck that slows down project development.
A team of researchers - Amritanshu Agrawal, Akond Rahman, Rahul Krishna, Alexander Sobran and Tim Menzies from North Carolina State University and IBM Research - has been looking into the impact of the hero programmer on projects by studying 661 open source projects from Github and 171 projects from Enterprise Github.
First what is a hero developer? Their definition is that a project has hero developers when 80% of the contributions are by 20% of the developers.
The first surprising result was that hero projects are more common than you might think and as projects grow in size they tend to become hero projects. You might expect the opposite, as bigger projects might use more programmers working on fairly isolated areas of the code leading to a more equal contribution distribution. Yet the odd thing is the presence of heroes doesn't seem to make any difference to the speed that issues and bugs are closed. In fact, the situation is a little more complicated in that for the enterprise projects heroes do increase the rate of enhancements completed, but this is not the case in public projects.
The conclusion of the paper states:
"In summary, our empirical results call for a revision of a longheld truism in software engineering. Software heroes are far more common and valuable than suggested by the literature, particularly for medium to large Enterprise developments. Organizations should reflect on better ways to find and retain more of these heroes."
I'm not sure that this is the only possible conclusion you can draw from the data. Given that heroes exist and yet make no difference except in Enterprise projects, it isn't clear that they are essential to a project. There is also the small matter that public Github repositories are usually the province of enthusiastic teams of programmers working on software they have an interest in. As such it isn't surprising that there are hero developers. The enterprise repositories correspond to company-sponsored projects that happen to use public Github repositories. As such some of the programmers are likely to be paid - does this lead to hero developers who are responsive to requests for enhancements?
It is an interesting study, but I think the jury is still out.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Monday, 30 October 2017 )|