A one man company, why not, if everybody can simply do stuff on demand. Specialized teams usually are more productive if they dont exeed a maximum of 12 people, rather a team of 5. communication increases the more people are dependend on each other in one project. it also means that if every participant of a project would need to compile everything one says, it can lead to thrashing, respectively organizational overhead, so one wouldn't be able to work much as long as all would continue communicating. The advantage of having a full stack engineer decreases thrashing. One can be much more productive than many. Production cost heavily depend on the people you choose to involve. Therefore well rehearsed teams are a great find.
IT still being a growing business, often it proved to be the case that very large companies rely on small companies for their services, let it be marketing or design or enineering. Future automation technology will most certainly lead to a crash of this broadly distributed service world. It makes even more sense to outsource for production, than having to implement a core competence in a company which will lead to insolvency.