TEAM AGREEMENT
1- Introduction
This document shall act as the team agreement that has been agreed and approved by all team members involved and is to be followed for the duration of the project. Any reference of “Team” or “Team 8” shall refer to every individual of this team.
2 - Communication
2.1 - Method of Communication
The team will use the platforms Discord, Trello and Zoom to communicate with one another. In case of emergencies, mobile phone numbers will be used to communicate.
2.2 - Communication Response Times
Every team member will respond to team messages within an hour time frame for all team messages sent between the hours of 12PM and 11PM.
2.3 - Meetings
Daily virtual stand-up meetings will start at 10PM and last until 11PM as needed using Discord for audio conferencing. All team members will be required to attend every meeting except for unforeseen circumstances such as illness. If a team member has a foreseeable situation that will prevent them from attending a meeting they are required to notify the entire team at least a day in advance. In these situations, the meeting will be rescheduled for the earliest time possible for the entire team or the member will be excused from the meeting. Meetings will discuss completed work, blockers (if any) and next steps for each sprint. Trello will be used to keep track of meeting updates and recaps with each team member contributing as applicable. In addition, the Trello board will be actively monitored by Tony Cao to ensure there are complete meeting highlights that can be referenced in the future. Each team member should come to the meeting prepared with a list of tasks that they have been working on and what the status of each task is.
3 - Project Work
3.1 - Division of Work
Team members will have the ability to choose which tasks they prefer to do. In addition, work will be divided based on the estimated time required and difficulty of the task. In certain cases, team members will be asked to work with an unfamiliar language or environment as well as learning new software independently.
3.2 - Submission of Work
All work should be committed to the team GitHub repository at least twelve hours before the deadline. Each member will be responsible for committing their own work well before the deadline to ensure a code review can take place before merging it into the master branch. All code should be reviewed by at least one other team member before it can be merged into the master branch. All commits should have meaningful commit messages that clearly communicate who made the commit and what has been done.
3.3 - Testing
Every coder is responsible for designing test cases that cover their own “happy path” (easy straightforward inputs) and some “not so happy path” (for instance, edge case inputs) as best as possible. Other team members are also welcome to write additional test cases for existing code, collaborating with the coder responsible if possible.
3.4 - Definition of “Done”
Code will be only classified as “done” if it passes all the test cases created and approved for that particular snippet of code. In addition, the code is reviewed by at least one other team member and is documented so that other team members can understand the code. Also any pull requests are also merged. Lastly, a feature will be classified as “done” when it is verified with the business client that it meets their requirements.
4 - Contingency Planning
4.1 - A Team Member Drops CSCC01H3
If a team member drops CSCC01H3, their work will be distributed as evenly as possible to the remaining team members. In addition, the team member dropping the course must consult with Professor Anya Tafliovich and the team before dropping on ACORN.
4.2 - A Team Member is Unavailable for a Long Period of Time
If a team member believes that they may be unavailable for an extended period of time, they are required to inform the entire team of the situation so that it can be considered when reallocating work to each member. Robert Nichita will be responsible for the redistribution of work in the event in that someone is temporarily or permanently unavailable.
4.3 - A Team Member is Academically Dishonest
If a team member is found to be academically dishonest, they will be immediately reported
to the professor and team TA. All punishments and next steps will be discussed between the team member and the teaching staff.