Skip to content
This repository has been archived by the owner on Sep 12, 2023. It is now read-only.

Latest commit

 

History

History
153 lines (103 loc) · 6.98 KB

teamwork_contract.md

File metadata and controls

153 lines (103 loc) · 6.98 KB

Team Working Contract

Below is a teamwork contract template adapted from Carnegie Mellon University. It is divided into several sections, and it is expected that each group will spend some time generating at least 5 points for each section that everyone agrees to.

If you are not able to agree on these points, it is a sign that your group may become dysfunctional, and you should seek advice from me (the course instructor) ASAP to resolve and mediate the discussion.

Team Members

Name GitHub Handle
Person 1 @The0therChad
Person 2 @maderaroja
Person 3 @harpreetkaurguglani
Person 4 @tangaot

Participation

All team members agree to fully participate in all aspects of the project. To accomplish this goal, below are five concrete actions that we all agree to take:

  1. Check the repo twice weekly
  2. Weekly lab meetings for decision making
  3. Approve pull request collaboratively within a couple days
  4. Keep Sections separate

Communication

All team members agree to communicate openly and transparently during the project. To accomplish this goal, below are five concrete actions that we all agree to take:

  1. Slack for communication
  2. Communicate as needed
  3. Always inform of updates

Meetings

All team members agree to meet regularly during the project. To accomplish this goal, below are five concrete ideas that we all agree to regarding scheduling and frequency of meetings:

  1. Setup additional meeting as necessary

Conduct

The code of conduct we have chosen is in the Code of Conduct document. All team members agree to follow the code of conduct, and below are five concrete escalation steps that we all agree to follow in the event that the code of conduct is violated by any member of the group (Step 1 is the first thing you will do, and Step 5 is the last thing you will do).

  1. Talk to the person
  2. Consult the group
  3. Talk to TA
  4. Talk to Professor
  5. Talk to Head of Department

N.B. Please do not hesitate to expand beyond 5 steps if needed.

Conflict Management

Despite our best intentions, conflict may invariably arise amongst teammates. Discuss within your team some conflict mitigation strategies (feel free to search online if needed) and come up with 5 strategies all members of the team agree to follow in the event there is a conflict within the group. You may also include things you will NOT do in the event a conflict arises.

  1. Be open to all perspectives
  2. Be open to learning from each group member
  3. Don't slander team members
  4. No personal attacks
  5. Verbally demonstrate understanding of different perspectives
  6. No tantrums

Deadlines

All team members agree to the following conventions around course deadlines:

  1. Make every effort to meet original deadlines
  2. Express difficulties in meeting deadlines

...etc...

*N.B.

Git Workflow

There are many git workflows possible when working on a team project with many moving parts. I suggest you discuss in your group some possible Git workflows. Here is a brief primer on some common options. I suggest reading them, understanding them, and then selecting one. You can explore and choose any you like, but if you cannot decide, I suggest using the "Feature Branch Workflow".

All team members agree to the [Name of chosen Git Workflow] workflow, and the following conventions (e.g., master branch protection, at least X reviews before a pull request, at least N days before the deadline etc...):

  1. Feature-branch-workflow

Final Reflection on Workload Distribution

** This section should be completed AFTER Milestone 4 is done and submitted! Only one is needed PER group. **

In this section we will ask you to self-report the workload distribution to various categories of tasks. For each of the categories, we want you to report the approximate workload distribution, split by the milestone.

Here are the tables you are expected to complete (the first one is pre-filled in so you can see what we're expecting):

Milestone 1

Category Nyanda Chad Nelson Harpreet
Documentation/Reflection 30% 10% 10% 30%
Writing new code 20% 30% 30% 20%
Code Reviews/editing 20% 30% 30% 20%
Project Management 25% 25% 25% 25%
Testing & Troubleshooting 25% 25% 25% 25%

Brief notes/explanations (optional):

  • No troubleshooting was needed for Milestone 1
  • Member 1 and Member did most of the repository setup, whereas 3 and 4 did most of the documentation

Milestone 2

Category Nyanda Chad Nelson Harpreet
Documentation/Reflection 50% 50%
Writing new code 20% 30% 30% 20%
Code Reviews/editing 20% 30% 30% 20%
Project Management 25% 25% 25% 25%
Testing & Troubleshooting

Brief notes/explanations (optional):

Milestone 3

Category Nyanda Chad Nelson Harpreet
Documentation/Reflection 50% 50%
Writing new code 20% 30% 30% 20%
Code Reviews/editing 20% 30% 30% 20%
Project Management 25% 25% 25% 25%
Testing & Troubleshooting 22.5% 27.5% 27.5% 22.5%

Brief notes/explanations (optional):

Milestone 4

Category Nyanda Chad Nelson Harpreet
Documentation/Reflection 50% 50%
Writing new code 20% 30% 30% 20%
Code Reviews/editing 20% 30% 30% 20%
Project Management 25% 25% 25% 25%
Testing & Troubleshooting 20% 30% 30% 20%