According to Wikipedia Price’s law pertains to the relationship between the literature on a subject and the number of authors in the subject area, stating that half of the publications come from the square root of all contributors. If 100 papers are written by 25 authors, five authors will have contributed 50 papers Transfer this interpretation into the most effective development team size and it’s our conclusion, that you will get diminishing returns with any team size greater than 10.
Derek de Solla Price observed that on any particular subject, half of the publications come from the square root of all contributors.
This became known as Price’s Law [the use of the word Law here is a scientific term that is based on observations, but it does not explain why or how it exists].
The generic interpretation of Price’s Law has since been extended to 50% of work is performed by the square root of the population on the work.
My experience of mentioning this to business colleagues and in particular to fellow CTOs, is that they generally dismiss the concept as interesting, but not true of their experience of teams and organisation.
Then, after about two minutes of cogitating and unpacking the theory in more detail, they start to appreciate that perhaps it could and has been a truth in their management of teams.
It is common for Price’s Law to be compared with the 80/20 principle (Pareto Principle).
The key difference is that Price’s Law is logarithmic and applies to only 50% of the work (so 50% is still done by the rest of the group).
To understand what Price’s Law mean, the graph below visualises the difference between more productive (star) and regular workers.
Reading the graph for a team of 8 means that regular workers are about 50% as productive as the star workers whereas, with a team of 100, the regular worker is only 10% as productive.
For the sake of this article, we assume that efficiency and productivity are interchangeable whilst understanding that there is a difference in a wider context, subject for another article.
Of course, it’s rarely possible to grow a team to 10 and then stop!
Look at splitting a team once it gets to 12. How you split it will depend on the product, company and skills of the developers.
You might split by functional areas, so with an e-commerce type web application, that means splitting the team into admin functionality and user functionality, with each taking backend and frontend developers. Alternatively, you could split by type of work such as splitting the team into a frontend team and a backend team.
To prevent silos, you then make sure that each team talks freely with each other, as well as move members around occasionally to develop their skills and career.
Without necessarily being aware of Price’s Law at the time, my experience was that an optimum size for a development team should be 8-10. Any more and the productivity dips, your time is chipped and the team becomes less productive. I’ve therefore always split a larger number into separate teams, with a nominated team leader (i.e. scrum master).
Canvassing around elsewhere there is evidence that this theory may be applicable more generally. As an example, most team sports have less than 12 players on the field at any one time.
This subject has been the source of much pub debate with my peers but the general consensus (from our team at least) is that Price’s Law is a useful yardstick when designing teams for development.
There is no doubt that cybersecurity in companies is more important than ever. Cybersecurity Ventures predicts cybercrime will cost the world in excess of $6 trillion annually by 2021, up from $3 trillion in 2015
I had experienced efficient code review practices before, so the question led me to articulate what had worked in the past.