A chief programmer team is a programming team organized in a star around a "chief" role, granted to the software engineer who understands the system's intentions the best. Other team members get supporting roles.
The concept is similar to that of a surgical team in which a surgeon who performs the operation is supported by medical staff such as an anaesthetist and nurses. Fred Brooks describes the concept in detail in The Mythical Man-Month, as proposed by Harlan Mills in 1971.
The team consists of people. Various roles have been defined for team members, the following are taken from Brooks.
- Program Clerk: responsible for all project technical records.
- Toolsmith: builds and supports tools used by developers.
- Language Lawyer: has in-depth expertise in the language(s) used to develop the project.
In this arrangement the chief programmer and backup programmer actually work on the problem. The remaining team members provide "all conceivable support."
- Doug Bell (2005), Software engineering for students: a programming approach, ISBN 9780321261274
- Brooks, Jr., Frederick P. (1975). The Mythical Man-Month. Addison-Wesley Publishing Company. pp. 32––35.
- Mills, H. (1971), "Chief programmer teams, principles, and procedures", IBM Federal Systems Division Report FSC71-5108, Gaithersburg, Md.
- Sjoquist, Robert J. (1976). "Experiences in the Development of a Large Scale Linear Programming System". Computers and Mathematical Programming: Proceedings of the Bicentennial Conference on Mathematical Programming Held at the National Bureau of Standards, Gaithersburg, Maryland, November 29-December 1, 1976. Retrieved August 25, 2016.
- "Chief Programmer Team". C2,Com. Retrieved August 25, 2016.