SoftwareYoga

Articles on Coding and Architecture

What really must a Scrum Master do?

It’s been a decade since we have had Scrum development methodology introduced to us. I like Scrum, it is really the best way to deliver more value in a measurable way. The roles and responsibilities are clear and it gives autonomy to the development team. However, the one role that bothers me is that of the Scrum Master.

Scrum Masters are not developers, so they can’t lead development teams. They are not seen as technical leaders by the development team.

Scrum Masters are not from the business side, so they can’t work with the Product Owners.

Scrum Masters are not managers, so they won’t have any people management responsibilities and hence no power in the decision making process.

So what are they then? What does that leave them to do in a development team?

What most Scrum Masters become?

In my experience as a consultant, I have generally seen two types of Scrum Masters. Most Scrum Masters I have seen start well and then gravitate towards these two types – For some fun, I like to call them as PAAS and SAAS. Let me explain what I mean by that.

Project Manager as a Scrum Master (PAAS):

This is the Scrum Master that literally thinks (s)he is the ‘Master’. They generally work against the team and all the principles that Agile stands for. Some of their tendencies include:

  1. Micromanaging developers. Developing a relationship of manager-subordinate with the developers.
  2. Treating estimates as hard deadlines. The worst I have seen here is that of a Scrum Master micro-managing developers to the degree of 30 min based on estimates and slagging them if they don’t meet it.
  3. Getting things done quickly without consideration for quality. An example of this is to ask a developer to check-in the code just to meet the deadline.
  4. Lead and influence estimates during backlog grooming.
  5. High Sprint velocity is the only goal – nothing else even remotely crosses their mind.

Scrum Master as a Secretary (SAAS):

In this avatar, the person is a glorified secretary. The duties could range from booking a meeting room, sending meeting invites for various scrum ceremonies, updating things on JIRA etc. This type of Scrum Master gets sidelined quickly and will not be able to contribute in any positive way to the team or the company. If there are good leaders within the Scrum team, they generally standup and take care of doing the right things, else the team will fail miserably.

In view of the above, I hope to shed some light on what really a Scrum Master must really do.

What really should a Scrum Master be doing?

The Core duties

Of course, first and foremost, the Scrum Master should be carrying out the Core duties as listed in the official role description on Scrum.org. I will not explain these further as they are pretty clear to most organizations and Scrum Masters, although they are a bit theoretical.

Negotiator

The most critical duty of the Scrum Master is to act as a negotiator on behalf of the team. Some people use the term “servant-leader”, but I am not comfortable to use that term on anyone who isn’t really a leader.

In this role, the Scrum Master should mediate the general conflict of goals between the development team (high code quality) and product owner (more features). However, in most cases, the priority has to be given to higher code quality as long as that decision is prudent.

Identify organizational dysfunction

Scrum Master should be able to identify the dysfunctions in the organization’s way of working that are hampering the development team. For this to happen, the Scrum Master should be a keen observer and preferably one with experience in improving software development process.

The Scrum Master should also be able to reflect on the past sprints and avoid making the same mistakes in the current or the future sprints.

A commonly observed dysfunction is to move developers from one project to another, treating them as easily replaceable resources. The Scrum Master should work with management to see that the transition is as smooth as possible, and avoid it if at all possible.

Helping the team make decisions

There are instances where there are more than one ways to solve a technical problem. Different view points and arguments will be made for each of the solutions. The Scrum Master should bring such discussions to an appropriate positive closure to get the development going. Remember that positive closures cannot always be had. In such cases, the discussions with anyone with the necessary information or authority should be arranged.

Scrum as an Organizational goal

Generally, it is only the development teams that work with the Agile mindset, whilst the rest of the organization continues to work in the old fashioned way. If the upper management do not have Agile mindset, the organization as a whole might only be practicing Agile for namesake.

It is the duty of the Scrum Master to help management and stakeholders understand and enact Scrum and empirical product development. The Scrum Master helps those outside the scrum team to communicate with the team (and visa-versa). The Scrum Master helps everyone change these interactions to maximize the value created by the Scrum Team.

Closing thoughts

In my opinion, Scrum Master is the most useful while forming a new team or if the company is new to Scrum methodologies. Over a period of time, a Scrum Master’s ultimate goal should be to form a stable and self-organizing team.

The next important goal of the Scrum Master is to become useless to the team. The value of Scrum Master to the team should keep on decreasing over a period of time, else it is an indication that it is not a self-organizing team.

I would rather have a Leader instead of a Scrum Master, someone all the developers can look up to. But that’s for another post.