What Really Makes Scrum Work

While I spent the first twenty years of my career as a software developer, during the last twenty I have been managing, leading, and coaching mostly software development teams. I learned about agile toward the end of the last century and used various agile practices with my teams to try and help them perform better (mostly XP, Scrum, and Kanban). I’ve also spent the last few years focused on training and coaching teams in the use of Scrum, sometimes finding success and other times… not so much.

As I look back on the teams that were successful, it has occurred to me that the common thread may not have been the practice of any particular framework or methodology, but that the successful teams seemed to just work well together. There seems to have been something beyond the process of how they worked.

I currently spend most of my time training individuals and teams in the use of Scrum, and I’ve noticed students are most interested in the mechanics of the Scrum roles, events, and artifacts. They want to learn how to “do” Scrum. They seem less interested in discussing what the Scrum Guide calls the “Scrum Values”. Although, it’s important to note the Scrum Guide states that the “successful use of Scrum depends on people becoming more proficient in living five values”.

These values are commitment, focus, openness, respect, and courage.

COMMITMENT

As defined in the Scrum Guide, the “Scrum Team commits to achieving its goals and to supporting each other”. To me, this means that the Scrum Team members put the needs of the team, or the many, ahead of any selfish personal needs of the few, or the one (to paraphrase Spock from Star Trek). They understand that working together on a Scrum Team is more like being a member of a soccer or basketball team, and less like golf or an individual track event. While you might take pride in being the high scorer on such a team, you won’t be considered great if your team does not win games.

The successful Teams I’ve worked with have been quick to help each other in any way they could and were willing to perform tasks that were not ones they most enjoyed. What counted most was the success of the team. Delivering something valuable to the customer was always the most important goal. Members of less successful teams tended to focus on “their” work and were not interested in working on things outside of their comfort zone.

FOCUS

The Scrum Guide states that the Scrum Team’s “primary focus is on the work of the Sprint to make the best possible progress toward these goals.” The best teams exhibit this trait and are not pulled in several different directions by competing or changing priorities. They internalize the needs of the customer and focus on doing whatever they can to meet these needs.

OPENNESS

In my experience, this is the toughest of the Scrum Values. The Scrum Guides says that the “Scrum Team and its stakeholders are open about the work and the challenges”, but this is easier said than done. In many if not most environments, it’s easier to get along or get ahead by telling people what they want to hear instead of what they need to hear. The best teams I’ve worked with had open and honest relationships with each other and with the customer.

RESPECT

Successful teams recognize that everyone brings their own skills and experiences to the work and don’t tolerate people being disrespectful to others. The Scrum Guide asks team members to “respect each other to be capable, independent people, and are respected as such by the people with whom they work.” In other words, don’t be a jerk.

COURAGE

If teams have an environment of respect and openness, and are committed to the work and each other, it becomes easy to show courage when hard choices must be made. Early in my career, I began putting up a poster in team rooms that stated, “It is better to do the right thing than to do things right.” The teams that got the meaning of this consistently outperformed those that struggled to understand its meaning. As the Scrum Guide states, they had “the courage to do the right thing, to work on tough problems.”

The more I discuss these values with students, the more I realize that these values were the main drivers of success for the high-performing teams that I was a part of. Whether the team was following XP, Scrum, or Kanban, the framework was a less important predictor of their success than the values being lived by the team. So, while I believe that the Scrum framework can be a powerful tool, I agree with the Scrum Guide when it says, “successful use of Scrum depends on people becoming more proficient in living five values.”

As trainers and coaches, we need to help teams create an environment where these values can thrive before worrying too much about the framework or methodology, they are following in completing their work. Teams that follow the Scrum Values become great teams that deliver great solutions for their customers.

Originally posted on 12/15/2021 at Improving.com.

To Scale or Not to Scale: What is the Real Question?

Organizations look to scale their agile teams for any number of reasons. But is scaling the answer? And what exactly is the real question?

Why do you want to scale?

As agile software development is becoming the norm, we get asked a lot about scaling agile teams. Our first question is always “Why do you want to scale?”. Are you looking to have multiple teams working at the same time on loosely related projects (each with its own product backlog), or have multiple teams all working on a single project from a single backlog? What problem are you trying to solve by scaling? Do you believe that you need to scale because you have big projects, or because you have lots of developers that you need to keep busy? Are you hoping to increase your overall velocity by getting more done sooner? Or is it because your organization has announced an “agile transformation” and you’ve been told to “scale” to support that?

For most teams all of these factors are involved in their desire to scale. But is scaling really the answer?

Scaling is hard

Whatever your reason for scaling, our first piece of advice is to do everything you can to AVOID scaling. Creating great agile teams is hard; scaling them is even harder. Scaling magnifies any dysfunctions you have at the team level, so don’t consider scaling until you are really good at independent teams. Issues caused by scaling include:

  1. Cross-team dependencies, which are difficult to track and visualize. Each additional team exponentially increases the number of dependencies between units of work and the communication channels between the members of the teams.
  2. Integration of work becomes more challenging. At some point (at the end of each Sprint in Scrum) you need to integrate all of the work into something that is potentially shippable to the customer.
  3. Brooks’ Law. We’ve known since the seventies that adding people to a late software project makes it later (from The Mythical Man-Month: Essays on Software Engineering, 1975). Adding more teams does not ensure that more work actually gets done.
  4. The J-curve Effect. Any change made to a people-based process will cause productivity to initially decrease (disruption period) as people get used to the change. Hopefully productivity does eventually increase (making the curve look like a ‘j’), but the depth and length of the disruption period is difficult to predict.

What to do instead of scaling

There are several things that you can do to improve velocity and throughput with just a single team. Things to consider before scaling include:

  1. Are you really being Agile? Make sure you are not just DOING agile but are BEING agile by living up to the 12 principles outlined in the Manifesto for Agile Software Development. We see many teams that just go thru the motions of doing Agile and do not get the benefits of truly being Agile.
  2. Have you automated everything you can? Automation is the key to an Agile workflow, and manual processes cannot keep up with the pace of Agile software development.
  3. Is the work properly organized? You can minimize cross-team dependencies by creating feature-based teams that can work with minimum interdependencies.
  4. Be the best team you can possibly be. You may find that you can create enough value without adding new teams.

If you must scale

There are several frameworks and methodologies for scaling Agile teams:

  1. LeSS – Large Scale Scrum
  2. Nexus – Scrum.org
  3. SAFe – Scaled Agile Framework
  4. Others include DAD, Scrum@Scale, and RAGE.

Let’s take a look at the three most popular scaling frameworks.

LeSS (Large Scale Scrum)

LeSS was created by Craig Larman and Bas Vodde based on their experience working with large telecom and finance companies in Europe. Basic LeSS is designed to work with up to eight teams; LeSS Huge is meant for up to a few thousand people working on a single product.

The LeSS framework:

  1. Adds three new events to basic Scrum (Sprint Planning 2, Overall Retrospective, Overall Product Backlog Refinement).
  2. Is based on the following three principles:
    • Teams should be deep and narrow over broad and shallow
    • Requires top-down and bottom up support
    • Uses volunteering to get work done

The advantages of LeSS include:

  • It leverages what you already know about Scrum
  • It’s great for collaborative organizations

What LeSS does not do well includes:

  • It doesn’t address enterprise-level processes
  • There is no project/program management
  • Places lots of pressure on the single Product Owner

Nexus

Nexus was developed by Ken Schwaber (the co-creator of Scrum) and his team at Scrum.org. Basic Nexus is designed to work with 3 – 9 Scrum teams; Nexus+ is their framework for when ten or more teams are working on a single product.

The Nexus framework:

  1. Adds 1 new role (the Nexus Integration Team)
  2. Creates five new events (Nexus Sprint Planning, Nexus Daily Scrum, Nexus Sprint Review, Nexus Sprint Retrospective, Refinement)
  3. Adds three new artifacts (Nexus Sprint Backlog, Nexus Goal, Integrated Increment)

The advantages of Nexus include:

  • It is Scrum scaled by the father of Scrum
  • Nexus works well in collaborative organizations

The disadvantages of Nexus are:

  • It adds a large number of meetings to Scrum
  • As with LeSS it puts a lot of pressure on the single Product Owner

SAFe (Scaled Agile Framework)

SAFe was created by Dean Leffingwell as a scaling methodology for enterprises that require a more prescriptive framework at the program level. SAFe defines four framework levels; Essential SAFe, Large Solution SAFe, Portfolio SAFe and Full SAFe.

The SAFe framework:

  1. Is Scrum at the team level and Kanban at the program level
  2. SAFe is highly structured at the product and program level

The advantages of SAFe include:

  • SAFe works well in control-focused organizations
  • Creates top to bottom visibility into the development process
  • Gives detailed guidance at all levels

Disadvantages of SAFe include:

  • SAFe is very prescriptive and structured; does not encourage experimentation
  • Requires lots of training (or consultants) to implement

Which framework for you?

So you’ve done everything you can to make your single team as productive as possible, but you find that it’s still not enough and you need to scale. Which framework should you choose?

Choose LeSS if:

  • You’re committed to Scrum
  • Desire lots of flexibility
  • Value collaboration over following rules
  • Want your teams to be as agile as possible

Choose Nexus if:

  • You’re committed to Scrum
  • Value a framework created by the father of Scrum

Choose SAFe if:

  • Want a high level of team coordination
  • Desire more control over the process
  • Want formal process and reporting

Scaling is difficult and not for everyone. Start with small changes, inspect the results and adapt. And whichever framework you choose, make sure you have an experienced coach to guide you.