Learn to Use Lean Principles
After completing this unit, you’ll be able to:
- Explain the lean principles.
- Describe how lean principles influence our agile process.
There came a time on our new agile journey where we needed to create strong cultural values to complement our new way of working. So we took a page from the Lean Software Development practices and embraced the same values.
The Salesforce version of these seven values are:
- Respect People
- Eliminate Waste
- Deliver Fast
- Just-in-Time Decisions
- Optimize the Whole
- Create Knowledge
- Build Quality In
We don’t believe people need to be told how to do their job. We’ve embraced the concept that managers are “servant leaders,” meaning they listen to their teams. We like to hire good people, then let them do their own jobs. If we treat our team members just as a means to get the job done, we are not allowing room for creativity and innovation.
Team success happens when everyone respects each other and works together. When individuals try to excel alone, teams tend to be less successful.
So how does this fit into Salesforce? We believe our Ohana culture is crucial to the success of our customers and our organization. In Hawaiian culture, Ohana represents the idea that families—blood-related or adopted—are bound together, and that family members are responsible for one another.
Don’t you hate working on something that wasn’t ever needed? We hate that, too. That’s why, as a company, we strive to optimize our resources and only work on projects that add the most value to our customers.
Here are a few examples of time-wasting.
- Poorly run meetings
- Work assigned reactively
- Unfinished work
To ensure we aren’t wasting any time, we created a standard definition of ready. It’s just like it sounds: a standard list of things that we consider necessary in order to start on a work item. It’s intended to promote the right conversations before we waste any time working on something only to find out it’s not ready for prime time—or needed at all.
You get the idea. So let’s not waste any more time on this particular topic.
Since we’re a leading company that’s always on the forefront of innovation, we must pivot fast to keep up with changes and remain competitive. Our short sprints mean we’re constantly learning about what works and doesn't work—and moving to make changes accordingly. (We currently work in 2-week sprints on our Technology & Product teams).
We avoid up-front design in favor of delaying crucial decisions until the last responsible moment. This practice helps us better understand customer needs. Of course, that last responsible moment is determined by the teams themselves, depending on the scope of work.
The Salesforce ecosystem is more than the sum of its parts. And in order to maintain trust and high quality for our customers, we have to make sure teams aren’t working in vacuums.
We empower our teams to think big, act small, work collaboratively, fail fast, and learn rapidly.
We want to amplify learning and continuous improvement as much as we can. Our short sprints allow us to build solutions that we can continuously test.
In other words, our short cycles keep us on our toes, always learning, adapting, and innovating. We use this way of working—fast and furious—to build trust with our customers; we’re always incorporating customer feedback into everything we do. We define the value of our products through customer success.
One of the ways we share knowledge at Salesforce is through Chatter. Teams can go to Chatter to share files, documents, and insights. We’ve even incorporated things like code reviewing, paired programming, and brown bag sharing sessions to keep teams in the know.
We also want to make sure that everyone on our team grows by gaining new skills. If everyone on the team has only one expertise, that makes a team less productive. We want to create well-balanced learning environments where everyone has shared knowledge and responsibility.
Trust is one of our core values, which is why we’re always working to create high-quality services and products that build customer success.
To accomplish this, we’ve implemented some technical practices that make all of our products flexible, maintainable, efficient, and responsive. By refactoring (or restructuring the code) as we work, we help keep things simple, clear, and easy.
Another critical part to creating trust with customers: ensuring we have a set of robust and efficient testing processes. Before we shifted to agile, we often failed to finish testing products in time because other tasks came along. It resulted in delays. But now everyone has ownership over quality—it doesn’t fall on one person.
One thing we did was create “hybrid engineers” to do away with quality engineer as a job title within the Technology & Products organization. This new breed of engineer covers the complete coding and testing cycle—no longer having separate people working on different parts of the process.
People often ask, “What is the process at Salesforce?” Well, there is no single process.
Our teams are diverse in the type of work they do, so we don’t mandate one kind of process or practice. Ultimately, each team has to define its own process based on the lean principles and the concept of continuous improvement.
We prefer to let the culture of Ohana and lean inform how teams work, to empower them to do the right thing, with managers supporting them toward a set of common goals.