Diversity in our tasks aids the work of the team
I’ve recently been hearing students tell their team members that they want to do something different. They are tired of being the ‘algorithm person’, or the ‘database person’, and only doing those related tasks. They want new challenges.
Balance the work and spread the knowledge
Multiple issues m. On the one hand, it’s not good if team members become bored by the work they are doing. Yes, someone with a bit more specialist skills is useful. No, you don’t want all of the relevant skills in one person.
On the other hand, we want to help team members grow. It’s good for team members to learn new skills and address different challenges. This happens when team members do a variety of tasks. This keeps the work fresh and interesting to everyone.
I know you’re thinking: that means the team is spending too much time bringing people up to speed in different areas, and it would be more efficient if everyone had a specialty, and stuck to that. This is the wrong way to think about this. Efficient is not effective.
Be effective instead of efficient
Improving software development means improving the human-side of the work. Effective development is using pairing, and mobbing, or ensemble work to spread skills and knowledge with others in the team. This means more people can take on various work as it arises. We don’t want to wait for the work to get to the top of queue for the specialist.
Effective is keeping people interested in the work too. This keeps them learning and adding their perspective to the work, and asking questions about the work with the person they’re pairing with as they learn. By explaining their thinking the expert or specialist has the opportunity to rethink the work, and perhaps sometimes realise there is a better way.
Apply this in your classroom
Tell your students about role diversity as a way to keep things fresh for them. Doing the same thing all the time isn’t good for them or their product.
Make your students aware of the options. They should be self-selecting, self-organising the work in their teams in any case. That means the ‘specialists’ should be free to pick different tasks and learn new things.
Remind students to spread knowledge and understanding in the team through pairing and mob, or ensemble work. They should not be working on their own as this tends to reduce the quality of the work, and slow down the feedback too.
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. When you sign up, then I’ll send you a free copy of the collaboration rules as a PDF from the book. You can also follow me on LinkedIn
The ideas above are from my book 101+ Ideas to Improve Team Collaboration, which covers all of these little things that students can do to improve their collaboration.