Software Team Organization & Control Structure
Most software is too large and complex to be developed by an individual: a team is born!
Nature of Park:
1) Shared: Example strawberry picking: It can be done in parallel four people on job get it done in 1/4 the time.
2) Individual: example pregnancy: Can only be done in serial, women cannot give birth to 9 babies in 9 months but 9 women can give birth to 9 babies in 9 months.
3) Combination – example – software implementation: Coding can be done separately but requires communication for integration.
Chief Programmer Team:
Senior engineer provides the technical leadership and is designated as the chief programmer.
Role of Chief Programmers
- Partition the task into smaller activities
- Assign activities to team members.
- Verified and develop that is integrate the developed product by team.
More authority and responsibility on chief programmer and this structure is quite good for some projects.
Domestic Team Structure:
In this a manager provides the administrative leadership, at different times, different members of the group provide technical leadership.
It suffers from less manpower turnover. Democratic team structure suits to less understood problems, since a group of Engineers can invent better solution than a single individual as in a chief programmer team. It encourages egoless programming as programmer can share and review one another’s work.
Mixed Control Team Structure:
It incorporates both hierarchical reporting and democratic setup. The democratic arrangement at the senior engineers level is used to decompose the problem into small parts Each democratic setup at the programmer level attempts solution to single part.
That is why this team structure is imminently suited to handle large and complex programs.