Chief programmer team

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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.[1]

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.[1] Fred Brooks describes the concept in detail in The Mythical Man-Month,[2] as proposed by Harlan Mills[3] in 1971.

Team structure[edit]

The team consists of ten people. Various roles have been defined for team members, the following are taken from Brooks.[2]

  • Chief Programmer: the most senior member of the team, has overall technical responsibility for the project.
  • Backup Programmer: assists the chief programmer and shares his duties.
  • Administrator: handles "money, people, space, and machines."
  • Editor: has responsibility for project documentation.
  • Secretaries: the Administrator and Editor each have a secretary.
  • Program Clerk: responsible for all project technical records.
  • Toolsmith: builds and supports tools used by developers.
  • Tester: develops tests for verification.
  • 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."


  1. ^ a b Doug Bell (2005), Software engineering for students: a programming approach, ISBN 9780321261274
  2. ^ a b Brooks, Jr., Frederick P. (1975). The Mythical Man-Month. Addison-Wesley Publishing Company. pp. 32––35.
  3. ^ Mills, H. (1971), "Chief programmer teams, principles, and procedures", IBM Federal Systems Division Report FSC71-5108, Gaithersburg, Md.

External links[edit]