When organizations face complex tasks, they usually divide them into definable atomic tasks which can not be easily subdivided. To increase speed, more people can be added to the point where there is one person per atomic task.
Software development is an especially good exemplar to explore task atomicity.
Team programming usually means coordinating efforts of individual programmers who divide up a large, complex system. The ability to get working software quickly into the hands of users will be characteristic of successful data-processing organizations for the foreseeable future. Groups that can produce and install software systems within tight time frames will prosper. Fast response to changing information-processing requirements is a necessity in today's world. Succeeding laboratory experiments with professionals and graduate students using the same canned problem did not indicate significant differences in performance between teams and individuals.