Are Technical Skills Required to be a Scrum Master?
As part of the Scrum.org webinar “Ask a Professional Scrum Trainer - Martin Hinshelwood - Answering Your Most Pressing Scrum Questions” I was asked a number of questions. Since not only was I on the spot and live, I thought that I should answer each question that was asked again here, as well as those questions I did not get to.
In case you missed it, here is the recording of yesterday's Ask a Professional Scrum Trainer webinar with Martin Hinshelwood! Watch here: http://ow.ly/ijiM50vwEkD
[Question] Are technical skills required to be a Scrum Master?
As per the Scrum Guide, there are no requirement for a Scrum Master to have technical skills.
The Scrum Master is responsible for promoting and supporting Scrum as defined in the Scrum Guide. Scrum Masters do this by helping everyone understand Scrum theory, practices, rules, and values.
The Scrum Master is a servant-leader for the Scrum Team. The Scrum Master helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t. The Scrum Master helps everyone change these interactions to maximize the value created by the Scrum Team.
When I discuss the Scrum Master in class and with customers I talk about them as being someone that can be a Teacher, Mentor, Coach, & Facilitator for your Scrum Team. So let's ask a question: If you were the Scrum Master for a Scrum Team building some financial software for a bank, how would you expect to guide and mentor the Product Owner without some understanding of what their challenges are? Oh, you can coach them, one does not need expert knowledge of the problem to coach a subject. The Product Owner is the one that knows the answer, the Scrum Master just needs to facilitate their own discovery. That is only part of the Scrum Master role, I also need to teach & mentor the Product Owner to become better at realising value; for that, I need to have an understanding of the context within which they operate.
I think that while you can be a non-technical Scrum Master, you can be a better Scrum Master with more knowledge of the context for each of the roles; you need more than technical skills! In order to be an awesome Scrum Master you are going to need 3 main masteries that you can leverage to help each of the roles, as well as the wider organisation:
- Technical Mastery – While I would not expect a Scrum Master to have to be able to do everything that the Engineering team members can, they need to understand what the mastery of that profession looks like as well as the context within which the engineering team are practising. For example, they should be able to tell if TDD is appropriate for this team, what does it look like, and if so, are they doing it well. There are a wide range of engineering practices that I would expect a Scrum Master to guide the team towards which include, but is not limited to: Pair programming, (A)TDD, Refactoring, UI testing, Functional testing, Continuous Integration (unit, deployment, build, integration, regression, … tests), Performance testing. How would they change their approach if the technical team was at Boeing, or if it was a call centre line-of-business app?
Scrum Master Service to the Development Team
The Scrum Master serves the Development Team in several ways, including:
- Coaching the Development Team in self-organization and cross-functionality;
- Helping the Development Team to create high-value products;
- Removing impediments to the Development Team’s progress;
- Facilitating Scrum events as requested or needed; and,
- Coaching the Development Team in organizational environments in which Scrum is not yet fully adopted and understood.
Without technical mastery, I think it would be very difficult to help the development team build high-value products.
- Business Mastery – The Scrum Team, and especially the Product Owner need to understand the business, and how they can optimise the product they are delivering to best support it. Does everyone understand the product qualities that are required within their context? Do you have Quality code base (clean, readable, naming conventions), Valuable functionality only, Architectural conventions respected, According to design/style guide, According to usability standards, Documented, Service levels guaranteed (uptime, performance, response time)? How would you help the Scrum Team get better at meeting the business goals without a keen understanding of what those are?
Scrum Master Service to the Product Owner
The Scrum Master serves the Product Owner in several ways, including:
- Ensuring that goals, scope, and product domain are understood by everyone on the Scrum Team as well as possible;
- Finding techniques for effective Product Backlog management;
- Helping the Scrum Team understand the need for clear and concise Product Backlog items;
- Understanding product planning in an empirical environment;
- Ensuring the Product Owner knows how to arrange the Product Backlog to maximize value;
- Understanding and practicing agility; and,
- Facilitating Scrum events as requested or needed.
Without business mastery how could the Scrum Master ensure that the backlog maximizes value; without the context of the business how can they ensure that everyone understands the goals, scope, and domain?
- Organisational Transformational Mastery – Have you ever tried to change an organization without really understanding the structure, people, and history that led to the current culture and organisation? This is why so many organisational transformations fail. If the Scrum Master really understands the organisation, the people, and the key players that need to come together to effect real change then they can make a difference. Without that knowledge, they have little hope of success.
Scrum Master Service to the Organization
The Scrum Master serves the organization in several ways, including:
- Leading and coaching the organization in its Scrum adoption;
- Planning Scrum implementations within the organization;
- Helping employees and stakeholders understand and enact Scrum and empirical product development;
- Causing change that increases the productivity of the Scrum Team; and,
- Working with other Scrum Masters to increase the effectiveness of the application of Scrum in the organization.
Without organisational transformational mastery, and the context of the organisation there is very little likelihood of real lasting change.
These masteries for me mean that a Scrum Master needs to be fully familiar with the Technical, Business, and Organisational context within which they are operating and how and when to encourage the Scrum Team to particular practices based on the Scrum Teams and the Organisational maturity.
Does it sound to you as if the Scrum Master can be awesome if they don’t have technical, business, and organisational change skills?
While there are no right answers there are some answers that are better than others. For your given situation select the most right answer and iteration to the best version of it.