#begin
How many times I have had a discussion or read an article about Agile or SCRUM where the soul responsibility of running a successful project was in the hands of the all powerful Scrum master… This really bugs me, pun intended, and I know I am not alone. This has been a problem in the software community for a while now and I think Scrum masters have gotten a bit of a bad rep. In this blog, I am going to try and explain what a Scrum master is, why we need one on the team (or don’t we?), and what his responsibilities are. I think there still are a lot of misconceptions about why we need a Scrum master. This is also reflected by the amount of scrum master certifications that is given away for attendance of a 2 day class. So let’s jump right in:
What the heck is a SCRUM master?
Well, lets start this with a brief explanation of what the SCRUM master was supposed to be, and what the role has been evolved to.
Original idea and responsibilities
The short answer is; He or she is a coach. They are not managers or trainers. The scrum master (SM) is a member of the team who’s role is to protect the process within the team. The SM will make sure all practices of agile will be followed, even the technical ones (which is a topic of a future blog)! It is the SM’s job to point out to the team when they are diverging from the process and reminding them of the responsibilities they agreed upon when starting the sprint. The SM role rotates from one team member to the next, on an informal schedule or based on need. A team, over time, will no longer require a SM since they all have experience with coaching. This way team will become self managing. Now, sometimes, maybe due to thigh scheduling, a team might decide to appoint a SM just to make sure every process goes as indented.
The SM is not responsible for budget or schedule nor does he/she direct the team or represents the team’s management. The role of the SM is strictly internal to the team. Customers, and not even managers, need to know, or care, who currently holds the role of the SM.
Interestingly, this still matches with the definition displayed on the Agile alliance website[1]. The explanation on scrum.org starts to diverge a little already[2], here they mention the SM’s responsibilities towards the organization as well.
What about the Product owner?
Yeah, I can’t really talk about the SM without mentioning the Product Owner (PO). I will give a brief definition of the PO so we not get the responsibilities of the SM and PO mixed up.
The idea of a PO was essentially to mimic the customer being on the team, it was called the `On-Site Customer` in eXtreme Programming before. Preferably, the PO was the customer, but that might not be practical. The PO is a person, or group of people who understand the customer’s needs perfectly in order to provide accurate and immediate feedback. The PO is accountable for choosing stories, setting priorities, (shorten) the feedback loop, keeping the backlog clean. A major advantage of having a PO is that the PO is a single point of information regarding the customer’s wishes for a project. Now, when you throw the PO the SM and the development team into a room you are guaranteed to get a meaningful meeting. That is the entire point.
Current role and responsibilities
So let’s first have a look at the definitions / responsibilities of a SM on the agile alliance and scrum(.org) web pages:
agilealliance.org
“The scrum master is the team role responsible for ensuring the team lives agile values and principles and follows the processes and practices that the team agreed they would use.”
The responsibilities of this role include:
- Clearing obstacles
- Establishing an environment where the team can be effective
- Addressing team dynamics
- Ensuring a good relationship between the team and product owner as well as others outside the team
- Protecting the team from outside interruptions and distractions.
So the above definition matches the original idea quite nicely. One weird thing to notice here is in the description where it says: “follows the processes and practices that the team agreed they would use.” This is strange since this suggests that you can do Agile, or SCRUM but leave certain practices and principles out. Well, if you choose to do that, you are not practicing Agile or SCRUM… Martin Fowler wrote an interesting blog about this a long time ago where he coined the term `flaccid scrum’ with which he means that the team chooses to do some incomplete form of agile or SCRUM and end up with a big mess very quickly, and yet, blame the process. I encourage you to read it as well.
Scrum.org
“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.”
I think the description from scrum.org is better however they also state the SM’s responsibilities (which I did not copy past here since it’s too many) specifically towards the team, product owner and organization. I think the SM should not have any responsibilities towards the organization since that was not the original idea. However, I can understand that when a SM enters a classic (non-agile) organization you must have someone coordinating/helping the transition to Agile or SCRUM from some other strategy. But still, this is not really the task of the SM.
What does the industry think?
I think the best way to check this is to browse through the unlimited number of open SM vacancies on the web. I am not going to copy paste the specific vacancies I find here, since I do not want to name the companies or recruitment agencies. So if you want to check this yourself, just search for “Scrum master vacancies” in your favorite search engine. However, the fact that there are so many vacancies is already pretty funky since this will be a dedicated SM position, and the role will not be rotating. But, let’s start with what matches the original description, and then let’s discuss the things that don’t.
What does match?
As a Scrum Master, you are excited to introduce Agile work methodology following the Scrum framework.
This is an obvious one and is clearly in line with the original idea. Every member of the team must be excited to work via SCRUM. The Scrum Master (who ever it might be on the team) and product owner in particular, must be 100% convinced of the SCRUM methodology. Without it, the team will fail to meet the promises of Agile.
The Scrum Master is responsible for facilitating daily Scrum, sprint planning, sprint review and retrospective meetings, coach individuals and the team on Agile practices.
The Scrum Master must if need so, remind the team to do the daily standup meeting. Sprint planning, review and retrospective meetings are starting to get a bit in the grey area. This seems a lot like project management duties. The SM should be the one gathering observations, preparing an event (sprint meeting, review, retrospective), coaching and facilitating people during these Events, etc. The SM is not the one planning meetings and making reservations for the conference room. Yet, it states the SM should facilitate these events, which is exactly what he must do. I just wanted to point out that, to my experience, the SM does al this `infrastructure` as well, but he should not.
Coach Product Owners on how to break down work packages into small Stories.
This is clearly correct. The SM is supposed to help the PO breaking down requirements in completable tasks. The SM will be able to make informed choices to help the PO.
Help individuals and your team to clarify goals and actions to achieve them.
So, this is matches with the original idea, sort of. This describes the coaching role but does not specifically state to help achieve goals and actions within an Agile context. The SM must help team members to be in line with SCRUM methodology. If they are not able to, he should coach them to better align them with it. He can help maintain the discipline to follow the correct practices. He should not have to motivate other team members to accomplish goals outside the SCRUM process.
Shield your team from outside distractions and interference.
This one also enters the grey area a bit since I think this is more a project management task than a SM task. Why? Well because the role of SM is supposed to be a rotating role and can unknown for anyone outside the project. The project manager on the other hand is (most often) a dedicated person. He is perfectly capable to `shield the team from outside distractions and interference`. He could however discuss issues with the SM, instead of the entire team or random team members. So in that regard I agree with this.
What does not match?
The points above pretty much match the description on scrum.org. Now lets look at some vacancies that have the responsibilities mixed up. Some of the issues below might seem part of the SM responsibilities, but really, they are not. I will try my best to explain why. Let’s start with an obvious one, which is not from an actual vacancy but more an observation of my own.
Not a single vacancy specifically noted that the SM must also defend and make sure the technical Agile practices are properly followed.
So, I have been reading many SM vacancies. I started to notice that most of them simply copy pasted the set of responsibilities from the scrum.org webpage, and slightly changed the structure of the sentences. This is a problem… Because, scrum.org only addresses the `people’ side of Agile, but not the `technical’ side. The SM must defend the practices of Test Driven Development, Continuous delivery/deployment, refactoring, pair programming and simple design. These a truly integral parts of agile, yet none of the vacancies mention them. I think this is a large part of the problem the software community has with the SM. Because, without the technical practices properly lined up, a SCRUM team can deliver really, really fast, but… they will also make a mess really, really fast. I think not doing the technical practices plays a large role in delivering sub-optimal software in SCRUM projects.
As SM you are responsible for tracking and managing the team’s progress.
This one might seem counter intuitive, but it not the SM’s responsibility to track and manage the team’s progress. He is the one generating the data, but that’s it. He might even look at the data and coach the team to better align them with SCRUM practices (or maybe complement them of course).
As a SM you manage changes to the project scope, time and its budget.
This definitely is a project management task, not a SM task. With SCRUM the project manager would manage the scope, time and budget and discuss this with the PO so he or she can make informed choices with managing the backlog and optimizing value of work. Now, the SM could be coaching the PO and help him with this, but never is the SM accountable for managing project budget, time and scope.
As SM you are responsible for managing team performance including it’s HR tasks.
SM != HR! I think many organisations really think that the SM is a manager with all bells and whistles included. The SM is not responsible for HR related topics outside his team and the context of SCRUM work methodology. He should not be doing performance interviews, job interviews, resolving workplace conflicts, policies and procedures, and training. I know, the person fulfilling the SM role might still do these tasks, but he will not be `wearing his SM hat’ at that time, he will be wearing the `HR hat’ then.
As SM you will be creating project management plans for projects you are assigned to.
Again, a true project management task. Neither the SM or the PO should have to write these plans. As a matter of fact, these plans will describe the SCRUM workflow and maybe appoint a dedicated PO and SM. This means, before the project is even started and the SM (if we are not rotating the role) and PO are chosen these management plans must be finished already. So it makes no sense to include this in the set of responsibilities of a SM or even a PO.
As a SM you do risk analysis and create mitigation strategies.
Risk analysis and creating mitigation strategies have nothing to do with SCRUM. These plans are aught to be ready before the project is starts. Now I can see a situation where the SM might assist the PO and project manager implementing the mitigation strategies if something might go wrong. He might be able to coach the team through a though situation or help the PO prioritizing stories that relate to these risks, yet the SM should not do these analysis.
Certification?
Well, now it starts to get really interesting, because there has been a lot of debate about this. Even among the original signers of the Agile Manifesto there are many opinions about this. The reason for this is, again, the SM was supposed to be a rotating role, so the only way it makes sense to do the certification, is to make every member on the team to get it. SCRUM is a team practice, not individual. The contents of these trainings if often good and worth your time, but it just does not make much sense to send only 1, dedicated person to it that fulfills the SM role over N number of teams.
In this conversation (about 17 minutes in), Kent Beck talks about how scrum certifications `misalign incentives’. Kent says, SCRUM has a business model and you can throw capital at it plus SCRUM (certification) was marketed towards project managers. This did a lot for the popularity of SCRUM but really morphed the coaching aspect of the SM into the manager role we often see today.
Also, further in this particular conversation Kent explains that the certifications do not hold any meaning. His idea of a certification is that the certified can be kept accountable. But have you ever heard auditors form scrum.org or agile alliance showing up on your front door to check whether you are correctly practicing SCRUM? And, if not, you are fined? Additionally, how about a SCRUM project that has completely derailed due to requirements creep and ever growing complexity? Will the SM be kept accountable? No, because first of all, it’s not his responsibility, it’s the PO’s responsibility. Secondly, the PO will probably not kept accountable either, the entire team or company will.
Another big name in software industry, Robert C. Martin aka “Uncle Bob” has serious doubts regarding Scrum certifications. In his Clean Agile book he makes the following statement: “The Agile certifications that exist are a complete joke and an utter absurdity. Do not take the certifications seriously”. He talks about how SCRUM is a team effort and it makes no sense to only certify specific members of the team, everyone on the team should be certified if you take the certifications seriously. Uncle Bob has some interesting conference talks about SCRUM. The one that made the biggest impression to me is “The land that SCRUM forgot”:
In this talk he describes the history of Agile and SCRUM and why many SCRUM projects fail, even when SCRUM was designed in such a way that projects could not fail. I strongly encourage you to watch this talk since I guarantee that it will change your vision about Agile or SCRUM.
My opinion
Well if you have gotten this far into this blog, you might have noticed I have spoiled my opinion a bit already. My opinion strongly resonates with the original ideas regarding the SM. I think certifications are a complete waste of time (if done for the soul purpose of being the dedicated Scrum master of one or multiple teams) and you can achieve the same thing by simply reading a book on Agile or SCRUM. Just motivate yourself, and your team (that’s what a good SM would do) to read the basics of SCRUM practice and rotate the role of the SM each iteration. This way the knowledge spreads the quickest through the team and very soon you do not need a SM in your team. Every member of the team will have some SM experience and start coaching each other and reminding each other to follow the correct practices. This way you truly get a self managing Agile team.
Conclusion
The purpose of this blog was to shed some light on the true meaning of the SCRUM master. I hope made it clear that the scrum master is a coach, not a manager, specifically not a manager. Also, I hope that I struck a nerve with certified SCRUM masters who believe that they are at the center of everything. They probably fulfill the role of project management together with the SM role. Hopefully I inspired you to make sure the SM role is part of the team, rotating among it’s members. If you work at a company where you are, or there are, dedicated scrum masters try to remind them of the SM role and not to get responsibilities mixed up. I think when you separate the project management tasks and responsibilities from the SM you will less of a superior and more of an equal, which makes the coaching experience better.
#end
01010010 01110101 01100010 01100101 01101110
References
[2] Scrum.org – https://www.scrum.org/resources/what-is-a-scrum-master
Trackbacks/Pingbacks