A common goal for organizations in the technology sector is to deliver increasingly better software products. Some organizations even experience this challenge as a dilemma: what to choose between speed and quality? But is it really a dilemma? Not when you have a Scrum Master.
I’ve lost count of the number of times I’ve encountered managers who say, “Alex, I need my team to deliver faster or we won’t get there.” And my first question is, “Do you have a Scrum Master?” In many cases, the answer I get is “no.” However, the Scrum Master is an asset for two key reasons.
The Scrum Master is the expert on processes and team dynamics. He looks at the team from an external perspective and sees the blind spots. I like to think of him as the equivalent of the mirrors your car is equipped with. It’s possible to drive without mirrors, but between you and me, it’s just risky not seeing the full picture!
A Good Scrum Master Can Find the Gaps in Your Processes
“We need to deliver faster” is probably the phrase I hear most often. I completely understand the objective behind this concern. Organizations invest a lot of money in software development, so it’s legitimate to have high expectations for delivery times.
The first thing to know is that your current enemy is not your velocity, but your predictability. A team that delivers items inconsistently is a symptom of significant deficiencies in their workflow or development activities.
Getting the team to be predictable requires mastery of processes and technical excellence to consistently deliver high-quality, valuable items. This is the solution to ending the velocity vs. quality divide!
I can’t cover all the components that can improve predictability in one blog post (but I’m sharing a few here). However, just know that the more random your task delivery is, the more it hurts your process. Let’s take a look at the chart below.
This graph shows the cycle time of a team over a given period. Cycle time is the time between the start of a task and its completion. In other words, as soon as someone starts the task, we start the clock, and we stop it as soon as it is completed. This concept is interesting because it captures the delay between each step of the cycle. And it’s that delay that’s hurting your process!
Let’s take an example with a fictional team.
Mathieu starts coding on a task and as soon as he is done, he sends it to Sylvain for review. Once reviewed, Sylvain sends it to Pascale for QA (quality assurance) before moving the task to Done. There may be many other steps, but you get the idea.
Between the time Mathieu finishes the code and the time he sends it to Sylvain to review his work, there is a delay. Sylvain is probably focused on another task and won’t review it until the next morning. At this point, the timer is still running. When Sylvain has finished reviewing the task, he sends it to Pascale. Pascale is busy at this point and she already has several tasks in her QA. So she doesn’t do the QA until two days later.
All these delays increase cycle time and are sources of wasted time. In this example, even if Mathieu “coded faster”, we could reduce cycle time, but the impact will be even greater if we improve the workflow within the team to reduce delays.
The Scrum Master’s role is to improve team efficiency. One of the aspects he focuses on is reducing the time between development steps. His goal is to establish practices within the team to foster collaboration. And when people work together, they sometimes face team conflicts. This brings me to my second point!
A Good Scrum Master Will Understand Team Dynamics
To have optimal collaboration within a team, the members must have a certain chemistry. Unfortunately, this is not something you can build after just one sprint.
As long as the team members don’t fully trust each other, there will be no real progress in the team. I am referring to the concept of psychological safety. The Scrum Master must understand the team life cycle and the purpose of doing everything possible to move from cooperation to true collaboration.
Several elements contribute to creating a climate of trust within a team. One of them, which I see regularly, is the importance of transparency in the team. Transparency creates trust, trust creates team alignment and alignment leads to initiative.
Most teams have defined their workflow, but often it only reflects the development team’s part of it. For example, how to move a task that is ready to be developed to Done. However, we also look for transparency much earlier, between the “I have an idea” and “the task is ready to be developed” part. This is called the value stream.
Making the value stream visible is a predictor of better software delivery performance. We could even take this concept a step further by making the roadmap visible along with its workflow, which explains why this functionality is needed and provides value to our customers.
By making the roadmap transparent, the vision for the project is much clearer, collaboration opportunities are increased and alignment within the team is strengthened. The more the team understands and believes in the reason why the features are being created, the more motivation there is. And more initiatives will be implemented as a result. All this leads to the end result: faster and better delivery.
So, Is the Scrum Master Still an Expense?
In my opinion, good Scrum Masters act as coaches within the team. They lead teams to achieve high delivery performance while minimizing the risk of random task delivery.
When development teams seek to improve their velocity, my understanding is that they are actually seeking to achieve high delivery performance. As in any sport, to achieve high performance, it is essential to have someone who has mastered the processes and knows how to optimize task delivery. This is exactly what a Scrum Master does!
Just as it is rare for a field hockey player to reach the national league without a coach, it would be unrealistic to think that we can achieve a high delivery performance in our software development teams without a Scrum Master.
If you have made it this far, I appreciate you taking the time to read this blog post! Please feel free to contact me at awalsh@axify.io if you have any questions or comments!
See you in the community!