It's not like Building a House
Some people still think that building software is like making something in the physical world -- like a house, or widget.
It's not.
Creating software is like building a living organism.
It's a bit weird. For instance, adding more people to a late software project makes it later!
Software development is a cross between art, engineering, psychology, and many other fields.
Because of this, you do not want a large team of specialists.
You need a small team of elite generalists.
Further reading: