ImaginativeThinking.ca


A developers blog

What the Heck, is Scrum Master a Role or a Job?

By: Brad

Hey Brad, I can’t make heads or tails out of this, is being a Scrum Master a role or a job? That is would I get hired as a Scrum Master or as something else that might also perform Scrum Master duties?

ScrumThinkingPig

That’s a good question, in fact I’ve seen others ask the same question on forms recently. Some people on these forms have stated that Scrum Master is a role that can be done in parallel with normal “day job” activities while others state firmly that the Scrum Master is a dedicated person that was hired on to do that role. Me I think like most things the answer is somewhere in between and depend more on what stage of maturity the team and the organization is at (Shu, Ha, Ri).

For starters I’d like to share some of my experiences at being a Scrum Master as a role. I started my Agile/Scrum journey a few years back (I believe its a journey, one that you never quite finish) and at one point I was on a team that felt that Scrum Master was a role which ended up belonging to our team lead. On this team when we said team lead we meant the senior developer or at least the member of the development team who was in charge of branching, cutting releases, going to bug scrubs, miscellaneous paper work, and in general the interface between development and management. Based on that description you can tell why we thought that our team lead was our Scrum Master; however, the team lead is also a full member of the development team expected to fix bugs and write new features. Now we would say things in our planing meetings like “Oh we’ll only count 75% of Brad’s time as he’ll be busy with Scrum Master stuff” and other hand wavy-ness that indicates that we didn’t think that being a Scrum Master could possibly take to much time, and really since the team lead was responsible for all that extra stuff already which sounds like Scrum Master work why wouldn’t that be a reasonable assumption.

Well here’s the thing, for me anyways, the tasks I needed to do as a Scrum Master and the tasks I needed to do as a Team Lead didn’t really overlap all that much. Scrum Masters don’t manage the branching, they don’t deal with CI build issues, they don’t represent the team at Bug Scrubs, they don’t fill out ECOs to cut releases, deal with regulatory or legal requirements, they don’t do miscellaneous paper work like write architecture documents or generate code analysis reports, vet designs or do code reviews. Pretty much the only thing that did overlap is being the interface between the development team and management. So this meant I not only needed to do all my Team Lead extra stuff, be a member of the Development team (even though we count me at 75% if that is even possible) but also do all the things a good Scrum Master should be doing like removing impediments, running planning and demo meetings, coaching the team and management in the ways of Agile, and actively looking for ways to help the team reach higher levels of performance (find impediments before them become impediments and ask the team what to do about them if anything).

The result was that I was wearing three hats; I was doing three distinctly different jobs within the span of a single working day.

ThreeHatPig_500

What I was routinely running into was that I was already down from 100% with all my Team Lead duties that when I did have a stretch of uninterrupted time to work on my tasks for the given sprint I was quickly interrupted by a team member who had an impediment resulting in my dropping everything to put on my Scrum Master hat and assist them (which is the correct thing to do); however,

  • it was unfair to the team and my self as I could never get my task done on time or at a satisfactory level of quality due to not being able to keep my Developer hat on long enough to complete the task.
  • it was unfair to the team as I could not keep my Scrum Master hat on long enough to actively search out ways to help the team improve. I couldn’t just sit there and observe the team interact to see if I could find impediments that the team could not see for themselves as an out side observer because I was also a member of the team working hard to complete committed tasks.
  • it was unfair to me as it was great and all that I’m here to help everyone else with their impediments but what about me? I’m still a member of the development team with impediments of my own but no support to help remove them so I can focus on development work. In fact Scrum Master me is an impediment for Developer me because when I go off to help a team mate I’m no longer working on my tasks (think Evil Superman vs. Clark Kent in Superman III).
  • it was unfair to management because I didn’t have enough time to prepare metrics or reports that interfaced nicely with their non-Agile ways or help educate them in the ways of Agile so they can better interact with the team.
  • it was unfair to me as I was hired as a software developer but was spending more and more of my time doing management activities; I missed my IDE.

At the very least my Scrum Master side and my Developer side were in conflict with each other.

conflict

I mean the Scrum Master is suppose to be a Servant Leader, the very name implies that their sole motivation is to service the needs of the team, but if the Scum Master is a member of the team with all the rights and responsibilities of any other member of the team how are they suppose to service themselves?

For instance one of the things a good Scrum Master should do is facilitate the Sprint Retrospective. That is they are not to inject their own agenda but to allow the team to reflect on its self to identify ways to improve their collective performance. A good Scrum Master should just listen, make sure that everyone gets a chance to speak and that the conversation remains productive. When I was both a member of the Development Team and the Scrum Master I found it hard to facilitate as developer me had issues and options but if I raised them it might have been viewed like Scrum Master me telling the team what to do.

For me I found my self really, unfairly, getting irritated with all the little issues my team was bring to my attention just when I started to make real head way with a stubborn bug and was feeling really down on myself when the sprint came to an end and I was the only one not done their tasks; It wasn’t a one time thing either, pretty much every sprint went the same no matter how many times I was cut down 75%, 60%, 50%, 25%. It wasn’t until we just stopped counting on me spending any time writing code did our sprints start actually completing. At this point I was wearing only two hats (Team Lead and Scrum Master) but I was no longer writing code and well that isn’t what I signed up for; I was hired as a software developer and by golly that is what I want to be doing.

And this was a pattern that repeated itself so it wasn’t just me. On another team I was on where I choose not to be the Scrum Master for the before mentioned reason that I wanted to write code for a living, the team member who stepped up and took on the Scrum Master role ran into the same issues. Between getting the new team up and running with Scrum and promoting Scrum to the other management level members of the organization they had very little time left to write code; they quickly dropped from 50% to 25% to 0%.

So what was it about being a Scrum Master that was taking so much of our time? Well largely it was due to the fact that our team was new to Agile and new to Scrum. Secondly it was one of the first times the development team included QA so we were not just throwing stuff over the wall at them and lastly the PO and the organization as a whole was largely a Waterfall machine that didn’t understand Agility in the slightest. This means that the Scrum Master was trying to be the leader of the band while at the same time Googling Music 101. Things didn’t go smoothly, nor should we have really expected it to; We were all new at this Agile thing only started doing Lean a year and a bit before. There was going to be growing pains and its a Scrum Masters job to deal with said pains and help the team improve.

On the other hand as time went on the team started getting into a groove with Agile and Scrum and the growing pains started to subside. Sure there was still plenty to do with educating everyone on Agile, remember its a journey, and there are always impediments but the burden on the Scrum Master became less and less. Eventually the Scrum Master was finding spare time on their hands wondering what to do. Now this is the point where people start thinking that Scrum Mastery is a role as right now it looks like your paying someone to just sit around. Personally a more experienced Scrum Master probably wouldn’t have been twiddling their thumbs at this point and instead would have spend more time on observation and working on elevating the team to higher levels of performance but like I said we were all fairly new at Scrum so that was the one part of being a Scrum Master none of us knew how to do. What ended up happening is that this Scrum Master took on a second team and between the two teams his day was pretty full.

My personal opinion on whether the Scrum Master position is a role or a job is that it depends on the team and the organization. Making it a role implies that your not hiring a professional Scrum Master but rather someone who knows how to write code and forcing them to take on the responsibilities of something that is really more of a management position. This provides a some what lack luster Scrum Master; I know I wasn’t the greatest at it. It takes special skills and experience to properly identify performance gaps and motivate a team. This should be self evident by the fact that there are people out their who market themselves as Scrum Masters and not as software developers who can also Scrum Master. Secondly by assigning someone who wants to write code as a Scrum Master you may create some resentment because what they really want to do is write code but your forcing them into a management position (without the management pay I’d imagine). The aforementioned Scrum Master and my self both cast off the Scrum Master role for that reason although the aforementioned Scrum Master keeps getting forced back into it which they are not to happy about.

On the other hand if your organization is super Agile and your team is made up of (at least in part by) well experienced Agile developers you might be able to get away with making the Scrum Master a role vs. a job. In my other article What the Heck is a Team Leader? I talk about an utopian idea where a team reaches such a level that no leader or Scrum Master is required because each member of the team is capable of leading and no hierarchy is needed. If your team and organization is at this level then I believe that being a Scrum Master means your fulfilling the role of Scrum Master and that this role can be rotated around the team; anyone can be the Scrum Master at any given time.

TheAgileTeam

Now maybe this looks like a round robin at the start of each sprint so that your not wearing two hats during a sprint and you can focus your energies on one role at a time or maybe the team is so collaborative that if you have to drop everything to be a Scrum Master someone else just picks up your task; maybe your pair programming which means your partner just moves on without you ensuring the task gets completed on time. But I only think this is possible if your team is really at a certain level and that everyone is familiar and comfortable with the skills required to be a good Scrum Master. If your working at a company where Agile is just starting to blossom I think not only does the Scrum Master need to be a job but they need to be someone hired for that job with Scrum Master experience and not a random pick from your development pool. Will your organization have an official Scrum Master job title forever? Maybe and maybe not it all depends on where the team and the organization is on their Agile journey.

So is Scrum Master a job or a role? I believe its a job and one that requires someone with experience and not someone who simply read a bunch of books (kind of like teaching your self to swim via the internet without ever going into the water) but I do believe that over time or given the right environment a team may rely on a dedicated Scrum Master less and less until it becomes a role or even simply an activity that any member of the team can perform.

Until next time think imaginatively and design creatively

Brad

My interest in computer programming started back in high school and Software Development has remained a hobby of mine ever since. I graduated as a Computer Engineering Technologist and have been working as a Software Developer for many years. I believe that software is crafted; understanding that how it is done is as important as getting it done. I enjoy the aesthetics in crafting elegant solutions to complex problems and revel in the knowledge that my code is maintainable and thus, will have longevity. I hold the designation Certified Technician (C.Tech.) with the Ontario Association of Computer Engineering Technicians and Technologists (OACETT), have been certified as a Professional Scrum Master level 1 (PSM I) and as a Professional Scrum Developer level 1 (PSD I) by Scrum.org as well as designated as an Officially Certified Qt Developer by the Qt Company. For more on my story check out the about page here

Feel free to write a reply or comment.

  • You’ve raised some interesting insights and I think you are right in the fact that are stages of agility in an organisation that take different levels of focus as the organisation moves in it’s agile journey. You’ve quite rightly identified that Scrum has nothing to say about technical processes around software development. Scrum is purely about managing delivery/progress, typically in a project. That’s why almost all software development organisations/departments use Scrum with XP practices.

    I would still stand by my blog (referenced in this article – thanks) that Scrum Master is a role not a job. However, you’ve identified what is typically called an Agile Coach as the missing piece in an organisations journey towards Agility. I believe it’s an Agile Coaches role to educate and train the development community and, more importantly, other roles in the organisation such as IT management, marketing, senior managers that Agility involves reshaping the way your organisation thinks about, not just software development, but how they do business.

    An Agile Coach is a role that starts full time and tapers off over many months as the organisation reforms around agile principles. That means it lends itself best to a consultant. I also believe the journey to ‘agility’ is never finished and an occasional ‘top up’ from a consultant is required to ensure the organisation continuous to ‘inspect and adapt’.