Project 2: Team Process¶
Learning Goals¶
- Make initial decisions on a team process, and reflect on your experience with the process
- Practice version control and development best practices within the context of a group assignment
Project Context¶
You have just been assigned to a team to work on a project for your partner organization. Now, you need to come together to discuss one another's backgrounds and skills, negotiate your team norms, and write up a team contract. These include communication standards, time expectations, division of labor, a definition of equitable contribution, and procedures for managing conflicts within the team.
Team Setup¶
Slack Channel¶
On the 05-499/899 Slack workspace, create a new private Slack channel that includes all your team members and all of the instructors (Patrick Carrington, Andrew Begel, Qiaoqiao Ma, and Kristen Scotti).
Use this Slack channel to collectively decide on a team name. Your team name should be unique, pronounceable, short, and something you would be proud to shout in your team cheer on the streets of Pittsburgh in the presence of small, impressionable, multilingual children. Once you have a team name, rename your team Slack channel to #team-<teamname>
.
You can use this Slack channel for subsequent project-team related discussions or specialized Q&A with your instructors for the rest of the semester.
Each team will be advised by one of the two TAs, Qiaoqiao or Kristen. After your team is formed, they will tell you which one will be assigned to be your advisor.
Project Deliverables Repositories¶
As you work on your project, you will generate a set of deliverables. You must store these deliverables in appropriate repositories.
- Specifications and other written documents must be stored in a Google Drive folder. Create a new Google Drive folder, invite the other team members to it, and be sure to provide view access to all of the course instructors.
- Designs and presentations may be developed in a variety of tools, but often in Canva, Figma, Google Slides, or PowerPoint. For anything stored in the cloud, be sure to provide view access to all of the course instructors in addition to your teammates.
- Software code must be stored in a GitHub repository to ensure that it can be versioned and never lost. You should use this repository for all of your developed code. Be sure to use good development practices, including keeping your commits cohesive and your commit messages informative. You must give access to all of the course instructors through their GitHub usernames (abegel, justpac, kristenscotti, qqmmm).
- Project management must be done with professional tools like Asana, Trello, Basecamp, Jira, Smartsheet, GitHub Issues, or another tool of your choice. You should create items for feature improvements and bug fixes. You should assign these items to particular team members and tag them with appropriate labels. When making changes to your code repository, you must reference the project management issue you are working on. Be sure that you invite the course instructors to your project management tool.
Main Deliverable¶
Teamwork Contract¶
When working with a team, it is important to discuss each team member’s background, and establish common expectations of the team. Miscommunication or the general lack of communication are the most common causes of team conflict.
Team Conflict Example
A common conflict in working style is when there are team members who always want to get a headstart on their work, while there are team members who are fine with doing work a few days before the deadline. It causes panic in the former team members, while the latter team members feel frustrated as to why they are being rushed.
As such, your first process task of the semester will be creating a teamwork contract with your teammates. It is a 1 - 2 page document containing information that all teammates agree to follow. You should work on the contract with all members present. We recommend that you keep it to around 1 page, 2 pages is a hard limit.
Additionally, it is more important that you only include statements that the team will adhere to than it is to fulfill the length requirement (quality over quantity!) You do not need to write full sentences (bullet points are okay), but your decisions must be clearly conveyed in the document.
You are free to include anything that your team deems necessary, but you should minimally address the following sections:
-
Expectations
How much time is each team member expected to be putting into working on projects? Punctuality? How would your team accommodate when unexpected commitments come up for a team member (e.g. interviews, sickness, competitions)?
Do account for the fact that project load can get heavier towards the end of the semester.
-
Communication
What platform (s) will your team be using to communicate? What is the expected time to get a response?
For any communication platforms you decide on, please test that everyone can receive notifications. We highly recommend using apps (Slack, Discord) over browser-based sites. -
Meeting Schedule
When and how will your team meet? What modality would it be?
A strong recommendation would be to set up a recurring 1hr meeting blocked out for the rest of the semester, so that your team does not have to scramble to find a common meeting time each week. Teams that have recurring meetings are generally more successful in the class. -
Responsibilities
How will you divide responsibilities for each project? During meetings, who will be in charge of note taking, organizing & running those meetings?
Often, a natural project manager will emerge, who will ensure the project moves towards completion. Throughout the semester, we will ask for documentation of your meeting notes, so be sure to keep them organized (we recommend using a shared Drive folder). -
Equitable Contribution & Conflict Resolution
What are the steps the team would take to address teammates who are contributing too little, and when will the team bring this up to the instructors? What are the steps to bring up and discuss potential teamwork issues?
The first thing the staff will ask the student when they mention that they are facing team issues is if they have followed the steps on their team contract.
How will you continue to work in the case of an irresolvable conflict between team members? The partner organization does not care if you like one another. They want to see results. Write down a set of practices you will follow to enable team members in a fight to continue to contribute without interfering with the functioning of the rest of the team.
Feel free to seek the assistance of TAs and instructors in drafting this document.
Note
We will ask you to reference, reflect upon, and refine this document throughout this semester, and we will evaluate your team's process strategies and interactions through what you outline in this contract. Please ensure that everyone on your team thoroughly discusses each of the above sections and agree with the final decisions.
Once you have completed the contract itself, have all members sign and date the document as an indicator that all members have read the document and agreed to uphold all outlined items. Then, save the file as a PDF and upload it to Gradescope. Only one team member needs to make the submission; they can then add the rest of the teammates as group members for a group submission.
We also highly recommend that you bookmark the teamwork contract in your team’s Slack channel.
Deliverables and Deadlines¶
This is a group assignment with one (1) deliverable. This is worth 5% of your project grade.
- Teamwork Contract - 42 points - due Friday, October 11, 11:59pm
To receive full credit for the teamwork contract, we expect:
- All sections listed above are addressed in a roughly 1-2 page PDF document submitted to Gradescope
- Document demonstrates a clear process outline that was discussed between and agreed upon by the teammates
- All group members’ signatures at the end of the document