Scrum roles and setup "by the book"
In ideal Scrum world there are 3 roles defined:
- Product Owner - holds the product value, manages product backlog.
- Scrum Master - setting and protecting scrum processes, prevents distractions and resolves impediments.
- Development Team - self-organised team of professionals who do the work of delivering features selected and prioritized for each sprint.
There is no Team or Tech Lead defined, but it exists and lots of companies hire professionals to fulfil this role.
By Scrum role of the Scrum Master is to be a Servant Leader, help the Development Team to setup and improve Scrum processes, resolve impediments and facilitate meetings. But in real life there are some other tasks which Scrum Master might face.
By the book Scrum Master has to have certain skills:
- be knowledgeable - have knowledge about Scrum and improve processes for his team,
- be curios - always be curios how his team is doing, what went wrong, what went well, ask right questions at a right time,
- be patient - always give opportunity to every team member talk and listen each other, do not make false assumptions,
- be collaborative - collaborate with Product Owner and Development Team to deliver Product
- be protective - protect his team from pressure from outside of the team, resolve conflicts, help to improve processes.
- be transparent - have to be transparent with his Team and outside of the Team.
Next to these skills Scrum Master has a role as a Servant Leader in any team. There are different options of a Scrum setup for any team or teams:
- one full-time Scrum Master for one team;
- one full-time Scrum Master, but shared between few teams;
- one of developers takes care of Scrum in his/her free time.
There is definitely a certain benefit of Scrum Master who has only one team and full-time dedicated to this team. It's a best case scenario, especially when team is pretty new to Scrum processes, or current Scrum setup does not work for this team, or team is newly built.
Second option when Scrum Master is shared between two teams can be challenging, as Scrum Master will have to prioritize needs of one team over the other/others.
The third option when one of the development team takes care of Scrum can be very beneficial as this developer knows the team, how everyone works, what can work for the team and what is better to avoid. But alike in two other options where Scrum Master has a full-time job as a Scrum Master, in this option a developer will have to dedicate a lot of time to setup or improve Scrum. One more disadvantage is the way how this part-time position (possibly even unofficial) will be prioritized:
- if developer will take his/her Scrum Master role very serious it might take full working time to research, try, measure and improve Scrum processes in the team;
- if developer will set only basics, then no one else will be there to improve processes in the team and to spend time on research what can help with coming questions, issues and maybe conflicts.
Role of a lead in Scrum
We have already defined main roles in Scrum and responsibilities of a Scrum Master. Let's take a look into possible solutions in different circumstances.
For example a development team has a dedicated Scrum Master and all processes are in place. Sounds good, seems like nothing else to improve. Scrum Master can check the sprint board and resolve impediments to help the team to deliver. Also nice to have regular feedback meetings with a Scrum Master to improve processes if needed. Would be great to have someone in the team to go to if there is any technical question, misunderstanding or any conflict situation. Here comes Team or Tech Lead (will refer to this title as Tech Lead to reflect that it's not managers position, but technical) to help. Technical Servant Leader will help the team with all technical questions.
By Brene Brown:
"Leadership is not about titles or the corner office. It’s about the willingness to step up, put yourself out there, and lean into courage. The world is desperate for braver leaders. It’s time for all of us to step up."
Tech Lead can help the team:
- to resolve technical conflicts
- improve processes and communications in the team
- listen to feedback and improve
- help with technical solutions if needed
- protect team from pressure and more ...
One of good practices I practiced in different teams is weekly or biweekly 1-on-1 feedback sessions with every team member. Of course these feedback sessions should be anonymous and not shared to anyone. It's always useful to get feedback from the team, when it's safe for everyone to talk. When every team member know that everything he/she said will not leave the room, on the contrary will help to improve, it will create psychological safe environment. When there is any misunderstanding or conflict situation between team members, Tech Lead can talk to conflicting parties separately to identify the issue and help to find common understanding.
It's a Team Lead who is building safe environment for the team. When he/she is not willing to show vulnerability, can not be authentic, does not care about personal values of others, does not like to talk and is not curious, then the team he/she leads is tent to reflect these behaviours, while protecting their own values.
Leadership position is not about bossing around, it's about identifying the best potential of team members and improve processes to release this potential, build trust and appreciation culture.