Working in Teams¶
Setup¶
-
Get everyone's contact information: name, email, phone, etc. Everyone has a chosen method that they will reply to.
-
Decide on meeting times and frequency. Most needed early on.
-
Choose communications app: slack, teams , hangouts, discord, etc. - Even if you are in same room: URLs, snippets - For informal+off-topic conversations - Use Issues for project-related discussions (github lecture )
-
Discuss what technologies you have used, and which ones you might want to learn about.
-
Discuss how you will make decisions: voting, delegate to a researcher decision-maker, dictatorial (Design boss, Code boss), etc.
-
Discuss what you will do if one of you does not turn in their part by the team-assigned deadline. You will likely need to re-assign the task. If it happens again you might need to fire that person from the team.
Communications¶
Always communicate with each other.
-
Everyone should know what everyone is or will be working on and when they will be done. Also know who needs help.
-
Communicate via GitHub Issues, your chosen "chat" app, etc.
-
You will also communicate via code:
- good variable names
- good code comments
- good commit comments
Meetings¶
Meet weekly, online, in-person, asynchronously in chat, whatever works best for the team.
- Everyone has read the Weekly Report Issue so you know what everyone else has done. Ask questions about other's progress if you need more clarifications.
- Discuss Issues that are still Open (not done). Why? Do we drop it? Break it up into smaller tasks? Assign it to a different person?
- Discuss what else needs to get done for next week. This is the main reason for the meeting.
- Create an Issue for each thing that should get done, assign it to one person in the team. The deadline for getting it done is next week. At the end of the meeting everyone should have at least one Issue assigned to them.
Over time you learn which people can Close Issues. Assign people who have not Closed their Issues to non-critical items: the app will still work even if it is not done.
In most cases, the important thing is you decide and move on: start working. Agree on a decision process and respect that a decision was made.
You will not agree with every decision. That is fine.
You will change your mind about past decisions you made. That is fine. Decisions can be re-visited later on, when you know better, and changed. Products evolve.
They are not doing any work!¶
This is normal. People have other priorities. People fail this class.
You are not responsible for getting others to work. Everyone is responsible for their own work. Your Personal Contribution is worth 100% of your final grade.
IOW, if you contribute nothing, you Fail the class.
If more than 2 weeks passes with no contributions from a teammate you might want to start the firing process. It usually wakes people up.