Some cool and scary things are happening in my life. In a few weeks, I will be taking over as the Scrum Master for my Development team. The awesome news is that I’m getting a fancy office with an awesome massage chair! Just kidding, I’m not. But I am going to get more responsibility. I am not only going to continue to lead Automated Testing efforts at my company, I am also going to attempt to help the team become more “Agile”. Without getting into the specifics, all “Agile” means is that the management wants me to assist in creating higher quality software, faster. As a result, generating tons of money for my company. With all of that said, I basically wanted to learn more about being a good leader of a team. I want to improve my Scrum Master skills and in the process help you all do the same. Just in case one of you is ever in the same situation again (if you’re reading this post, I’m betting that you’re the leader type), you can refer to this post to further your knowledge. Hence, becoming an Automation Testing rock star in the process.
Who Is This Scrum Master Individual?
“The ScrumMaster is one of the 3 roles that constitute every Scrum team. The ScrumMaster is responsible for helping everyone understand and embrace the Scrum values, principles and practices. A ScrumMaster provides process leadership, helping the team and the rest of the organization develop their own high-performance, Scrum approach” (Rubin K.S.). Basically, as I stated, I will be acting as the leader to help the team become more efficient and produce higher quality software. I will let you guys know if I’m unsuccessful so that you all can laugh haha.
I created a pretty awesome acronym to be able to remember all of the roles that a ScrumMaster has. Therefore, if you want to be a great scrum master, you need to learn how to LICaPIC haha!
Yes, the ScrumMaster is the coach of the team, but most importantly, the ScrumMaster is a servant leader to the team. Their role is to make sure that the highest priority tasks are being met. The ScrumMaster needs to ask, “So what can I do today to help you and the team be more effective”? Can the ScrumMaster remove any blockers or assist in a process? That’s why I have been going to the gym. In case there is a blocker like 1 of my Developers, I can physically remove him if you know what I mean haha.
The ScrumMaster is responsible for preventing the development team from getting distracted. This will help the team to stay focused and deliver business value every sprint. I will be responsible for intercepting all distractions and helping to guide them in the appropriate direction. If a server is down and one of my team members needs to attend to it, then I will be sure to prioritize this correctly. Most times this issue will be deferred to the next sprint. During Production outages, I will decide how to handle those issues as they come.
The ScrumMaster is also responsible for fostering change. I will be responsible for helping others to understand the importance of the Scrum process. For example, we have a very stubborn developer at work who refuses to do anything that isn’t to his liking. Therefore, I will attempt to convince him how the process is going to help us in the long run to achieve higher quality code. I actually have been gathering data on the number of defects over a sprint to compare past results against the results that I can produce as a ScrumMaster. I’m convinced that we will obliterate those numbers.
As a ScrumMaster, I will need to be able to foster change at all levels of the organization. Right now our Scrum Team is about 5 people and I need to foster change there. Furthermore, I need to foster change at the larger 15 person group level. And so on, moving all the way up the chain to the corporate level. So far I would consider myself to be pretty successful at fostering change. I created 2 new automation testing frameworks for my team. I helped the team to start utilizing my automation testing framework using Selenium WebDriver and C#. Furthermore, I am the first individual in the entire corporate to utilize cloud based cross browser testing using an automation testing framework. Finally, working with another colleague, I am helping to add a new test case management tool to our suite. By having power as the ScrumMaster, I believe that I will further excel at fostering positive change in the organization. One day leading to new Communist regime haha!
The ScrumMaster is responsible for making sure that the team adheres to Scrum methodology and the team’s own specific approaches. ScrumMasters need to help the team improve their process to make it more efficient so that the team can provide higher business values. I am really excited for this role because I believe that I have a lot of ideas to contribute to improving the process.
However, the authority that I have to keep improving the process is not the same authority that a manager has:
1. I will not be able to hire or fire people (I wish I had that power).
2. I will not be responsible for making sure that the work gets done. Rather, I will focus on ensuring that the team is following the process that they set up. Find the weak points and turn those into strengths.
Can an Automation Engineer Be A Good Scrum Master?
From what I read so far, I think that the answer is "depends". The author of Essential Scrum, Rubin states that there may be a conflict of interest in a situation where a development team member is also a ScrumMaster. For example, what if we are close to a release and there are urgent impediments that need to be removed? I will either have to do automation testing, manual testing or remove the impediments for my team. In either case, some velocity will be sacrificed as a result of this conflict. We currently have a Developer as a ScrumMaster and I see this happen over and over. He constantly neglects his ScrumMaster activities for the sake of his development work. It’s great because he is an awesome developer. However, this constant negligence is probably one of the reasons why I will be taking his role.
Rubin recommends that a good ScrumMaster should be solely dedicated to ScrumMaster activities. At some point, after the teams are fairly independent, the ScrumMaster can begin leading 2 teams. The talents of the ScrumMaster should be used to enhance the organization. Basically, Rubin states that the ScrumMaster should be a separate and unique roll to the scrum teams.
I tend to agree with Rubin’s statement based on what I have experienced through my career. I found that a dedicated ScrumMaster is the most effective one. However, I would never turn down a role as a leader. Even if I fail, I will gain valuable experience from a completely different aspect of the business, which is always extremely valuable. But don’t worry, although I am not scared of failure, I know that this is one of the tasks in which I will not fail. I’m reading books and writing blog posts, that can’t be for nothing, right?
My Strategy For Success
So what am I going to do to guarantee success for myself and my team?
Set up a great foundation of Scrum methodologies. I believe that the main issue right now is that we do not really follow Scrum methodologies. We do most things for the sake of doing and not for the actual benefits that could possibly result from our actions. Therefore, I want to refocus my team to make sure that we all start following standard practices. I have no idea whether these practices will be beneficial, but we certainly cannot know the outcome of this test without actually trying it. Hence, I want to try and see what kind of results will be produced from these changes. Some issues that I need to tackle:
1. Improve Sprint Estimations –
a. Problem - our estimation process is really, really poor. We have a future Hitler who states what you should do during the sprint. He gives you tasks – taking all the fun tasks for himself and leaving the boring tasks for everyone else. Furthermore, we don’t actually calculate how large our sprint commitment is.
b. Cause - We basically decide when to start a sprint based on whether it looks full and whether the dictator is satisfied. Most times severely overestimating and causing hectic sprints that result in unfinished tasks and items overflowing into the next sprint.
c. Solution – this will be ameliorated by making sure that the team is actually calculating their commitment. Furthermore, if we strive to actually finish the sprint with some concrete goal, we will know our capacity.
2. Improve Sprint Commitment –
a. Problem - If you look at the chart below, you can see that we have a recurring problem. The issue is that we are constantly biting off more than we can chew (I do the same thing while eating as well haha). The gray bars are committed work and the green bars are completed work. However, I also noticed that our velocity is increasing. Therefore, this tells me that we are simply not finishing our sprints. This is completely true as I am a firsthand witness.
b. Cause - The reason for this is that we do not have a sprint goal. As I stated before, we simply assign work to be done and that’s it, without actually having a concrete deliverable at the end of the sprint. However, the purpose of a sprint is to have a potentially shippable product at the end.
c. Solutions - Therefore, I am going to implement our sprint goal checklist. This is something that must be completed before anything can go to the Production environment. So all the work on this checklist must be accomplished for the sprint to be deemed as completed. If the sprint is not completed by the end of the 2 weeks, then we are failing as a team to accomplish our goals.
There will be many other challenges that I will face along the way. I already know that I will be having issues with the dictator not wanting to comply. But time and pressure will mold him like running water molds stone. With the strategies listed above, we will be successful as a team, and I will be successful as a leader.
Add a Comment