Sample teamwork contract

Sample project teamwork contract from a group of students for a past data science group project.

Team Contract

Expectations

The time expected for group members to work on DSCI 5XX will be a maximum of 6 hours unless all the team members agree to lengthen the time expected. If team members cannot complete their sections within the maximum hours, members should give notice on Slack at least 24 hours before the group submission date (Saturday 6am) to see if work should be redistributed or if the expected time should be increased.

All submissions are expected to meet the criteria of the milestones as set out in the instructions. This includes making sure all scripts are working, creating tests for all your functions, and using proper grammar in written submissions.

Meetings

Meeting times were established during the initial team meeting held on 202X-XX-XX. Meetings will be held in or meet outside LOCATION on the following dates:

The group will have a second formal meeting during the lab for 524 on Mondays at 2 pm. All members are expected to attend the meetings. If a member cannot make a meeting, written notice must be given 24 hours before the meeting to discuss alternative options.

Communication

All communication outside of the meetings will be through Slack or Github. Github will be the primary communication tool for ideas, suggestions, submitting work and reviewing work. Slack will be the primary communication tool for informal communication and scheduling meetings.

Reviews

All members are expected to submit a pull request for their work on the repository for the group project on Github.com. Members are expected to add teammates as reviewers to have all pull request reviewed by another teammate. Pull request should be reviewed within 24 hours after creation.

Roles

There are two roles team members will be responsible for each week. The roles are as follows:

  1. Scribe:
    • Responsible for taking notes at the meetings and in-class lab sessions and adding as a GitHub issue.
    • Responsible for sharing with all notes and in-class activities to teammates.
  2. Proof-reader
    • Responsible for doing a final check of the submission before the deadline to make sure all requirements are satisfied.

Positions will be rotated each week to ensure that each team member does each position once.

Deadlines

Deadlines for individual items will be assigned during meetings. The proof-reader will review the work on Saturday and ensure that the final version is ready for submission and create the required version tag.

Breach of Contract

Failure to follow the team contract will result in a three-step warning system:

  1. The first step is a written Slack notice that outlines the violation of the team contract and a reminder of the team contract conditions.
  2. The second step is a meeting to discuss the behaviour and write an agreement to follow the team contract is required by the member.
  3. The third step is to reach out to the lab instructor or TAs of the issues with the teammate