Programming team
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
A programming team is a team of people who develop or maintain computer software.[1] They may be organised in numerous ways, but the egoless programming team and chief programmer team have been common structures.[2]
Description
A programming team comprises people who develop or maintain computer software.[3]
Programming team structures
Programming teams may be organised in numerous ways, but the egoless programming team and chief programmer team are two common structures typically used.[2] The main determinants when choosing the programming team structure typically include: difficulty, size, duration, modularity, reliability, time, and sociability.[2]
Egoless programming
An egoless programming team contains groups of ten or fewer programmers. Code is exchanged and goals are set amongst the group members. Leadership is rotated within the group according to the needs and abilities required during a specific time. The lack of structure in the egoless team can result in a weakness of efficiency, effectiveness, and error detection for large-scale projects. Egoless programming teams work best for tasks that are very complex. Individuals that are a part of a decentralized programming team report higher job satisfaction.[2]
Chief programmer team
A chief programmer team will usually contain three-person teams consisting of a chief programmer, senior level programmer, and a program librarian. Additional programmers and analysts are added to the team when necessary. The weaknesses of this structure include a lack of communication across team members, task cooperation, and complex task completion. The chief programmer team works best for tasks that are simpler and straightforward since the flow of information in the team is limited. Individuals that work in this team structure typically report lower work morale.[2]
Shared workstation teams
Pair programming
A development technique where two programmers work together at one workstation.
Mob programming
A software development approach where the whole team works on the same thing, at the same time, in the same space, and at the same computer.
See also
- Cross-functional team
- Scrum (software development)
- Software development process
- Team software process
References
- ^ Jack Belzer, Albert George Holzman, Allen Kent (October 1, 1979), Encyclopedia of computer science and technology, vol. 13
{{citation}}
: CS1 maint: multiple names: authors list (link) - ^ a b c d e Marilyn Mantei (March 1981). "The Effect of Programming Team Structures on Programming Tasks" (PDF). Communications of the ACM. Vol. 24, no. 3. p. 106-113. Retrieved 2019-03-26.
- ^ Jack Belzer, Albert George Holzman, Allen Kent, Encyclopedia of computer science and technology, vol. 13
{{citation}}
: CS1 maint: multiple names: authors list (link)