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.

super2

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.

superpower

More Information

We Don’t Need Another Hero?

Related Articles

Does Strong Typing Help?

Happy Programmers Produce Better Apps

The Real Reason To Learn To Program - The Power

Programming - A Life Long Challenge

Teach Concepts Not Just Code

What makes a programmer

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

 

 

Banner


GitHub Enterprise Server Adds Deployment Rollout Controls
11/03/2024

Version 3.12 of GitHub Enterprise Server, the self-hosted version of GitHub that organizations can install on their own servers, has been released with support for restricting deployment rollouts [ ... ]



iOS 17.4 Released With Support For App Stores In The EU
06/03/2024

I have written about Apple's approach to complying with regulation, characterizing it as malicious compliance. It also seems that Apple is a master of creating the unintended consequence and letting i [ ... ]


More News

 

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

<ASIN:B0757J72BT@COM>

<ASIN:B0768NBXY4@COM>

Last Updated ( Monday, 30 October 2017 )