software project development teams. team organization goal: organize teams so that they are...
DESCRIPTION
Democratic Team Group works for a common cause with no single leader; each member finds faults in others’ code advantages –positive attitude towards finding faults –especially productive in solving hard problems disadvantages –management has difficulty working with egoless team –senior members may resent review by beginnersTRANSCRIPT
![Page 1: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/1.jpg)
Software Project Development Teams
![Page 2: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/2.jpg)
Team Organization
• Goal: organize teams so that they are productive
• teams can be used in every phase, especially implementation
• two extreme approaches:– democratic team– chief programmer team
![Page 3: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/3.jpg)
Democratic Team
• Group works for a common cause with no single leader; each member finds faults in others’ code
• advantages– positive attitude towards finding faults– especially productive in solving hard problems
• disadvantages– management has difficulty working with egoless team– senior members may resent review by beginners
![Page 4: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/4.jpg)
![Page 5: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/5.jpg)
![Page 6: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/6.jpg)
Chief Programmer Team• Introduced in the 70’s, in the keypunch days• chief programmer
– directs and reviews work of other team members – does design and complex implementations
• backup chief programmer • other programmers
– specialized; work on detailed design and coding• programming secretary (librarian)
– maintains project library (code, test cases, etc.)– compiles, executes and runs test cases
![Page 7: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/7.jpg)
![Page 8: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/8.jpg)
Impracticality of chief programmer approach
• Good chief programmers are hard to find– must be both good programmer and good manager
• Good backup chief programmers are even harder to find
• Nowadays programmers compile, run and test their software at their workstations
• Disadvantage: chief is present at code reviews and also does evaluation of members; doesn’t foster positive attitude toward finding faults
![Page 9: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/9.jpg)
Combined approach (Modern Team)• Team leader
– responsible for technical aspects– attends all code reviews
• team manager– responsible for non-technical aspects (budget,
performance appraisals)– does not attend code reviews, but assesses
performance based on periodic team meetings• can be scaled up for large projects• decentralize decision-making
![Page 10: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/10.jpg)
![Page 11: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/11.jpg)
![Page 12: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/12.jpg)
![Page 13: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/13.jpg)
Synchronize-and-Stabilize Team• Used by Microsoft Corp.• Work is divided into several builds; first build is for
most critical features• Each build carried out by a number of small teams
working in parallel• All teams synchronize daily by putting partially
completed components together, testing, debugging• Stabilize at the end of each build• Advantages:
– ensures components work together– get early insight into operation of the product
![Page 14: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/14.jpg)
Synchronize and Stabilize Team Organization
• Program manager leads each team• 3 to 8 developers per team• 3 to 8 testers work one-on-one with developers• Team is given specifications, team members
design and implement their portion• Must meet at regular times for synchronization• advantages:
– promotes individual creativity– daily synchronization promotes communication and
coordination
![Page 15: Software Project Development Teams. Team Organization Goal: organize teams so that they are productive teams can be used in every phase, especially implementation](https://reader036.vdocument.in/reader036/viewer/2022082723/5a4d1b5b7f8b9ab0599ab2b2/html5/thumbnails/15.jpg)