1 / 21

Topic 4. Programming is a Team Activity

Topic 4. Programming is a Team Activity. Almost all development projects are done by a team. Why?. Project Size more than one person can deal with in the time Skills Rare to find one person with the range of skills necessary Transient nature of a Project

brooklyn
Télécharger la présentation

Topic 4. Programming is a Team Activity

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Topic 4. Programming is a Team Activity 603.601, Session 1

  2. Almost all development projects are done by a team. Why? • Project Size • more than one person can deal with in the time • Skills • Rare to find one person with the range of skills necessary • Transient nature of a Project • We organised well, teamwork is more enjoyable, and more productive than working individually. 603.601, Session 1

  3. Issues in Team Management • Selection of team • Skills • Team building • Motivation • Skills • Personalities • Team Structure 603.601, Session 1

  4. Leader Manager Analyst Architect Builder Trainer Documenter Sponsor User Tester Roles What other roles can you think of? How many people are in this team? What is the proportion of resource in each role? 603.601, Session 1

  5. Changes over time Depends on project stage Combination of Existing team members change balance of their roles People come and go Time and importance of roles 603.601, Session 1

  6. Managing Programming Staff “Managing Programmers is like Herding Cats” • High intelligence <-> tedious drudgery • Master complex machinery <-> deliver systems that meet needs of people Contradictory Attributes 603.601, Session 1

  7. Discussion • How do we select team members • Making teams Jell 3.1 Peopleware, ch 14, 15 Rapid Development, Ch 12 3.2 Peopleware, ch 18, 19, 20 603.601, Session 1

  8. Project Team Structure • Conventional Heirachy • Chief Programmer Team • SDD Team Organization (Microsoft) 3.3 Rapid Development, Ch 13 603.601, Session 1

  9. Structuring the Development Team A Conventional Heirachy Manager Career Path Analyst Analyst Programmer Programmer Programmer Programmer 603.601, Session 1

  10. The Chief Programming Team • Organized more like a Surgical Team:- • Chief Programmer • Backup Programmer • Programming Secretary • Assistants 603.601, Session 1

  11. Communication Patterns in a CPT Chief Programmer (“Surgeon”) Backup Programmer (“Copilot”) Administrator Programming Clerk Secretary Toolsmith Editor Tester Secretary Language Lawyer 603.601, Session 1

  12. Team Size and Productivity • “All truly great software has been created by a team of 3-8 people” • Not actually true, but contains some truth • Why is this? 603.601, Session 1

  13. Communication Paths 1/2 3/3 6/4 n*(n-1)/2 10/9 603.601, Session 1

  14. Task Segmentation. • Vital to organize team according to interface boundaries 603.601, Session 1

  15. Team Model “People are most productive working in small teams with tight budgets, time deadlines, and the freedom to solve their own problems.” Bill Gates, Microsoft Chairman and CEO (Thanks to Paulo Rocha and Microsoft for remaining slides) 603.601, Session 1

  16. Today’s Project Teams • Principles • Small, multidisciplinary teams • Interdependent roles and shared responsibilities • Deep technical and business acumen • Focus on competency and “shipping” products • Clear goals and objectives • Active customer participation 603.601, Session 1

  17. Today’s Project Teams • Principles (continued) • Shared project vision • Everyone participating in design • Deliberate efforts to learn from past projects • Shared project management and shared decision-making • Team members working together at one site • Large teams working like small teams 603.601, Session 1

  18. Small Teams • Low communication overhead • Low process overhead • Low management overhead • Faster implementation • Higher quality 603.601, Session 1

  19. Development Development Role • Builds features to meet the specification and customer expectations • Participates in design,focusing on physical design • Estimates time and effortto complete each feature • Serves the team as a technology consultant 603.601, Session 1

  20. Testing Testing Role • Develops testing strategy, plans, and scripts to ensure all issues are known • Manages the build process • Conducts tests to determinethe status of productdevelopment accurately • Participates in settingthe quality bar 603.601, Session 1

  21. User Education HMSII Guest Check-in Guest Name: Spindler, Mr. and Mrs. Room Number: 203 Problem Identification Date Reason Problem Action Date Room & Tax Reason User Education Role • Team advocateto theend user • End-useradvocate to the team • Participates indefininguser requirements • Participates in designingfeatures • Designs and developsperformance support systems • Drives the usability process 603.601, Session 1

More Related