A programming team in which responsibility for program design and implementation rests entirely with one highly skilled member, the chief programmer. The other team members provide various forms of support. A typical team could consist of the chief programmer, a backup programmer, librarian, administrator, and secretary: the backup programmer assists the chief programmer and is able to take over that role if necessary; the librarian maintains all technical documents on the project, such as design documents, source modules (in all versions), and test histories; the administrator relieves the chief programmer of all administrative duties on the project. Various other services might be obtained from outside the team as needed.
This team organization has been advocated for the production of large programs: a single highly skilled programmer, when properly supported, can produce programs more quickly and more reliably than a team of less talented programmers working as equals. In particular, the problem of communication within the team is minimized.
The approach was pioneered in the early 1970s by the Federal Systems Division of IBM, particularly by Harlan D. Mills.