Sure, I’m not writing a whole critical analysis of TMMM here and am using an aphorism to make a point.
Let’s imagine we’re going to make a new operating system to compete with Linux.
If we have a team of 10 developers we’re probably not going to finish that project in a month.
If we’re going to add 100 developers we’re not going to finish that project in a month.
If we add a thousand developers we’re still not going to finish that project in a month.
But which team should ship first? And keep shipping and release fastest?
My bet would be on the smaller team. The exact number of developers might vary but I know that if you go over a certain threshold it will slow down.
People trying to understand management of software projects like to use analogies to factory lines or building construction to understand the systems and processes that produce software.
Yet it’s not like adding more code per unit of time is adding anything to the process.
Even adding more people to a factory line had diminishing returns in efficiency.
There’s a sweet spot, I find.
As for Google… it’s not a panacea of efficiency from what I hear. Though I don’t work there. I’ve heard stories that it takes a long time to get small changes to production. Maybe someone who does work there could step in and tell us what it’s like.
As a rule though, I find that smaller teams with the right support, can ship faster and deliver higher quality results in the long run.
My sample size isn’t large though. Maybe Windows is like the ultimate operating system that is fast, efficient, and of such high quality because they have so many engineers working on it.