In the tenth episode of my blog series on “20 Controversial Topics of Debate in Agile“, I tackle the tough question of whether a Scrum Master can also be a Developer on an Agile Scrum Team. I have been in this uncomfortable position before, and I’ll be totally honest – it’s wasn’t fun, and I wouldn’t recommend it. But…
Join me in assessing the reasons why or why not your Scrum Master could also be a Developer on your team.
Why not to have a Scrum Master as a Developer
Scrum takes its name from the game of Rugby. A Scrum Master is the coach and leader of a Scrum Team. So, why wouldn’t you want to have your Scrum Master also be a Developer on your Agile team?
It introduces the possibility of competing priorities
Imagine playing tug-of-war with yourself. On one hand, you have items in the Sprint Backlog that you are responsible for completing, and on the other hand, you have team members who need coaching in Agile. So, which comes first?
When playing a dual role, you must understand the priorities. If you are both a Scrum Master and a Developer, I believe that your Scrum Master duties should always come first. You serve the team before you act as an individual on the team.
Context switching between roles reduces effectiveness and productivity
If you are playing both Scrum Master and a Developer on a Scrum Team, your effectiveness and productivity in both roles will be reduced. Every time you start one task, stop, and pick up something else, you lose time. This is called context switching, and it takes a huge hit on your ability to get things done.
Whenever possible, if you are in this position, you should be very conscious about how you spend your time. You may literally need to take one hat off and put the other hat on, so you know what your focus is. I would also suggest that you call out which hat you are wearing when communicating with your team, so they will know where you are coming from.
[Want a first-hand account of someone doing both roles? Check out this blog from someone who played both roles.]
It’s harder to conduct retrospectives wearing both hats
As the Scrum Master, you might be responsible for facilitating the Scrum Team’s Retrospective. But if you are a Developer on the team, how do you both facilitate and participate? It’s not exactly easy.
From which perspective should you come from when providing input to the process? As Scrum Master, you may be disappointed that you didn’t meet your commitment and Sprint Goal, but as a Developer, you will understand what challenges got in your way that prevented the Team from achieving their goal.
If you do wear both hats, you will need to provide feedback from both positions, which can be hard. Just try to be conscious of which accountability you are playing when you provide your input at the Sprint Retrospective.
Why it could work with a Scrum Master as a Developer, too
Now, let’s look at the flip side of this debate.
If resources are limited, it may sometimes be necessary
Let’s face it, not everyone works at a large enterprise-sized project that can afford to have separate people in all the Scrum roles. In smaller companies, there may be no choice but to have one person play both Scrum Master and Developer on a Scrum Team.
Scrum Master may not always be a full-time position
As Scrum Teams mature and become more and more high-performing, there will naturally be less for the Scrum Master to do. I always think of being a Scrum Master like being a parent – my job is [almost] to work myself out of a job. When the kids go off to college, or in this case, just don’t need you much anymore, your time could be leveraged as a Developer if you have the necessary skills.
Could rotate team members in this role to give them experience doing it
If anyone on the Scrum Team wants to try out being a Scrum Master, you could let everyone interested take turns in the role – rotating each Sprint. This helps the team become more aware of what a Scrum Master does, and the team can better fill in when or if the Scrum Master is away. It may also pave the way for a Developer to become a Scrum Master.
What do you think?
So, there you have it. It’s not a “better” practice to have one person be both Scrum Master and Developer, but there are some situations when it might make sense. Have you ever played a dual role on an Agile team? How did it go? Drop me a note and let me know!
Next up in this blog series:
- Can you use a Sprint 0 in Agile?
- Do you need Documentation in Agile?
- Is there a “right” way to write User Stories?
- What’s the best way to write Acceptance Criteria?
- How long should your Agile sprints be?
- Should all your Agile teams be run the “same” way?
- Which “flavor” of Agile is best?
- Can Agile co-exist with Waterfall?
- Story Size – What’s an Epic, Theme, Feature…?
- Can the Scrum Master be a team member, too?
- Can distributed Agile teams work?
- How should you estimate in Scrum & Agile?
- Is it OK to add items to the current Sprint?
- How should you manage your Agile backlog?
- Can an Agile team have more than one Product?
- What is the optimal size for Agile teams?
- Should Agile teams stay together?
- How should you handle defects in Agile?
- Can a hybrid of Waterfall and Agile succeed?
- What are the official roles on an Agile Team?