150 likes | 579 Views
• Large software systems require a coordinated team of software engineers for effective development • Team organization involves devising roles for individuals and assigning responsibilities • Organizational structure attempts to facilitate cooperation. Team Coordination.
E N D
• Large software systems require a coordinated team of software engineers for effective development • Team organization involves devising roles for individuals and assigning responsibilities • Organizational structure attempts to facilitate cooperation Team Coordination • Team Formation and Organization • Group Management • Meeting Techniques
• Organizing is building a team • Appropriate organization depends on project length and complexity • For long-term projects, job satisfaction is extremely important for reduced turnover • Need mix of senior and junior engineers to facilitate both accomplishing the task and training • Adding people to a project introduces further delays Team Organizations
• Hierarchical organizations minimize and discourage communication, while democratic organizations encourage it • Appropriate size depends on complexity – small teams lead to cohesive design, less overhead, more unity, higher morale – but some tasks too complex – optimal size between 3 and 8 • Appropriate design leads to appropriate assignment of tasks and appropriate team organization Team Organizations
• Hierarchical organizational structure and matching pattern of communication – chief programmer team – chief programmer reports to peer project manager – programmers report to chief programmer – librarian responsible for central repository – specialists added as needed • Works well with simple tasks that can be grasped by one good engineer, but “single point of failure” Centralized-Control
• Ring organization and connected communication – democratic team – decisions made by consensus – all work is group work: “ego-less programming” – leads to higher morale and job satisfaction – not appropriate for large teams • More appropriate for less understood and more complex programs with longer term project Decentralized Control
• Hierarchy with extra communication – senior engineers report to project manager – junior engineers report to senior engineers – control is vested in project manager and senior engineers – communication is decentralized among each set of peers and their supervisor • Limits communication to a small group and realizes benefits of group decisions by vesting authority Mixed Control
• Team members – desire to be part of group task – have an interest in task with social interaction – are interested in improvement and can accept constructive criticism – are genuinely interested in sharing knowledge – do their own share • Team approach – generates conflict – requires good strategies – forming: initial meeting to get acquainted and assess skills – storming: characterized by conflict and open brainstorming – norming: establishing normal patterns of behavior and approach – performing: documenting the results Effective Teams
• Conflict is a positive attribute indicative of multiple ideas • Conflict management is selecting between alternative actions • Conflict resolution can be done by – compromise: great appeal, but may indicate avoiding – forcing: one person insists on action – avoidance: ignore conflict, hoping it will go away – confrontation: examine areas of disagreement, discuss differences and bring solution out in open • Group cohesion leads toward cooperation and good conflict resolution Conflict Resolution
• Schedule early, at times when all can attend, at good venue, started when all arrive • Prepare well, with detailed agenda and list of action items • Procedures: complete agenda, discuss facts, solicit input from all members, take action, everyone should leave with something to do before next meeting • Group Interaction: pay attention and react, concentrate on group, watch for nonverbal communication, backtrack when problems arise Meeting Techniques