Some days ago Ilker and I had a discussion about Scrum Masters. Should they be able to read and/or write code or not. In my opinion it is not necessary for a Scrum Master to have that skill. This article explains why I think so.
Definition Scrum Master
So, what does Scrumguides.org say:
The Scrum Master is responsible for ensuring Scrum is understood and enacted. Scrum Masters do this by ensuring that the Scrum Team adheres to Scrum theory, practices, and rules.
Ok. What does that mean? The Scrum Master is someone who explains Scrum to all his colleagues and tries to improve the process. So if there are questions, the Scrum Master is the right person to answer them.
Tasks of a Scrum Master
In my opinion a Scrum Master is responsible for the following tasks:
- Explaining Scrum to all involved people
- Gathering of metrics
- Helping to remove existing impediments
- Organizing the Scrum meetings
- Tracking progress of improvements defined in a retrospective meeting
- And so on
Programming skills needed?
The mentioned tasks give us a great picture of the necessary expertise of a Scrum Master. In all cases a Scrum Master does not give technical advice. The development team is responsible for all technical questions. If there is help needed, the Scrum Master can organize meetings with other development teams or external experts (see this as an impediment).
Although a Scrum Master needs not to have programming skills they should have a basic understanding of what matters in software development – as everyone in the (software) company.
Is someone without development skills able to know what matters in software development? In my opinion, yes. It isn’t important to know how to solve a specific technical problem but what is really important to create a great product. What are the most important (missing) features of the software? Which need should the software fulfill?
Actually everyone in the company should know this, not only the Scrum Master and the development team. This can (and will) help in all discussions and meetings as everyone knows where to go (this is a problem in so many companies).
Long story short, a Scrum Master does not made decisions. Content decisions are made by the Product Owner and the development team is responsible for all technical decisions.
In my opinion a Scrum Muster needs no software development skills, although it could be a plus. In most cases the advantages are independent of the role as a Scrum Master but they are achieved due to contact between different teams. In my experience Scrum works best if everyone can focus on their role.