During the last weeks we have been presenting some of our results in the Liferay Developer conferences in Berlin and Madrid. A daily challenge in our business is to improve the knowledge of the community developers about its project and according to the good feedback we got from the developers this has been achieved.
The Liferay community is driven by a single company and based on the data we got they are doing it well. During the last months the company is hiring one engineer per week, which explains in part the huge growth of code authors during the last four years. Basically the number of developers since 2009 was multiplied by four. During the first half of 2009 the number of people contributing to the source code was 58, four years later during the first half of the current year the number of persons who have contributed to the source code has been 201.
And Liferay is not only growing in the number of authors, counting the number of commits (changes to the code) done since data is available we see that the number of commits is doubled every 2.5 / 3 years.
So, they are going up like a rocket, but this doesn’t necessary means they are doing a good job. We at Bitergia aimed to answer these three questions:
- has the growth of the development team affected the way commits have been produced?
- is the bug backlog growing?
- is the project retaining people/knowledge?
In order to identify differences in the way developers are coding we studied three different intervals of time: first half of 2009, 2011 and 2013. The idea here was to study the number of commits per developer and the number of net lines (added – removed) per commit. After studying the distribution of those parameters during the last 4 years we got interesting results. Both studies indicate that the distribution of work per developer (measured with commits per developer) and the size of each commit (net lines) has not changed during the last four years. Remember, this development team has multiplied its size by four and increased their coding activity. The conclusion of this study is that the team is growing in a sustainable way, being able to adapt newcomers to the policies used by the original team.
And what about bugs? More people coding and adding features could end up having a lot of bugs and a huge bug backlog. Instead of having a look at the total bug backlog which is something trivial, we used for this study a coefficient called Backlog Management Index (BMI). This is calculated as the result of the monthly open plus reopened bugs divided by the monthly closed bugs. When this index is equal to one, the number of (re)open and closed bugs this month is the same. If the result is below one, the number of closed bugs was bigger.
According to the chart the result is clear, that the bugs are being managed in a more efficient way during 2013.
Last but not least, the power of a community is based not only on the number of its members but also on their knowledge. If we think the way the community is committing code is very similar to the way they did four years ago, it is obvious that people with experience in the project are still involved. The next chart shows us data about the people that joined the development team (blue bars) and about the people that joined the team and are still active by today (green bars). For this project we have defined “being active” as doing at least a commit during the last six months.
The demography chart adds more information that help us understand how the Liferay development team has been able of keeping a way of working while multiplying the development team by four. This community has a high retention rate, which helps building a bigger team and sharing the knowledge to the newcomers.
It will be very interesting to see how the performance evolves if the community keeps growing at the same speed, but in any case at Bitergia we think that the Liferay staff has managed the growth in a sustainable way, which builds a stronger community which would end up having a more interesting product.