Forming a Winning Programming Team

30
Forming a Winning Programming Team Dr. Sallie Henry Computer Science Department Virginia Tech [email protected]

description

Forming a Winning Programming Team. Dr. Sallie Henry Computer Science Department Virginia Tech [email protected]. Necessary Conditions for a Winning Team. A dedicated coach (willing to spend at least 10 hours a week) Dedicated team members (even if they won’t make the team THIS year) - PowerPoint PPT Presentation

Transcript of Forming a Winning Programming Team

Page 1: Forming a Winning Programming Team

Forming a Winning Programming Team

Dr. Sallie HenryComputer Science

DepartmentVirginia Tech

[email protected]

Page 2: Forming a Winning Programming Team

Necessary Conditions for a Winning Team A dedicated coach (willing to spend at

least 10 hours a week) Dedicated team members (even if they

won’t make the team THIS year) Support from either the Department,

the local ACM or external source Do NOT expect miracles the first year

Page 3: Forming a Winning Programming Team

Step 1 Hold Local contest Individuals are competing against

each other Motivate the students to

participate (prizes, food, etc.) 4-6 problems (of different types) 3 hours

Page 4: Forming a Winning Programming Team

Step 2 Selections of team(s) Choose at least 6 people Based on

Who wins the local Which problems are tackled first Year in school (freshman are great)

Page 5: Forming a Winning Programming Team

Step 3 Schedule at least 4 mini-practices Each 2 hours Have 2 problems for each session Put people in teams of 3 (1

machine)

Page 6: Forming a Winning Programming Team

Step 4 Form teams based on the following

Strengths of team members (you don’t want 3 people with the same background)

I like a Mathematics person and an Engineer

Look at Personalities (see who can work well with others)

Page 7: Forming a Winning Programming Team

Step 5 Have one 5 hour practice each

week Compete like a real competition’ Use last year’s regional problems Feed the team during practice (get

someone to pay for food. Have students estimate how long

each problem will take

Page 8: Forming a Winning Programming Team

Step 5 (con’t) Have another student on the team

check the results prior to a submission

Take away egos Show them how bad their estimates

are Attendance is mandatory

Page 9: Forming a Winning Programming Team

Step 6 Give homework Have EACH team member write a

solution to each practice problem Collect each problem and source

listing in a binder

Page 10: Forming a Winning Programming Team

Step 7 The next day

Have one hour session Discuss how to solve the problems Discuss the problem selection process Have members share ideas

Page 11: Forming a Winning Programming Team

Step 8 Enter at least 2 teams in the

regional contest (more if you can) Make it clear which team is

expected to win (make one team the strongest)

The other teams are JV (in training for next year’s contest)

Early bedtime the night before the region

Page 12: Forming a Winning Programming Team

Step 9 WIN THE REGION

Page 13: Forming a Winning Programming Team

Step 10 Practices after Christmas

Each week, one 5 hour practice The JV teams must attend Use prior finals problems Homework continues and the binders

are getting bigger

Page 14: Forming a Winning Programming Team

Step 11 Trip to Library

Find formula books, algorithm books, etc.

Assign readings for each student Have the team understand the KNOW

the information in the books

Page 15: Forming a Winning Programming Team

Step 12 Get team ready for finals Buy the team “shirts” with school

name on it so that they can look like a TEAM during finals.

Page 16: Forming a Winning Programming Team

Step 13 HAVE FUN Meet people (your peers) from

other institutions Look like a team!! Take the team out for a nice dinner

the night before Finals. Early bedtime

Page 17: Forming a Winning Programming Team

Step 14 Recruit MONEY

To by food (breakfast, lunch and/or dinner) during practices

Buy necessary books for the finals Buy “team shirts” Pay for the NICE dinner

Page 18: Forming a Winning Programming Team

Step 15 How to get money

Department Local ACM Organizations who hire your students

Page 19: Forming a Winning Programming Team

QUESTIONS

Page 20: Forming a Winning Programming Team

Software DevelopmentTeams Evaluation

Sallie HenryVirginia Tech

[email protected]

Page 21: Forming a Winning Programming Team

Keirsey scale profiles

Study I E N S F T P J

General 25 75 25 75 50 50 50 50

Lyons 67 33 54 46 19 81 34 66

Stevens study 60 40 44 56 38 62 26 74

Current study 64 36 35 65 39 61 28 72

Page 22: Forming a Winning Programming Team

Software Engineering Team Models Individual Programmer – Mills Chief Programmer – Mills Surgical Team – Brooks Egoless Team - Weinberg Extreme Programming - Beck

Page 23: Forming a Winning Programming Team

Belbin’s Team Roles History

Developed by Meredith Belbin in 1981 at Henley, England after nine years of study

Designed to define and predict success of management teams

Widely used in Europe Applied successfully, but widely criticized. Measured with the “Self Perception

Inventory” (SPI)

Page 24: Forming a Winning Programming Team

Belbin’s Team RolesRole Typical

FeaturesPositive

Qualities Allowable Weakness

Chairman Calm, self-confident, controlled.

A capacity for treating and welcoming all potential contributors on their merits and without prejudice. A strong sense of objectives.

No more than ordinary in terms of intellect or creative ability.

Shaper Highly-strung, outgoing, dynamic.

Drive and readiness to challenge inertia, ineffectiveness, complacency or self-deception.

Proneness to provocation, irritation and impatience.

Plant Individualistic, serious-minded, unorthodox.

Genius, imagination, intellect, knowledge.

Up in the clouds, inclined to disregard practical details or protocol.

Monitor-Evaluator

Sober, unemotional, prudent.

Judgment discretion, hard-headedness.

Lacks inspiration or the ability to motivate others.

Page 25: Forming a Winning Programming Team

Belbin’s Team RolesRole Typical

FeaturesPositive Qualities Allowable

Weakness ResourceInvestigat

or

Extroverted, enthusiastic, curious, communicative.

A capacity for contacting people and exploring anything new. An ability to respond to challenge.

Liable to lose interest once the initial fascination has passed.

CompanyWorker

Conservative, dutiful, predictable.

Organizing ability, practical common sense, hard working, self-discipline.

Lack of flexibility, unresponsiveness to unproven ideas.

TeamWorker

Socially oriented, rather mild, sensitive.

An ability to respond to people and to situations, and to promote team spirit.

Indecisiveness at moments of crisis.

Completer-

Finisher

Painstaking, orderly, conscientious, anxious.

A capacity for follow-through. Perfectionism.

A tendency to worry about small things. A reluctance to “let go”.

Page 26: Forming a Winning Programming Team

Belbin’s Team Roles For each individual, there may be

multiple roles Belbin: “Primary” and “Secondary”

roles If primary role is already filled, may

gravitate toward secondary role “Strength” of roles.

Page 27: Forming a Winning Programming Team

The “Self-Perception Inventory” (SPI)

Appeared first in Belbin’s 1981 Book Criticisms

Computer Science Validity Defenses

Positive Field Results Confirmed Construct Validity Significant Experimental Results Use in Industry

Page 28: Forming a Winning Programming Team

Previous Results Shaper / Leadership

One is better than two or none. Plant

Presence is better than absence Monitor – Evaluator

No conclusive results flawed experiment ?

Page 29: Forming a Winning Programming Team

The Company Worker The implementer Theory suggests that this role may

affect success But this premise was not backed up

experimentally

Page 30: Forming a Winning Programming Team

Theoretic mapping of MBTI to Belbin

Belbin Role

Keirsey Belbin Role

Keirsey

CH EXXX ME IXTX

SH EXXX CW XXXX

PL IXTX TW EXXX

RI EXXX* CF IXXX*