Team Agreement - UOA-SE701-Group3-2021/3Lancers GitHub Wiki

Team Agreement

Last revised: 15/03/2021

Team Name: 3lancers

Team Members: Andy Huang, Benjamin Piper, Caelan Murch, Carrie Ng, Daniel Etzinger, Elisa Yansun, Evan Zhou, Felix Yang, Harpreet Singh, Jack Chamberlain, Kyle Hall, Kyle Zhou, Laura Huijser, Mahek Nangia, Oliver Chamberlain, Rawiri Hohepa, Siwei Yang, Yicheng Sun

Communication

Discord will be used for general communication. Facebook Messenger will be used for more urgent communication, and phone calls will be used for urgent communication if a person cannot be reached via Discord or Messenger.

Expected Response Time for each platform:

  • Discord: Target: within 1 hour, Max: 1 day
  • Facebook Messenger: Target: Within 1 hour, Max: 5 hours in normal working days
  • Phone Call: Target: Instant, Max: 2 hours in normal working days.(Evan and Yicheng are currently aboard so Phone Call is unavailable.)

Note that response times can vary for people at work, so they should communicate with their respective sub-teams about these times.

Always remember to record meeting minutes in case some of the group members fail to attend.

Working Together

  • We will aim to assign some tasks to the team during the meeting and the tasks should be completed in a reasonable amount of time.
  • Everyone should have a relatively equal amount of tasks to complete and not have an overwhelming amount to be completed.
  • Anyone can approve pull requests, but if they don’t understand the code they should ask others instead of just approving.
  • We should aim for pull requests to be reviewed within 24 hours by team members.
  • Manage github repositories properly. Each sub-group should not work on the master branch directly. Sub groups should work on sub-branches only.
  • Commit properly. One commit should be for one task only.
  • Always leave enough time for dealing with emergency or unexpected issues.
  • Use understandable variable names, and give proper comments on codes.

Delivering Feedback

  • Strive to deliver nice and constructive feedback when reviewing PRs and in discussions.
  • Do not blame someone, or attack someone’s personality when giving feedback.
  • Except for indicating existing issues, providing suggestions is desired.

Delivering Status Updates

  • Each team member should report his/her progress to the other team members honestly and accurately.
  • Let the team know on Discord or in meetings when you open a new issue or pull request on GitHub.
  • Notify the team as soon as possible if you think you cannot complete a task within the deadline.
  • Let others know if you’re struggling with a task and need help - there is no shame in asking for help
  • If any member has completed his/her tasks in advance, they should try to help other members in the group who are struggling with their tasks.

Conflict Resolution

Any member may privately report conflicts to their group leader, who will discuss the matter with the other group leaders and, if deemed necessary, Kelly Blincoe. If the conflict is related to a group leader, the member may report to another group leader and the matter will be discussed as normal, except without the conflicting leader present. Alternatively, the member may contact Kelly Blincoe directly at [email protected].

Any reporting member will be kept anonymous unless they specify in writing that they wish to be named.

Consequences of not meeting deadlines

  • If the issue deadline has not been met: comment why
  • If the person in question is unresponsive for over 24 hours then the issue is transferred to someone else
  • We have already agreed on communication, so:
    • If they haven’t responded for over 2 days, unassign the person on the issue
    • If someone is not doing well/doing badly then we can talk to them about that
    • If someone is not going to a meeting, they must RSVP and then read the minutes later

Maintaining the Team Agreement

  • We all agree to follow and maintain this agreement.
  • Changes to this agreement can be made if all members agree with the proposed changes.
  • If someone breaches the argument we will hold a team meeting to address the issue, and email the lecturer if the problem continues.

The team agreed to make a copy of the agreement and put it in the Team Google Drive. Since everyone in the team can access the team drive so that each member can maintain it. Also, each team member should constantly revise and review the content of the agreement. If members breach the agreement, they will be educated on the agreement by others. For any subsequent breaches, the team will notify the lecturer for resolution.