topic 4 programming is a team activity l.
Download
Skip this Video
Download Presentation
Topic 4. Programming is a Team Activity

Loading in 2 Seconds...

play fullscreen
1 / 21

Topic 4. Programming is a Team Activity - PowerPoint PPT Presentation


  • 65 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Topic 4. Programming is a Team Activity' - brooklyn


Download Now 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
almost all development projects are done by a team why
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

issues in team management
Issues in Team Management
  • Selection of team
    • Skills
  • Team building
  • Motivation
  • Skills
  • Personalities
  • Team Structure

603.601, Session 1

roles
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

time and importance of roles
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

managing programming staff
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

discussion
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

project team structure
Project Team Structure
  • Conventional Heirachy
  • Chief Programmer Team
  • SDD Team Organization (Microsoft)

3.3

Rapid Development, Ch 13

603.601, Session 1

structuring the development team
Structuring the Development Team

A Conventional Heirachy

Manager

Career

Path

Analyst

Analyst

Programmer

Programmer

Programmer

Programmer

603.601, Session 1

the chief programming team
The Chief Programming Team
  • Organized more like a Surgical Team:-
    • Chief Programmer
    • Backup Programmer
    • Programming Secretary
    • Assistants

603.601, Session 1

communication patterns in a cpt
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

team size and productivity
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

communication paths
Communication Paths

1/2

3/3

6/4

n*(n-1)/2

10/9

603.601, Session 1

task segmentation
Task Segmentation.
  • Vital to organize team according to interface boundaries

603.601, Session 1

team model
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

today s project teams
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

today s project teams17
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

small teams
Small Teams
  • Low communication overhead
  • Low process overhead
  • Low management overhead
  • Faster implementation
  • Higher quality

603.601, Session 1

development role

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

testing role

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

user education role

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