Practical Blog

Knowledge Platform

Practical Blog

Knowledge Platform

Do You need a Scrum Master?

“A good Scrum master can serve a few teams. A great Scrum Master will serve only one”.

rephrasing Michael James


There’s an ongoing debate on whether a team needs a full time Scrum master for the long run or not. Many teams feels that the duties of SM only fills a part of his day, and therefore he can do more than “just be a Scrum Master”.  In some cases the expectation from the SM was to pick up tasks like any team member, in other cases the SM was working with 2 or 3 teams in parallel, and in other teams spread the roles of the SM between various team members (and not having a dedicated person as the SM).  And there are of course many more options.

and honestly speaking, all are valid solutions that can be really effective. What I did learn over the years though, is that no matter how you approach this, you should always keep in mind the following when you decide on how to approach this: 

Every team need to dedicate time and invest effort in deliberate improvement

No team is perfect, that is the underlying assumption. Therefore, every team can and should improve over time. And while at the start it tends to be easy (well, relatively), as time goes by, it will become harder and consume time. When a new team starts its learning journey  the challenges and issues the team faces are usually easy to spot (given the team is not in denial). In fact, in many cases those are the elephants in the room.  As the team learns to deal with those issues, (which will take some time), new things will rise and hold the team back. However they will be harder to spot and deal with. In many cases these problems correlate to some deep underlying organizational behavior which may be really tough to change. To continue to improve, the team will need someone who will actively seek opportunities, think about possible solution, encourage the discussion about them and follow through on the actions the team takes. In the rush of regular work, most teams will neglect this, so they need to find a mechanism to guard the effort and make sure that deliberate improvement will be practiced.

In order to improve you will need to know and understand the team dynamics

In theory improving should be easy. For every issue encountered, you think of a few options that should help. You design some experiments around them, execute those experiments and see how it goes. When this process is repeated enough times, for any given problem, some good solutions will most likely be found. As simple as that sounds, in my experience it’s actually very hard to do. There are so many forces involved in the work of a given team. Carrying even the simplest experiment requires a lot of attention. After all if it was that easy all agile teams would become great. Sadly that is not the case. A team is a complex system (within a bigger complex system- the orgnaization), it is essential to invest time in really understand the context in which the team works. It’s important to know the team members personalities, it’s important to know their strengths and skills, it’s important to be aware of what goes on in the organization, and its important to understand the other forces in play. All of that requires time (and skill) to do. In order to become effective each team will need to invest the time in truly getting to know himself..

To continuously improve a team will require some new skills

Developers, in general, have a specific background and skill set. Naturally, their training is focused  on skills you need to posses in order to build a product: write code, test, design, understand and write requirements and so forth. Understanding process issues, helping people learn and improve, provide feedback, following up on experiments, understanding cause and effects in a complex environment, are only a partial list of the skills needed to nurture a learning inside a team. and that is before we add all the skills you need to have in order to deal with the human factor (the people involved). It’s not that these skills are particularly hard to learn (few of them are), it’s just that most developers don’t have a specific need or inclination to learn them.  So they don’t. To become an effective team you will need to acquire all these.

And, You will need patience

So do we really need a full time dedicated person for this?

Maybe yes and maybe no. Maybe for you it will be more effective to spread this between the various team members. or maybe there’s is this special someone who is really passionate about doing all this. You will need to decide on your own.

No matter what you will decide, I do know that to succeed, you need to intentionally invest time and effort in this. The people doing this, will need to develop some new skills, they will need to understand the team context, and they will need to dedicate a significant chunk of their time for doing all this.

Maybe you should start by letting one person start doing it.