note: I made these back in 2017. I am going back in 2020 to update info. These are just guidelines, be sure to ask your academic advisors for concrete advice.
This can be some of the most frustrating type of assignments, but also applies to the real world.
A lot of people classify group-work into leader and followers, with a strong emphasis on followers being bad and leaders being good. I think that thinking of it like that leaves the group-work misrepresented with too many leaders and not enough followers in some cases.
Side Note: If you take CS246 Object Orientation Programming (All Waterloo CS Majors have to take it) make sure to look for a partner early in the course. That way you aren’t throwing your hands to Piazza when finding a partner later in the term. It usually makes the project easier and you know the people, so it holds them a little more accountable.
Major Components of a Team
Leader: Usually someone in charge. Probably the most misunderstood team role in a workplace sense and team scenarios. The leader is not here to boss people around, the leader is there to provide leadership in what the group does. If that means taking charge and deciding what we need to do based on team feedback, make sure to have good team cohesion, which can lead to a more motivated environment. That is very different from calling all the shots.
I like to think that an “absolute” leader is someone who can micromanage in a way that isn’t micromanaging. To explain that more, I want to see a leader that can make group decisions, but also actively involve the entire group. The leader needs to be able to contribute to the team in possibly a gruntwork and non-gruntwork capacity, which makes the role difficult.
Follower: Usually someone who just does the bare minimum. Sometimes you are forced into being a “follower” because other people have self-appointed themselves as the leader. Followers are bare minimum should get the respective work done because that is their one job.
Support: Something I thought of, but should be utilized more within team settings to mediate between leadership and followship. You aren’t necessary in charge of the group, but you can step up to responsibility when needed. The best people are able to support a group to elevate the content rather than taking complete charge and redirecting the group in leadership, or passively waiting in followship.
In some cases you can argue that you should never be a follower, and support is like a follower 2.0, and that is true to an extent. Supporting a team is usually better than having the responsibility hang on the leader, but and you should always strive to be a supporting member of the team. Unfortunately, if the case occurs where the leader is too controlling of the group, you are forced into being passive and being a follower.
An example of this is, if you are doing a coding project in a team and one member codes all of it. They don’t let you code any part of it, and if they let you code a file, they rewrite what you had anyways. This is the context of unwilling follower. You want to contribute to the team, but in every aspect you are blocked from contributing because one team member has taken it upon themselves to be the ruler. (This can occur for various reasons) In this case, you may try to support the team, but in many cases you feel like dead weight.
Paraphrased Approaches to Team Compositions I usually categorize the teams I am part of into four main groups. Each one has strengths and weaknesses and can vary based on the number of people in the group.
Heavy Leadership This is potentially the best results based group, but can also have the worst results based on team conflict. Heavy leadership relies on everyone in the team wanting to be a leader or support in some way. There is no one who is a passive figure in the group. This allows team input and direction to be maximized, but also can lead to conflict in opinions, decisions, and personalities.
Fellowship This is the more laissez faire (French for “let people do as they choose”) where there are a lot of support (and possibly followers) in the group and not as much leadership. This has strengths in working environment and team comfort, but also can lack direction, quality control, and strictness in the group. Because of the lack of direction, it also tends to be the most creative because it values all of the group’s opinions fairly equally. I usually like this because people can bring out new ideas, build off others, and people usually have a good time during the project. The one thing this needs to improve on is structure and consistency.
Balance This is a general group that has the balanced mix of leadership, support, and follower. The qualitative mix is 1-2 leaders, 1-2 support, and 2-4 followers. This has the most even footing for safe structure in the sense of there are fewer people to disagree with. I feel this team composition has the most consistent results, just based off that people know their role in the group. There is usually very little fighting amongst the few top management, and the lower end does the bare minimum and that’s it. It is neither the highest achieving group, nor the lowest, the direction given by the leader is followed, and little diversion is needed.
Heavy Lifting This is the dreaded 1 and 4 group. That means 1 leader who seemingly does the whole project, and 4 (or any other amount) who are followers (by choice or not by choice) This can vary wildly because it all depends on the one person everyone is depending on. If that one person fails, all the people fail, if that one person succeeds, then everyone will succeed. It’s the most unfair for work and effort, but also can happen as a result of egos, leaders not trusting the team, team members slacking off, and/or poor planning.
Teamwork is a frustrating but very important aspect of school and work. It appears in both facets and will probably never disappear. In a lot of technical related field especially cs, teamwork in code is not very prevalent in school, and it is very prevalent in the workforce. (No one writes a whole project by themselves in the real world) Being prepared for the hazards that arise and trying to mediate conflict and work towards success in the project is a valuable skill to have.