Forming a Winning Programming Team Dr. Sallie Henry Computer Science Department Virginia Tech henry@cs.vt.edu
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
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
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)
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)
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)
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
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
Step 6 Give homework Have EACH team member write a solution to each practice problem Collect each problem and source listing in a binder
Step 7 The next day Have one hour session Discuss how to solve the problems Discuss the problem selection process Have members share ideas
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
Step 9 WIN THE REGION
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
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
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.
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
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
Step 15 How to get money Department Local ACM Organizations who hire your students
QUESTIONS
Software Development Teams Evaluation Sallie Henry Virginia Tech Henry@cs.vt.edu
Keirsey scale profiles Study I E N S F T P J General 25 75 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
Software Engineering Team Models Individual Programmer – Mills Chief Programmer – Mills Surgical Team – Brooks Egoless Team - Weinberg Extreme Programming - Beck
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)
Belbin’s Team Roles Role Typical Features Positive 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.
Belbin’s Team Roles Role Typical Features Positive Qualities Allowable Weakness Resource Investigator 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. Company Worker Conservative, dutiful, predictable. Organizing ability, practical common sense, hard working, self-discipline. Lack of flexibility, unresponsiveness to unproven ideas. Team Worker 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”.
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. blah
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
Previous Results Shaper / Leadership Plant Monitor – Evaluator One is better than two or none. Plant Presence is better than absence Monitor – Evaluator No conclusive results flawed experiment ?
The Company Worker The implementer Theory suggests that this role may affect success But this premise was not backed up experimentally
Theoretic mapping of MBTI to Belbin Belbin Role Keirsey CH EXXX ME IXTX SH CW XXXX PL TW RI EXXX* CF IXXX*