B Group Work
Group work is a large component of this course. As software developers or researchers, you will have to work in groups and it is important that you learn how best to navigate the challenges of working in groups.
It is important to be self-aware when working in a group: are you not taking responsibility for your duties? are you dominating discussions? are you forcing your view on how the work should be divided without considering your team members’ wishes? These two videos explore some of the main challenges with group interactions and etiquette.
B.1 Team Contract
To eliminate some of these problems, make sure you discuss ahead of forming a group what are your expectations, your strengths and your weaknesses. It might help to form a team contract. If a member breaks the contract, you can collectively use the contract to discuss a fair consequence for the offending member as well. Here are few questions taken from MIT’s CS-179 team contract to help you put together your own group work contract. You can also download a pdf contract template to jot down your thoughts as you discuss your group work expectations.
- What do you want to get out of working on this project?
- What is your team name?
- How are you going to communicate when not in person? (phone? SMS? email? FB?)
- What are your expectations regarding the timeliness of responses?
- When and where will you meet? (All assignments will require some work that needs to be done together. Things will vary from week to week, but in general, when and where do you expect to meet?)
- What should team members do prior to the team meeting? (In general, what do you expect team members to do prior to the first team meeting for each assignment? Read the assignment? Prepare initial ideas?)
- How are you going to structure your work? (Do you expect to do most of the work together or alone? What process will you use to assign the responsibilities?)
- How will the assignments get submitted? (Will you work on the final write up together, or will individuals take that responsibility each week? Can that individual just submit the work when they are done, or do you expect all members of the team to have a chance to vet it and edit it before it gets submitted? If the latter, when should the write up be ready for everyone to see?)
- How will you deal with surprises? (You may run into situations where an individual discovers that they have a hard time delivering on something they promised to do either because it proved harder than expected or because of an unexpected life event. What should the individual do in such situations? How will the team respond?)
- How will you manage turn-taking? (On many teams, there are people who start speaking half a second before the previous person finished, and there are some who need five seconds of silence before they are comfortable contributing. Is that true of your team? How will you ensure that all people contribute to the conversations?) * How will you handle conflict? (If any member on the team feels that something is not going right on the team, how should they signal it? How will the team respond?)
- Anything else you think will be important for your team.