Project Factors considered when planning the structure of software engineering teams
Mantei is also describing project factors which should be considered when planning the structure of software engineering teams:
- The degree by that the problem can be modularized
- The rigidity of the delivery date
- The degree of sociability (communication) which is required for the projects
- The requirement of reliability and quality of the system to be established
- The time and the team will stay together (team lifetime)
- The difficulty to solving the problem
Table [MAN81] is describing the impact of project characteristics on team organization because a centralized structure completes tasks faster it is the most adept at handling simple problems. Decentralized teams generate more, better solutions by individuals. Thus such teams have a greater probability of success when they working on hard problems. Since the CD team is centralized for problem solving either the CC or CD the team structure can be successfully applied to easy problems. A DD structure is excellent for hard problems.
By this the performance of a team is inversely proportional to the amount of communication which must be conducted a very large projects are best addressed by teams with a CD or CC structure when sub grouping can be easily accommodated.
The impact of the project characteristics on team structure [MAN81]
Table : The impact of project characteristics on team structure
The length of time the team will live mutually affects team morale. Team structure has been found that DD team structures result in high morale and job satisfaction and are further good for long lifetime teams.
The DD team structure is the best applied to problems with the relatively low modularity because of the large volume of communication which is needed. Whenever high modularity is possible the CC or CD structure will work well and people can do their own thing.
CD and CC teams have been found to give fewer defects with DD teams but these data have much to do with the specific quality assurances activities that are applied through the team. Decentralized teams commonly need more time to complete a project which a centralized structure and at the similar time are best when high sociability is needed.