CS212 Spring 2002 2/6/2002 Lecture 3: Teamwork ------------------------------------------------------------------------------- Announcements: + hopefully you read the announcement about Kimball B11 being our official room + online submission almost up + P1 due date + book on reserve! readings: Chaps 1-2, App. C. (should be in bookstore soon) + some references for this set of notes: - http://www.otal.umd.edu/guse/management.html - http://www.csc.calpoly.edu/~sludi/SEmanual/TableOfContents.html - http://lowery.tamu.edu/Teaming/Morgan1/tsld022.htm ------------------------------------------------------------------------------- Summary from last time: + computer architecture + CPU: ALU, CU, main memory + machine code and JVM ------------------------------------------------------------------------------- A Bit more about Part 1: + show stacks + postfix ops + SaM + expressions, vars, assignment, return - SAMCODE - symbol tables, stacks + compiler (a bit more on the project) + rel and abs addressing + SP and variables ------------------------------------------------------------------------------- Overview of Lecture 3: + tidbit on project management + leadership vs management + group dynamics + academic teamwork ------------------------------------------------------------------------------- Project Management: (borrowing from http://www.pmi.org/projectmanagement/project.htm) + definition of PROJECT: "A project is a temporary endeavor undertaken to achieve a particular aim." + project management: "Project management is the application of knowledge, skills, tools and techniques to a broad range of activities in order to meet the requirements of the particular project. + components: - five Processes: Initiating, Planning, Executing, Controlling and Closing - nine Knowledge Areas Project Integration Management, Project Scope Management, Project Time Management, Project Cost Management, Project Quality Management, Project Human Resource Management, Project Communications Management, Project Risk Management, and Project Procurement Management. + academic version? - resources: mainly time - management: mainly shared, except in large groups - scheduling: mainly due dates - review: grades + references: http://www.pmi.org/ http://www.4pm.com/repository.htm ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Projects for Teams + forming a team - match or complement abilities - avoid mismatching and leeching + meetings - schedule ASAP - keep consistent and regular - review notes from previous meetings - take MINUTES and record action items + break-down of labor and group dynamics - discussed below + demonstrations - rehearse - dress nicely - someone to give intro and outro - each person in between starts and ends with a transition + dissolving a team - be willing to work with new people to keep fresh perspective - bitter breakups (see below) + References: - http://www.otal.umd.edu/guse/management.html - http://www.csc.calpoly.edu/~sludi/SEmanual/TableOfContents.html - http://lowery.tamu.edu/Teaming/Morgan1/tsld022.htm ------------------------------------------------------------------------------- Group Dynamics + why groups? - combine talents, wider pool of knowledge - training - self-policing + two components: - the interaction of team members - the life cycle of a group - knowing components help to explain interactions with other people, especially if things seem difficult + life cycle/stages: - "infancy" (forming) + ambiguity, maybe leaderless + politeness and formality - "adolescence" (storming) + most difficult stage + power grabs and frustration + important to face conflict and work though it! - adulthood (norming and performing) + norming: beginning to work together and find acceptable arrangements + performing: group's system in place and work happens collaboratively - rebirth/death (transforming) + say goodbye and move on to the next group.... ------------------------------------------------------------------------------- Practicalities of Academic teams (see online handouts) ------------------------------------------------------------------------------- Pair Programming: + one person programs (the "pilot") and another watches (the "copilot") + pilot: - actively writes the program - stays in charge of keyboard and mouse - listens to copilot + copilot: - might be more experienced (the "better" programmer) to teach the pilot - watches for mistakes and develops strategies + periodically switch roles + groups of more than 2 (such as 4) could break in twos + benefits? see http://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF -------------------------------------------------------------------------------