D.2.9 Discuss the use of programming teams.
A programming team is a team of people who develop or maintain computer software.
"The egoless programming team will contain 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.
"The chief programmer team will usually contain three-person teams.
Consisting of a chief programmer, senior level programmer and a program librarian while 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 more simple and straightforward since the flow of information in the team is limited. Individuals that work in this team structure typically report lower work morale."
Teams are set up to accomplish larger tasks as a group
More members means more ideas, including ideas that might not have come about without a team
The strengths of some can cover up the weaknesses of others
With more "manpower" to work on problems, larger problems and projects could be taken on
If not handled properly, the weaknesses of some members could undermine the group as a whole
Different styles of programming and working have to learn to coincide and work together
Communication among members becomes a priority for the team by necessity