A serious matter of debate has been out there for a while. Mostly in the Agile confines. Whether a Scrum Master should have a technical background or not. This discourse took a new turn after one survey result by Scrum Alliance was out in 2015. It revealed that Scrum Masters were mainly dealing with teams wherein 44% were working in software development and 33% in IT.
This, somehow, led to a mass rethinking of the requisites of a Scrum Master, mainly the technical aspects.
While many are of the opinion that a Scrum Master only needs to facilitate Agile team activities, some emphasize the necessity of a Scrum Master with basic technical knowledge. In fact, a whole new cohort of technically sound Scrum Masters has worked wonders in Agile teams in the recent past.
So while an extensive technical knowledge is not a mandate for a Scrum Master, a familiarity with the project-specific domains is no less than a boon for the SM himself and his/her team.
A Scrum Master can be either technical or non-technical. Let us view the role of a Scrum Master in both the ways.
Scrum Master with technical background
Benefits of a Technical Scrum Master (TSM)
A Scrum Master need not necessarily be technical, but an SM with a technical background is an added advantage. A Scrum Master with a technical background means a Technical Scrum Master (TSM) who plays a crucial role apart from a servant-leader and facilitator. An SM is not a team member, but a team coach. A technical coach plays a key role in successful Agile adoption and in identifying possibilities to implement its usage to maximum effect. A Scrum Master with technical skills can involve in the software development activities successfully by understanding it from a technical perspective.
A technical Scrum Master:
- Is capable of building rapport between the teams and team members
- Knows very well how and when to ask tech-savvy questions and
- Has the acumen to find out if something is not right
It is necessary for a Scrum Master to have basic technical skills in order to communicate with the technical team properly. It can help the Scrum Master develop reliability among other senior management.
Issues with a Technical Scrum Master (TSM)
The main problem with a TSM is that sometimes he/she creates some kind of problems. Working with a Scrum Master who is a technology expert is like working with complex problems that are better left unaffected.
A TSM can affect the Scum team in many ways. He/she may:
- Act as a technical SME (subject matter expert) and try to handle services
- Ask team members some questions on their assessments
- Force the team to adopt and use a particular technology
- Guide the team on how to disintegrate stories into tasks
- Guide the Product Owner on how to evaluate the work
- Try to handle the project that the team is working on
Both the team and the organization should understand what a TSM is doing and when he/she is overrunning the bounds.
Scrum Master with non-technical background
Benefits of a Non-Technical Scrum Master
Q: Should Scrum Master necessarily have a technical background?
A: Definitely not
It is not a demand that a Scrum Master should be technical, but it is essential for an SM to have excellent communication and management skills. The main role of a Scrum Master is to assist the team to follow the processes properly and the team is completely responsible for the enhancement of its technical practices.
A Scrum Master with a lack of technical skills is free from resolving technical problems and delivering technical services while helping the team in finding the communication and collaboration issues and tackling non-technical impediments. A Scrum Master with his/her intelligence would be able to ask thought-provoking and direct questions which would resolve the barriers.
A Scrum Master need not necessarily know the domain details that the team members are working within. This is because, everyone is responsible to do certain work, such as:
- The Product Owner is responsible for having knowledge on what needs to be done
- The development team is responsible for identifying how to execute this in a better way
- The Scrum Master is responsible for enabling them to do what they need to do
Issues with a Non-Technical Scrum Master
Apart from the standard reasons, there are some other reasons for the failure of Scrum Projects. Some of the failures are caused because of a Scrum Master with lack of technical skills. Here is a list of a few reasons:
No follow-up with the team on their understanding of the User Stories
An experienced Technical Scrum Master follows up with the team and helps them execute the task.
Ignores mapping user stories to a single feature
TSM may not be required here, but when the architect is busy with the other technical assessments, that is where a TSM can help to fill the gaps.
Acceptance Criteria given by the Product Owner (PO) is taken up without any discussion
Sometimes we need to examine whether the Product Owner has taken a comprehensive view while considering the acceptance criteria. A TSM can help here to negotiate the acceptance criteria if in case anything needs to be considered additionally.
Unit testing is ignored frequently
A Non-Technical Scrum Master does not understand the importance of unit testing. But a TSM understands its essence and helps the team by arranging a meeting on unit testing.
No particular plans to address the defects
A Technical Scrum Master, sometimes, especially when the team extremely requires time out from the user stories, could update the program on his/her machine, run unit tests, fix the bugs, and finally ask the testing team to check them once.
Final Thoughts: Technical Scrum Master or Non-Technical Scrum Master?
A Scrum Master is not required to understand the code, but coaching new teams requires some amount of technical excellence. Technical skills help the Scrum coach to teach and guide the team properly in understanding the practices well.
A Scrum Master does not need to be technical at all. He/she should understand the fundamental concepts of software development and be clear about the work process of IT projects.
The most essential skill of Scrum Master is to guide the Product Owner and the team on the Scrum Practices and help the team in increasing productivity. It does not entail anything pertaining to technical and coding skills.