The Agile methodology introduced new roles and new frameworks into the world of software development. One of those crucial roles is the Scrum Master. As you may already know, the Scrum Master is responsible for helping their team and the entire organization get the most out of the framework.
In software development and other highly technical teams, one of the most hotly debated subjects is whether a Scrum Master should have technical knowledge.
Read on and find out what we think.
Is Scrum Master a technical role?
A Scrum Master is not a technical role per se. According to the Scrum Guide, they are not part of the Development Team that actually does the work on the product (they can be). They coach the Development Team and the Product Owner and help the Team as a whole see as many benefits of Scrum as possible.
Technically speaking, a Scrum Master doesn't have to be familiar with the concept of how developers create software or how they decide how to work on the Product Backlog items that have been pulled into a Sprint.
A Scrum Master manages their environment, thus ensuring that developers have everything they need to get the job done. They also ensure that no one bothers the developers or tells them what to do, i.e. when a Product Owner decides to take over control over the project (It happens).
But doesn't that require technical knowledge? After all, how can someone guide others when they have no clue how they operate or what they do?
Is technical knowledge useful?
Technical knowledge in today's world is always useful no matter if you're a Scrum Master or not. However, as beneficial as it is to be tech-savvy today, in a Scrum Master's role it can be both an advantage and a double-edged sword.
Let's assume a Scrum Master is indeed quite tech-savvy. They can understand the root of any problem that developers might face both technical and otherwise. But, a Scrum Master's job doesn't include them being involved in technical difficulties. That's a Development Team's responsibility. What a Scrum Master is responsible for is resolving issues that have to do with people.
Therefore, a tech know-how Scrum Master may end up being a hindrance when involved in technical issues, whereas even the most technical issues have an underlying problem that has to do with people in most cases, and that's where a Scrum master should focus their attention.
Technical knowledge can backfire
As mentioned before, a Scrum Master with technical knowledge may end up being an impediment rather than useful within a Scrum team. There are various scenarios where technical knowledge can easily backfire.
As an example, a Scrum Master may get involved believing they know better than the Development Team. This is an entirely wrong approach. The entire point of Scrum is to allow the developers to self-organize.
Furthermore, as tempting as it may be to get involved and try to find the best solution, it's not actually a Scrum Master's job to find solutions. In fact, they have to manage the environment and help the developers find a solution to the problem at hand.
On the other hand
While not having technical knowledge may be enough for 95% or 99% of the time, there are situations in which a lack of this knowledge can be an impediment of its own.
For instance, in situations where the Product Owner and the Development Team may have a differing opinion on certain user stories or Product Backlog items, the lack of technical knowledge can prevent the Scrum Master from taking a clear position on the dispute (in those rare occasions where a clear position is a possibility).
Lacking the technical knowledge can also make it harder for a Scrum Master to assist the Product Owner with writing useful, effective User Stories. While this can be remedied with the help of the Development Team, a knowledgeable Scrum Master can save a lot of time.
So, should a Scrum Master have tech knowledge or not?
The answer is both yes and no. In a perfect world with no egos and a spectacularly committed Scrum Team, a Scrum Master wouldn’t have to have technical knowledge 99.99% of the time. And it CAN work in the real world too.
However, for the vast, vast, vast majority of software development Scrum Teams, a Scrum Master with technical knowledge will probably be a better choice, provided he is suitable for this role in other respects.
Let’s put it this way, if you had two people who are absolutely the same in every respect (literally, clones) and only one of them had the technical knowledge, you would choose that one to be your Scrum Master.