It's not as simple as having a team or an individual. Teams can be onerous depending on the personalities, authority, type of tasks, process applied, etc... They can also be very productive if kept small and focused. And focus is the great benefit of the lone individual. We become less productive the more we're distracted from a given task. Introverts are not necessarily high maintenance, in fact I would generally say it's the other way around. If they are then they probably aren't being managed correctly. But there are social aspects of being a developer apart from working with other developers or not. One also sometimes has to interact with managers, business people, vendors, clients, users, etc... Often the developer is also required to be a business analyst, artist, technical support, and on and on. Many roles falling under the umbrella of "developer" that require good skills in asking the right questions and getting the needed information out of someone that may not even realize what the answer is themselves. So you put the right people in the right roles based on all the properties of that individual. A mistake often made is seeing developers as interchangeable cogs, and assigning them to something based solely on a list of technical aptitudes. Ultimately it's ALL individuals and viewing it otherwise will eventually lead to problems.