If you care, then share, and if you share, then dare for more
The team should care for each other, and take the time to build empathy for each other. This is crucial. Collaboration is built on conversations and cooperation. When it is a team of students, they might not know each other, they might not know how to proceed. We need to teach our students how to do these things too. This too is part of software engineering: knowing how to collaborate with others.
We must teach our students that teams care for each other, share what they know, in order to dare to do more.
Photo by Tim Marshall on Unsplash
Care is the basis for everything
Teams should be taught to empathise with their fellow team members. With empathy one gains an open perspective, and support to help each other achieve personal, as well as team goals. Empathy also helps bring out inclusiveness and diversity too, which again open perspectives within the team.
Have teams start slow
Guide your students to start slow, as mentioned elsewhere, and set up some social activities for teams so that they discuss other things beyond the collaboration. Your goal is to provide space and time for them to discover their common and shared interests, as well as to let them get to know each other more than they currently do.
When they know each other better their have empathy for each other, and see each other as fellow people. Now, instead of saying ‘Bob is late again for the meeting. He’s such a lazy person’, the team can respond with ‘Bob is late again. He’s probably busy stuck at work again, and as he’s not allowed his mobile on the floor, he couldn’t let us know.’
Knowing more about the person means people tend to ascribe systemic reasons to situations, instead of personal attributes. Knowing more about each other helps relieve tension in the team.
Create social space in some sessions
You can make this more likely to happen with your students by providing time for them to meet together, and to also include some sessions in class that have a social side to them. Give them some questions to ask each other. For example, what books do you read? What’s the last good movie you saw? Which board games do you like? Just make the questions open ended, and socially acceptable so they don’t feel embarrassed. I’m sure that you can think of other ones tied to things you want to teach them too.
All of these experiences help the team to become more familiar with each other. While they might not become lifelong friends, they should at least learn to be civil, and professional with each other for the purposes of their collaboration.
Share what you know
The team should share what they know in order to help the team as a whole. They should not be prima donna rockstars, who only care about how the collaboration makes them look. This approach helps no one. The team suffers as a whole, and the star feels the weight of the team on their shoulders, and then stresses out with this.
Team members should share knowledge with the team. This helps the team to grow and accomplish its’ goals. By sharing knowledge, the team also ensures it can progress as more people become aware of issues, ways of working, and other information.
The team can share by talking regularly to each other in planning sessions, during sprints, pairing and mobbing, and many other ways too. All of this helps the team and individuals as people gain, or enhance their skills across diverse areas.
Teams need to learn that hoarding information or knowledge to themselves does not help the team. Teach students that hoarding information holds back the team. Teach them that holding back on knowledge, means they possibly miss potential opportunities. While it might make one person look good later, it will not help the team. It will not help the product they are building, and will probably not help the team mark for the assessment either.
Dare to do more as a team
The team that shares knowledge will grow, and as they do, they will see new opportunities. The team will dare to try new things. This is good. Teach the team to try small experiments to change how they do their work. Maybe the team wants to try new technology, or maybe they want to try a new way of working.
As the team care about each other, they will share ideas and knowledge. This will enable them to see new opportunities both in how they work, and in what their products might be able to achieve too.
This only happens in a trusting space, where people feel they can try new things. They have to know that they are in place where potential failure is acceptable.
Failure in this case means that one part of a prototype, or proposed solutions turns out to not be feasible. Not all experiments give us the result we expect.
Teach your teams to try small experiments, and to learn from those. They should learn that instead of arguing over opinions, they should run a small experiment to find out which of the options does work better. They should learn to generate data to inform assumptions, and test ideas.
This can only happen when the team has trust and feels safe.
Teach your students to care about their team. Teach them to share their knowledge. Teach them to dare to experiment.
This This post is part of a project pulling together my materials and ideas about Teaching Team Collaboration: the Human-Side of Software Development for software development to students. If you’d like to be notified of future posts, then please sign up for more using the adjacent form.