OOGA Team Meeting
In your OOGA teams, complete the following activities today:
- Introduce yourselves by sharing:
- where you are from and how you are experiencing school this semester
- your motivation/interest in this course
- your knowledge/interest in games (or online rating/commenting experiences if games are not your thing)
- areas of the project you interested or concerned about
- Discuss each person's team experiences and expectations
- share good and bad past team experiences and what you learned from them
- share social preferences and styles regarding expectations, communication, and debating issues
- share technical preferences regarding internal project deadlines, general design goals, and a GIT workflow
- choose a time for the next team meeting
- Discuss your project goals, ideas, and roles to come to consensus as a start to your planning and summarize the discussion in the file PLANNING.md:
- what are your goals for the project?
- what game genres would you be most interested in?
- what extensions to the project would be most interesting/useful?
- what parts of the project do you want to spend more or less effort on (game complexity or variety, viewer, engine, etc.)?
- choose a specific game genre the team wants to work on
- Create a Team Contract and complete the example contract template in the file TEAM_CONTRACT.md:
- Complete this exercise to think about designing an API and summarize the discussion in the file API_DISCUSSION.md
- Choose a name for your team (this is an excellent team build exercise because, along with agreeing on the genre, it can sometimes be the hardest part of the project :)
Submitting Your Work
As a team, push
your TEAM_CONTRACT.md, PLANNING.md, and API_DISCUSSION.md to the doc
folder of the master
branch of your team's provided, shared Gitlab repository using the commit message "lab_start - participating NETIDs".
Individually, submit this Team Contract Form as your personal agreement to its content.
Team Contract
Now that you have some experience with teams in this course, create your own Team Contract for this project: an agreement between all teammates about how the team will operate. This kind of document is adopted by many Open Source coding projects and are the norm for many corporate product teams as well. The process of generating a team contract usually helps jump start a group's efforts to become a team by immediately focusing everyone on a definite task that requires communication and negotiation.
Discuss your goals collaboratively by thinking about:
- good or bad aspects of team project experiences you have already had
- amount and types of effective and inclusive communication for different aspects of the project
- quality of work each person wants to achieve and how best to help everyone get there
- level of group participation and individual accountability everyone feels comfortable with
Minimally, your Team Contract should address all of the following issues:
- Meetings
- polucy for communicating action items made during the meeting
- policy for a team member to give advance notice of missing a team meeting and work required to make up for it
- policy for handling disagreements, major decisions, or priorities during the meeting
- Communications
- policy for making significant team decisions (e.g., by consensus? by majority vote?)
- policy for acceptable response language, timing, and when to include the entire team (e.g., respond within 24 hours)
- policy for keeping everyone up-to-date on major decisions, changes, or updates
- Commitments
- confirm each team member will do work to the best of his/her ability and on time and provide commitments others on the team can rely on
- policy for resolving failure to meet commitments
- policy for reaching out to instructors if commitment issues cannot be resolved within the team (e.g., after 2 tries, or after a team discussion)
- Helping each other
- confirm each team member will ask for help when needed
- confirm each team member will prioritize supporting team goals over individual goals
- confirm each team member will collaborate with others to change code rather than simply refactoring it without permission
As a reminder, here are the individual expectations for course team projects.