Learn About Scrum
After completing this unit, you’ll be able to:
At Salesforce, we use two different workflows: Scrum and Kanban. We touched on these in the previous module, but now we’re going to dive into both project management processes and show you how they’ve made us successful at Salesforce.
As we discussed, the Scrum process is one of the more popular agile frameworks we use at Salesforce. We implemented it in 2006, and it continues to be the go-to framework for 70% of our teams.
Before we walk you through how we use Scrum at Salesforce, let’s have a quick refresher on what it is. Scrum is a workflow where roles, meetings, and deliverables are well-defined, and the process allows teams to continuously test and improve their products and process.
Some Key Traits of Scrum.
- It provides a framework to deliver high-quality value to customers faster.
- Everyone is organized into small, cross-functional teams.
- Teams work in short iterations (we call them sprints).
Scrum has five core values. Let’s have a look at those.
In the last module, we defined the work we do at Salesforce as complex, with many unknowns. In order to deliver valuable outcomes on time, it’s essential we stay focused throughout the process. What does that look like for us?
- Instead of people working independently on different work items, we collaborate on everything we do. Together, our teams complete a task, then move on to the next task.
- We set clear priorities to keep the team focused on the most important items to tackle.
- Every team agrees to a sprint plan. This shared accountability keeps them focused on the outcome, not their individual progress.
- We create a clear vision of the product that informs the team’s daily agenda.
Taking risks is a key ingredient to innovation. And being risky takes courage. When promoting this kind of courage, we ask teams to:
- Be transparent about progress and speak up when they need help.
- Report back when assumptions were wrong, or if they’ve come across mistakes and new learnings.
When we tackle projects as a team, we have more courage to take on new challenges and risks.
Transparency is key to promote collaboration and success. Here are a few ways we maintain openness.
- As we work together as one team, we consistently verbalize how we’re doing, flag obstacles, and voice concerns so they don’t linger.
- Teams can support each other by asking for, and providing each other with help.
- Team members are honest and clear about timing, planning, and obstacles; how they work; and what they’re working on. This prevents any unwanted surprises and last-minute fire drills.
- When teams are open, they admit when they were wrong, and correct their mistakes with the intent to improve moving forward.
When teams commit to a process, they are more in control of the outcomes. Commitment is not defined as the promise to deliver a set scope by a specific milestone. This is how we define commitment.
- Trust: Each team member is invested in the overall success of the team rather than their individual achievements.
- Picking a process like Scrum is a commitment. When it’s a team decision, and everyone understands why they’re using it, the team is more likely to stick to that process.
- If continuous improvement is the goal, then teams are always willing to try new things based on new information or empirical data.
- The team decides together on work items, working agreements, definition of done, and roles. And everyone honors those decisions.
As we work together, sharing both successes and failures, we learn to respect each other and what everyone has to contribute.
- This includes respecting our diverse backgrounds and experiences.
- If we assume everyone has the best intentions, we have more productive conversations and resolve conflicts faster.
- When we embrace all opinions and perspectives and hear all voices, we build more robust products and teams.
In the last module, we learned how the Scrum process allows us to learn enough in real time to correct any potential damage from our risk-taking. This lets us continuously innovate while improving our products and process.
In a nutshell, Scrum drives us to:
- Deliver or demo something every sprint, so that the team can gather feedback frequently about deliverables. (This keeps us constantly innovating!)
- Continuously improve ourselves, the team, and the outcome, every day in every sprint.
- Assemble a competent team and let the team make all decisions.
- Appoint one person to remove the barriers, so that someone is accountable.
- Appoint one person to set work agendas and prioritize projects for teams, so that the team is focused on what is important.
The Scrum roles at Salesforce aren’t job titles, but a list of responsibilities team members take on. Here’s a brief summary of those roles.
The ScrumMaster is like the team mirror. This person keeps everyone accountable to their commitments—and calls them out when they’re not executing. They manage the team’s delivery process, including how to inspect and adapt their process and projects. They do all this while coaching the team to excel.
In addition, they work to build community on the team, helping them grow and trust each other so they can better collaborate together. Consider this person the Scrum Sherpa!
- Remove blockers
- Don’t micromanage
- Steer the team from bad habits and inefficient processes
- Enable the team to become collaborative and high-performing
Historically, ScrumMasters were engineering managers, but that’s changed: In many cases, ScrumMasters are also individual contributors. Being ScrumMaster isn’t a full-time gig at Salesforce, it’s more like an added responsibility, giving everyone the chance to develop new leadership skills.
The Product Owner
The product owner is responsible for the what and why of our process. This person works closely with customers to ensure they’re getting a good return on their Salesforce investment. They do this by prioritizing the product backlog and communicating the highest-value work. They’re also responsible for communicating the vision to internal teams by providing them with a prioritized list of work. We call that list a product backlog.
At Salesforce, the product owner:
- Facilitates communication among stakeholders, team members, and the ScrumMaster.
- Defines, prioritizes, and approves work for the team.
- Works with customers to define desired features.
Just like ScrumMasters, almost anyone at Salesforce can step up to become the product owner—we have managers, technical leads, and product managers serving in that role.
We aim to keep teams small and nimble (hence the word agile!)—between three and nine people. We make sure our teams consist of diverse expertise to deliver projects at the end of every sprint. Diverse expertise means the team has all the right players; they bring projects over the finish line in each sprint. In other words, they don’t have to look to other teams for help.
At Salesforce, teams are:
- Self-organizing and empowered
- Consistently adjusting and updating their process and products based on lessons they’ve learned
- Accountable individually
- Collaborating on commitments for each sprint
The Shared Service Subject Matter Expert (SMEs)
At a large company like Salesforce, we rely on subject matter experts (like technical writers or designers) to help us deliver our products and services. They work for many delivery teams, providing up-to-date information and data to inform our projects.
The Technical Program Manager (TPMs)
Our TPMs work at the leadership level of each cloud (Service, Sales, Marketing, Platform), often dealing with high-level cloud dependency tracking and other logistical issues. Their focus spans programs across all the clouds, which means they get rather busy!
The Functional Manager
In our matrixed organization, our functional managers (for example, an engineering manager) can work on a Scrum team. And when they do, they often act as a ScrumMaster or product owner. Regardless of what role they take on, they’re responsible for all Employee Success personnel and organizational matters.