Chapter 5
IN THIS CHAPTER
Getting up to speed on the LeSS and LeSS Huge frameworks
Descaling your organization with LeSS principles and practices
Meeting the product owner, Scrum Master, and other key players
Transforming your organization to enterprise agility with LeSS
Steering clear of common adoption pitfalls
To understand Large-Scale Scrum (LeSS), you first need to know Scrum basics. According to the LeSS Company, which manages the LeSS framework (http://less.works
), “Scrum is an empirical-process control development framework in which a cross-functional, self-managing team develops a product in an iterative incremental manner.” (Empirical in this context means that decisions are based less on up-front planning and more on experimentation and measuring outcomes. Cross-functional means a team contains all the people with all the knowledge and skills to create a product. See Chapter 1 for more about Scrum.)
LeSS is Scrum principles and practices applied to many teams working together to develop a single product. More important, perhaps, is what LeSS isn’t. It’s not a large Scrum team under the direction and supervision of a bunch of new managers.
In this chapter, I introduce you to LeSS in principle and in practice. I bring you up to speed on the LeSS framework and offer guidance on how (and how not to) implement LeSS. I also describe the framework in detail so that you can determine whether LeSS is the right framework for your organization and, if you decide it is, begin to envision your organization on LeSS and start taking the steps necessary to transform your organization into a LeSS enterprise.
At first glance, the LeSS framework graphic (see Figure 5-1) makes LeSS look a lot more fun than other agile frameworks. It almost looks like a theme park map. People appear to be standing in line at concessions booths. Some are juggling. Two people are even riding a teeter-totter! You can almost smell the popcorn.
On closer examination, you begin to see the LeSS product development process in action surrounded by a half-dozen key concepts. In this section, I take you on a tour of the LeSS framework graphic.
LeSS is based on the premise that Scrum is all an organization needs for individual teams to deliver quality products fast. However, it recognizes that some large enterprises don’t have a culture or ability to deliver products with only one or two small teams. For them, LeSS is a good compromise because it creates a balance between concrete practices and the ability to inspect and adapt.
Smack dab in the middle of Figure 5-1 is the LeSS product development process, which begins on the left and continues indefinitely off to the right with three-dimensional structures shaped like arrows to point the way. Product development comprises a never-ending series of sprints, so although the process appears linear, it’s actually circular and continuous. Imagine curling this page over so that the “Next Sprint” overlaps the “Previous Sprint,” and you’ll see what I mean. As soon as the Scrum teams complete a sprint, they start another sprint in a continual process that improves product value.
However, each sprint is linear with a clear starting and ending point. It begins with a product owner and product backlog and ends with a potentially shippable product increment. Here, I lead you through the process from beginning to end.
On the left side of the LeSS product development process in Figure 5-1 is the product owner and product backlog. The product owner selects features from the backlog and engages in a two-stage sprint-planning process:
In other words, Sprint Planning 1 is about what to do, and Sprint Planning 2 is about how to do it.
One of the objectives of sprint planning is to develop a sprint backlog for the various Scrum teams. In Figure 5-1, the sprint backlog is depicted as the Jumbotron that all the team members are looking at. Each team draws items from its backlog and then works to complete those items in time allotted for the sprint.
Over the course of a sprint, Scrum teams pull one or more items from the product backlog and work on completing them over the sprint. To complete their tasks, Scrum teams must collaborate with:
Note in Figure 5-1 that the teams are divided into three lanes with a product owner who spans all three lanes. The product owner is about as close to top-level management as you will get in LeSS, and it’s really not management at all. The product owner simply organizes the work to help the teams complete their sprints.
You may notice in Figure 5-1 that the three teams have only two Scrum Masters (designated by “SM” in the figure). One Scrum Master works with the two teams in the bottom two lanes. The other has her own team in the top lane. This shows that unlike team Scrum, LeSS permits different teams to share Scrum Masters.
The double-headed arrows that cross the lanes dividing the teams represent the coordination required among teams to develop a single, unified potentially shippable product increment that’s ready for shipment.
The dialogue bubbles in the graphic represent Daily Scrums. Every day, each team meets (without managers or a Scrum Master) to answer the following three questions:
Teams may meet together during Daily Scrums to spend some time coordinating their work.
Teams are required to spend some time during their sprint (less than ten percent) to refine the product backlog for future sprints. Refinement (depicted by magnifying glasses in the graphic) may include one or more of the following:
Note that the teams in the top two lanes share a backlog refinement meeting. While in the bottom lane the team has its own meeting. (See Chapter 6 for details.)
At the end of the sprint, various groups meet to discuss the outcome of the sprint and ways to improve the product and process:
See the later section, “Learning from achievements and mistakes: Continuous improvement” for details on how to conduct these three meetings.
Every sprint ends with a potentially shippable product increment. Prior to that, during the sprint, the teams must collaborate to integrate their work and produce a whole product. The overall goal of developing a potentially shippable product increment is intended to:
At the end of the sprint, you have a potentially shippable product increment, but that doesn’t mean everyone stops working. As soon as the final review process is over a new sprint begins.
At the core of LeSS is a set of principles that govern the way organizations apply LeSS in their specific context. While some enterprise agile frameworks, such as the Scaled Agile Framework® (SAFe®), provide more structure and more roles, LeSS calls for less structure and fewer roles, leaving decisions up to the organization itself as to how to implement LeSS. The guidance the framework offers comes more in the form of its ten principles. In this section, I introduce these principles.
LeSS creators stress that Large-Scale Scrum is no different from Scrum. Unlike SAFe (see Chapter 4), which adds processes and roles, Scrum simply provides principles, rules, and guides for the application of Scrum in a multi-team context. LeSS doesn’t change the way Scrum teams function; it only provides guidance to facilitate how those teams scale or descale (see “More with LeSS”) to larger enterprise-level products.
The dictionary definition of “transparent” is “easy to perceive or detect.” Transparency is a core concept in all agile frameworks, because it’s what drives continuous improvement through discovery and adaptation. Product owners, Scrum Masters, team members, and other participants are expected to be open and honest with one another. In addition, the sprint model creates short feedback loops that dramatically increase visibility into problems in the product, process, team, and organization overall.
The More with LeSS principle stresses simplicity over complex organizational solutions, such as increased layers of management and complicated structures and processes. The idea is that complicated solutions cause more problems than they solve. In this respect, LeSS is a descaling framework to remove large organization complexity. With LeSS, the emphasis is on developing greater insight into problems at the product development level and addressing them at that same level with simpler solutions.
LeSS encourages cross-functional teams by focusing their efforts collectively on developing a whole product instead of having individual teams focus solely on whatever part of the product they’re working on. Teams are advised to function according to the following guidelines:
When multiple teams are involved in product development, each team tends to become so involved in developing its part that it forgets how the customer will use the product. LeSS encourages a closer connection between teams and customers by recommending that organizations do the following:
Continuous improvement toward perfection is one of the pillars of Lean thinking, the other being respect for people. The purpose of this principle is to encourage organizations to embrace change and for everyone in the organization to challenge everything and continue to develop his knowledge and skills. Improvement stops only when the product, the process for creating it, and the organization and the people who develop it have achieved perfection — which essentially means never.
Lean thinking is a business methodology in which an organization’s management is committed to continuously investing in its people and giving each employee the opportunity to identify problems in his own way of working, solve those problems, and make improvements. As you can see, the two principles of Lean thinking and continuous improvement toward perfection are closely aligned.
Systems thinking is a management discipline that sharpens awareness of whole dynamic systems and how the components of those systems interrelate. Certain tools such as flow charts and simulation models are often used, but the scope of systems thinking often encompasses processes, limits, delays, behavioral patterns, and anything else that may affect the productivity of the system overall. With LeSS, systems thinking has two primary purposes:
Empirical process control is an approach to product and systems development that relies less on up-front planning and more on experimentation, transparency, inspection, and adaptation. In short, teams are encouraged to innovate and experiment in order to continuously improve the product and the systems for building it.
Think of it this way: Every so often I’ll get a contract to work in a different part of the city. I live in an area where it’s extremely important to plan out your commute to work. If you come up with a bad plan, you could get stuck for hours in traffic. So I use an empirical approach to determine the best process for my commute to work. One day I try the bus, another day I try the train. I may try driving or riding my bicycle to the train station and then taking the train. Each time I try something new I record how long it takes for me to get to work. After a while I figure out the quickest commute.
That’s how LeSS improves your enterprise agile approach. It encourages you to inspect and adapt how you deliver your product and find the way that works best. In many ways it takes the empirical approach of Scrum and applies it to the whole enterprise agile process.
Queuing theory is a mathematical study of wait lines used to predict and reduce wait times. It’s used in all agile frameworks to reduce wait times inherent in the traditional linear product development processes. In LeSS, many teams working in parallel and together, develop different parts of a product and then integrate the parts near the end of a sprint to create a potentially shippable product increment. See Chapter 4 for more about queueing theory and Chapter 8 for more about managing queues.
Although LeSS is a framework for large organizations, it counters the traditional hierarchical structures found in many large organizations. The term “structure” is almost a misnomer. A better term might be “roles and teams.” In this section, I introduce you to the various elements that provide some structure to this relatively unstructured development environment.
A Scrum team is a self-managed, cross-functional group of three to nine people who do it all, from writing code to producing documentation, to creating a part of a product and integrating it into a functioning increment of the product. In LeSS, numerous teams work in parallel and together on a single product with the common goal of delivering a shippable product at the end of a given sprint. Each team has the following characteristics:
Feature teams are cross-functional, cross-component, stable, and long-lived. They take customer-centric features from the product backlog and complete them to deliver a potentially shippable product increment.
The “feature” in “feature team” highlights the difference between feature teams and component teams:
Feature teams: A feature team has all the knowledge and skills required to build a feature, such as a feature in an accounting program for producing an accounts payable report (to show which customers owe money and how much).
Think of a feature team as a small, flat organization within the larger enterprise. Everyone on the team works together to deliver the product. Everyone in the rowboat rows, just as they do on any agile team.
The component team model results in a lot of dependencies, as shown in Figure 5-2 by the arrows from the items in the product backlog (in the column on the left). Because each work item requires two or more teams to complete it, one team may need to wait on another team to complete its work before it can move forward on that item. It also requires a great deal of cross-team coordination and communication, as shown by the double-headed arrows connecting the teams. No single team has the knowledge and skill set to complete a work item on its own.
In contrast, each feature team can choose one item from the product backlog and complete it without the help of another team. As you can see in the figure, none of the teams is connected to another. They all have the knowledge and skills required to work on each component of the product, so Team Wei can complete Item 1 by working on any and all Components A, B, or C, without depending on any other team to complete its work.
The Scrum Master has a deep Scrum understanding to guide and coach the organization on Scrum principles and practices, so they have a better understanding of how to deliver value to customers. Each Scrum Master has four focus areas:
Communities of practice (CoPs) are groups of people that gather informally around a certain functional area of expertise, such as software development, analysis, or testing, to share their knowledge and expertise and discuss their challenges. Essentially, they gather to talk shop. CoPs cross team boundaries, which can improve communication and cooperation across teams. For example, Scrum Masters may decide to meet as a group to share what they know about Scrum and exchange ideas of how they can help the teams, product owners, and organization overall.
The LeSS organizational structure is flat, as shown in Figure 5-3. The head of a product group is a product manager who works to support the product owner and teams in their efforts to produce a quality product and the perfect system for developing it. The head of a product group may help the team remove obstacles or improve its knowledge and skills.
Note that the organizational chart includes an Undone Department. Ideally, the nature of cross-functional teams makes this department unnecessary, but sometimes a team lacks the knowledge and expertise, such as testing, quality assurance, or business analysis, to complete a shippable product. When that happens, the undone department must complete the work.
For more about the various roles in the LeSS framework, see the later section “Getting to Know the Key Players.”
Technical excellence comprises numerous agile engineering practices to help teams work in a continuous state of high quality and flexibility. In this section, I provide brief descriptions of these practices.
Continuous integration is an approach to software development that involves making small changes that are integrated daily and tested frequently. Typically, each team member integrates his work at least once a day, which can result in several integrations over the course of a day. The emphasis is on developing a product in small batches and short cycles, which increases visibility into the process, thus increasing the quality of the system.
Continuous delivery involves keeping the product in a potentially shippable state at all times. The purpose of continuous delivery is to reduce the time, cost, and risk of delivering changes by allowing for more frequent updates to products in production. See Chapter 1 for details.
Acceptance testing checks a product to ensure that it meets the sprint goal and that the product is indeed potentially shippable. Acceptance testing includes a user-acceptance test and may also include functional or system testing.
Architecture and design in LeSS involves less planning and more observation to see where the customer is going and then designing and building products accordingly. It’s an approach to design that relies more on pull than push. (See Chapter 3 for more on “pulling” work.)
Clean code is a term used in programming to describe a minimalist approach to programming. The goal is to use the least amount of code required for a feature or function, and that code should be easier for other programmers to read and extend. Writing clean code is especially important in LeSS, where you have so many teams of developers collaborating on a single product.
Unit testing involves running small, fast software programs to verify the functionality of a piece of code. Don’t confuse a unit test with a bug test. A unit test determines whether a piece of code behaves as suspected in a variety of test cases. Unit testing is key in LeSS, which encourages frequent testing and adaptation.
Test-driven development (TDD), as explained in Chapter 2, is a software development process that involves the repetition of a short development cycle. The developer writes a test case, designed to fail, that defines a desired function or improvement and then writes the least amount of code necessary for the program to pass the test and then refactors the code to acceptable standards. The main purpose of TDD is to reduce defect rates.
The notion of thinking about testing calls on team members to challenge their assumptions about testing, such as the following:
By encouraging team members to challenge their assumptions, the thinking about testing approach encourages more innovative ways to test a product at any point in the development process.
Iterative, incremental program development results in a continuously evolving product that must be tested at each iteration. In addition to testing the new code, the product must be tested to ensure that the old code still works after the new code has been integrated (regression testing). In an agile development environment, manual testing can’t keep pace. Testing must be automated as much as possible.
Specification by example (SBE) is a collaborative approach to defining requirements and developing test case scenarios for software products. The product owner and teams collaborate with end users and other stakeholders to develop realistic scenarios for how the product will be used.
LeSS management seeks to transition organizations from the traditional management-by-control to a managers-as-teachers-and-facilitators approach as promoted in Lean thinking. Most of management is delegated to self-managing teams that do most of the work and to product owners who decide (with team input) what the teams work on. In this section, I introduce some of the key concepts that drive management in a LeSS organization.
Traditionally, managers have been in charge of determining what needs to be done and how to do it. In a LeSS organization, the product owner (with team input) decides what needs to be done, and the Scrum teams figure out how to get it done. Management plays no role in either case and should resist any temptation to do so. Instead, managers function more as support personnel, ensuring that the product owner and teams have what they need to do their jobs and helping to remove any obstacles that may be getting in their way.
Go see is a method that closes the gap between management and product development to give managers greater visibility into what is happening in the organization. Managers are encouraged to sit with developers to find out what’s really going on, so they can make better decisions and figure out ways to help.
While traditional managers are expected to solve problems, LeSS shifts the manager’s role to teaching problem-solving and systems thinking and encouraging team members to think for themselves. The idea here is to move the problem-solving and decision-making responsibilities closer to product development, where they can be used more effectively to improve the product and the systems for creating it.
One of the pillars of Lean thinking is respect for people. Instead of looking at employees as lemmings in need of strong leadership, Lean thinking sees them as highly motivated individuals who are able and willing to create high-quality products. Lean thinking encourages individuals and teams to be self-motivated and self-directed. As such, self-governing teams are expected to:
Managers are in charge of developing an improvement service — a system for logging areas that need improvement and then addressing those issues. Following the LeSS framework, many organizations choose to create an improvement backlog. Managers consult with teams to determine areas of improvement and prioritize them. Teams can then choose items from the backlog to work on.
The roles of manager and Scrum Master tend to overlap, so many organizations consider making the manager a Scrum Master. Is that a good idea? Well, that depends on the manager. If a manager is able and willing to relinquish control and authority to the teams and adopt a mindset of serving the team, such a move may make sense. If not, then it’s a bad idea, because a Scrum Master who acts as a traditional manager will undermine the democracy of the team.
LeSS Huge is a second LeSS framework that’s a step up from the framework you’ve been looking at so far — the framework shown in Figure 5-1. LeSS Huge is designed to scale up to many more teams and across the organization (see Figure 5-4).
Even though this framework is larger and scarier than the standard LeSS framework, the emphasis remains on “less is more.” The breadth of the framework is larger, but at its core are Scrum teams engaging in sprints. In this section, I highlight some of the differences in LeSS Huge.
Requirement areas are customer-centric categories of backlog items, often referred to as product backlog items (PBIs) (see Figure 5-5). For example, a website may have a separate requirement area for articles and advertisements. The product owner draws items from the product backlog and assigns each to a requirement area to create different views of the product backlog called area backlogs, discussed next.
When working on a very large product, the product owner can easily become overwhelmed, and because LeSS focuses on optimizing the whole system, the product owner can become a bottleneck for all the feature teams. The best way to steer clear of this potential bottleneck is to break down the work into smaller batches. So the product owner breaks down the product backlog into smaller batches, each of which comprises an area product backlog assigned to its own area product owner.
The area product owner maintains and prioritizes work items in a subset of the product backlog that pertains to a certain feature or a set of related features. Think of the area product owner as a product owner for a feature instead of for the entire product.
The LeSS Huge framework is built on top of the regular LeSS framework, so it tries to add the minimum number of new roles and processes required to work on much larger products. Keep in mind that LeSS Huge is designed for eight or more teams, representing dozens, hundreds, or even thousands of developers. When you have that many people involved, you need an organizational structure to align their efforts. In LeSS Huge, the organizational structure, shown in Figure 5-6, involves the following areas:
Sites: The two “Site” boxes on the left indicate the preference of grouping related teams and team members locally when an organization encompasses multiple sites across two or more buildings, cities, or countries. The purpose of having “teams in site,” as the LeSS developers refer to this grouping, is to reduce the need for long-distance communication among teams.
Although you want to keep your teams local to a given site, don’t group teams according to requirements areas, because such an approach often results in making certain requirements areas more permanent than they need to be. Instead, look at these site groupings as a way to keep line organization local. (Line organization is traditional top-down, chain-of-command, department organization.)
Support: When teams are working on a huge product, they need more support in the form of configuration management, laboratory support, integration, and operations. On smaller products, regular LeSS teams can usually take care of a lot of the environmental requirements to deliver their product; for example, they can spin up their own servers and software development environments.
Try to keep your support “department” as small as possible and maintain its focus on supporting the teams, not controlling them or trying to set direction. They should be seeking ways to help, not ordering teams to “do it this way.”
While most other agile frameworks scale up to enterprise agility, LeSS takes a different approach — it scales down. It steers you away from building up your teams and creating dozens of new roles, which is why LeSS creators, Craig Larman and Bas Vodde, often call their approach “descaling” enterprise agility.
The LeSS creators start out by saying these three obstacles will cause your projects to fail. It’s almost as if they’re saying, “Scaling agile will probably fail, but maybe not with LeSS.” This is a very honest approach, but it’s also very discouraging. Most organizations have all three obstacles. That’s why they’re looking for a scaled agile framework. They don’t want to be told they’ll probably fail; they want to be given something that ensures success.
Instead of giving up on these organizations, LeSS tries to enable large organizations that face these obstacles to scale with less risk of failure. It provides the framework, principles, and practices to help organizations overcome these obstacles and others.
Like Scrum, LeSS is intended to be a “barely sufficient methodology” to guide the product development process. Although the framework diagram described earlier in this chapter (see Figure 5-1) contains some details, LeSS is a minimalistic approach intended to provide just enough direction to get started and to encourage organizations to experiment on their own to find out what works best for them. This approach is captured in the LeSS Complete Picture diagram shown in Figure 5-7.
To provide a minimal amount of guidance and foster a culture of learning, questioning, engagement, and continuous improvement, LeSS replaces the notion of best practices with principles, rules, guides, and experiments:
Experiments: Instead of prescribing best practices that would work for most organizations, the LeSS developers present experiments you can try to determine what works and what doesn’t work in your organization. You can try these experiments on your own or use them to brainstorm ideas for your own experiments. See the later section “Experimenting to create your own approach” for details.
You can check out some experiments in the first two books written by the LeSS developers: Scaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale Scrum and Practices for Scaling Lean & Agile Development: Large, Multisite, and Offshore Product Development with Large-Scale Scrum.
LeSS encourages teams to experiment with their processes. From their perspective, an experiment is like a process recipe. It’s something you can try at your organization and then evaluate the results. The creators of LeSS don’t think in terms of best practices that work for every organization. Instead, they encourage organizations to be empirical — to experiment, measure the results, and make data-driven decisions.
The LeSS experiments usually begin with “Try …” or “Avoid …,” so a LeSS experiment might be something like “Try … See root causes during causal modeling and retrospective workshops, with Five Whys and Ishikawa diagrams.” These experiments range from small process tweaks to overall organizational structure. Here are few that have been pulled from the two books:
Less incorporates Lean thinking, and one of the pillars of Lean thinking is respect for people. In LeSS, employees are treated as craftsmen/women who develop products. The creators of LeSS see software development as a rigorous intellectual pursuit. They cringe at the idea that software developers should get their requirements from business analysts and then make what they’re told to make. Instead software developers should work to continually fine-tune their craft and, by extension, improve the product and the process for building it.
LeSS embraces the three-step shuhari model of learning and honing one’s skills (see Chapter 1). The idea behind shuhari is that most software developers are stuck in “Shu.” They only follow the rules and learn the basics (so called best practices). To reach the next level, developers must learn to break the rules and put their work into a larger context. Only then can they reach the highest “Ri” level where they actually make the rules and set their own path. It’s at this level where software developers can unleash their creativity and help their organization build value. (See Chapter 1 for more on the shuhari model.)
As discussed earlier in this chapter, the LeSS creators are quick to point out that LeSS is Scrum. So what does this mean? Nearly all other enterprise agile frameworks include Scrum, which makes sense because Scrum is the most widely used of all the agile team frameworks. Yet what they’re saying here is different. They’re saying that LeSS is Scrum — it’s not a new version of Scrum or something layered on top of Scrum.
One of the core ideas behind LeSS is that you don’t have to add roles, events, rules, layers, and bureaucracy. You could take this lightweight Scrum framework and expand it out (wider but not necessarily deeper) to meet all your scaling needs. In other words, Scrum is all you need.
This approach differs significantly from how other enterprise agile frameworks deal with Scrum. The SAFe framework puts Scrum in the bottom corner of its diagram. Scrum is seen as just one of several agile practices you can use for your team. You could easily run SAFe without Scrum at all. (See Chapter 4 for more about SAFe.) All your teams could use Kanban, or Extreme Programming. They could even use a mishmash of agile methods such as ScrumBan or ScrumXP.
Disciplined agile (DA) also sees Scrum as a team-level set of practices. To deliver an enterprise-level product, you need to fill in the gaps that the lightweight Scrum intentionally leaves, which is why disciplined agile delivery (DAD) creates ten new roles to deliver agile enterprise software. (See Chapter 6 for more about DAD.)
Like Scrum, LeSS sees itself as a way to expose flaws in processes. The combination of small teams and short development cycles enhances transparency, making failures more apparent. Again, other frameworks give you many more answers. Both SAFe and DAD add layers of new processes. While these layers provide additional guidance, they tend to obscure problems.
Above all, LeSS embraces Scrum’s approach to simplicity. The creators of LeSS like to think of enterprise frameworks as having two extremes. On the one hand you have very process-heavy frameworks. These might include the rational unified process (RUP), traditional waterfall approaches (see Chapter 1), or even SAFe. On the other hand, you have very lightweight principles and ideas such as Lean Software Development and Kanban. LeSS positions itself between the two, providing just enough structure and guidance to create high-functioning teams that collaborate closely.
Unlike some of the other enterprise agile frameworks, LeSS is careful to keep a shallow organizational chart. It doesn’t add a bunch of new roles and layers to the development process. However, it does specify a few key players. In this section, I introduce you to these players and explain the role each plays.
Organizations that use LeSS commonly have a product manager, referred to as the “head of the product group,” who serves the product owner of all the teams. Although this person is positioned at the top of the LeSS organizational chart (see Figure 5-6), she plays a supporting role, visiting the teams to find out about their challenges, helping teams remove obstacles, and facilitating their improvement.
In team Scrum, the role of the product owner is one of most difficult. This one person sets direction and feeds the team the highest value work. The product owner also represents the customer and is the person ultimately responsible for ensuring that the product delivers the highest value to the customer.
LeSS upsizes this product owner role and gives it greater importance. Instead of coordinating with just one team, the product owner works with two or more teams, and must communicate and coordinate with customers and the head of product.
The product owner must manage the following five key relationships:
In this section, I explain what these relationships entail.
The product owner has two primary responsibilities in regard to the development team:
The product owner also ensures that what the teams build “hit the mark” and finds out what the teams need and how to meet those needs to remove any obstacles that may be hindering their efforts.
The product owner maintains a close relationship with the customer to deliver to the customer-centric solutions that meet their needs in a timely manner. She needs to know their goals and understand their key challenges and, when appropriate, challenge the customer if she envisions something beyond what the customer wants.
Ideally, customers and developers collaborate on solutions that best meet the customer’s needs. The product owner must encourage and facilitate this open communication between the two. As their knowledge of the customer and product grows, developers often come up with interesting new ideas on their own. In many ways they understand the internals of the product better than anyone else. These teams will come up with the best ideas if they have an overall understanding of the customer’s expectations.
Although product owners are expected to maintain a productive relationship with higher management (portfolio managers and C-level executives and so on), it’s really a two-way street that requires more from higher management than from the product owner:
The relationship between the product owner and the Scrum Master is one of student and teacher. Scrum Masters are expected to be aware of the product owner’s challenges and concerns and provide helpful guidance while also educating the product owner about LeSS. The ultimate goal is to increase the product owner’s knowledge and influence behaviors that facilitate product development in the LeSS framework.
Scrum has no consensus on the role of the Scrum Master. Some teams think of their Scrum Masters as administrators, trainers, and facilitators who make sure the team has the computers, software, training, and other resources it needs. Scrum Masters may also schedule meetings or show the product owner how to add items to the backlog. The Scrum Master does her job and then gets out of the way, allowing the team to manage itself. The Scrum Master has no real authority to push the team in any direction.
Other Scrum Masters may take on a more managerial or team leadership role; they may push the team to meet deadlines or require status reports. Many of these Scrum Masters transitioned to the teams from management.
In LeSS, Scrum Masters do both. In fact, good Scrum Masters dial up and down their areas of responsibility (see Figure 5-8). They dial up more authority when the team needs direction and then dial it down when the team is ready to self-manage.
Good Scrum Masters are hard to come by, because they require knowledge and skills that are incredibly diverse. Scrum Masters must be skilled at management, training, and analysis. They need to be quick learners. And they must be able to step back and let the teams manage themselves. It’s a little like being a good parent. Some of these skill sets aren’t always compatible with traditional roles; for example, strong managers are often reluctant to let go of the reins.
Now that you know what LeSS is all about, the question is how do you do it? In this chapter, I provide the guidance you need to get up and running with the LeSS framework. First, I explain how to lay the foundation for a smoother and more successful transformation. Here, I present the three LeSS adoption principles and the six-step adoption process. I stress the importance of embracing a culture of continuous improvement, and I provide guidance on how to transition from component teams to feature teams.
Next, I shift gears from being agile (transforming your organization) to doing agile (engaging in LeSS product delivery practices on a daily basis). Here, you find out how to conduct sprint planning meetings, manage the product backlog, and conduct sprint review and retrospective meetings at the end of each sprint.
After deciding to adopt the LeSS framework, you can expect to encounter two major challenges:
The LeSS Company, which manages the LeSS framework, provides some direction on how to overcome these and other challenges, as I explain next.
Embrace the following three principles when adopting LeSS:
The LeSS Company recommends starting with one product line prior to gradually rolling out LeSS to the entire organization. To transition a product line to LeSS, the LeSS Company recommends the following six steps:
Transforming an organization to LeSS is less about restructuring the organization and more about educating everyone in the organization and engaging them in discussions about the LeSS approach to product development. Consider hiring a coach to work with your organization to improve product development. You can set up an internal coaching network yourself, but for various reasons, having an outsider with experience in LeSS tends to be much more effective. Most organizations need three levels of coaching:
Spend some time defining the product your teams will be developing, but keep your definition relatively broad. For example, instead of defining what the product needs to do and how it needs to do it, you may define the product in terms of the problem it needs to solve. By keeping the product’s scope fairly broad, you give the teams more room to innovate and you provide them with a better overview of the value that the product will bring to the customer.
All Scrum teams working on a project must agree on a definition of “done” (DoD) — a set of acceptance criteria that’s consistent across all user stories. (Acceptance criteria are conditions that a product must meet to satisfy the stakeholders. A user story is a feature described from a user’s perspective, as explained in Chapter 1.) For example, the DoD may be that at the end of every sprint, all the code has been tested and works with the rest of the application.
Another team is working on a feature that enables the user to get directions to whichever restaurant is selected. If the user clicks on a restaurant, the resulting page has a button labeled “Get Me There” that accesses the user’s Maps app, inserts the restaurant’s address, and triggers the Maps app to conduct the search. These acceptance criteria differ entirely from those of the previously described feature.
Both teams meet with the product owner, who tells them that the features must run on iOS and Android and be unit tested and integrated into the app. These acceptance criteria comprise the DoD, because they apply to both features.
“Appropriately structured teams” means feature teams. A feature team is a cross-functional, cross-component, and customer-centric group of individuals who can grab a work item from the product backlog and take it all the way through the development process from clarifying the feature to creating, testing, and delivering it.
If the product teams in your organization are currently formed around components (such as code, design, architecture, analysis, and test), and the teams need to collaborate to deliver product increments, you need to convert or transform your component teams into feature teams.
Such a transformation process may require several months or years to restructure teams and ensure that each team has the knowledge and skills to do all the work required to develop, test, and deliver a feature in a fully functional product increment.
Here are a few suggestions on how to transition component teams into feature teams:
This step in the process is more “what not to do” than “what to do.” The only person assigning work to the teams should be the product owner. The purpose of this approach is to ensure a smooth and efficient workflow and prevent line managers, sales, the CEO, or human resources from adding to the team’s workload or drawing its focus off product delivery.
Step 6 is an extension of Step 5 — the only person assigning work to teams should be the product owner. However, the LeSS developers are aware that during the transition to LeSS, project managers may be needed to coordinate work when the definition of “done” is still being clarified and program managers and teams need to coordinate their efforts across certain cross-product boundaries.
Ideally, you want to do away with the project manager role. The product owner and teams should be able to deliver a product without additional oversight. If you can’t eliminate the project manager role immediately, try to phase it out over time as the product owner and teams become better able to function effectively without a project manager.
As I explain earlier in this chapter, LeSS calls for two sprint planning meetings referred to as Sprint Planning 1 and Sprint Planning 2 (see Figure 5-10) that are both held prior to the product development process (the actual sprint). In this section, I provide guidance on how to conduct these two meetings.
In the Sprint Planning 1 meeting, the product owner and all teams meet together to look at the product backlog and determine which teams will work on which items. This meeting is typically short, especially when the product owner and teams are experienced and have been working together for some time. Experienced teams usually know which teams are best at handling different types of work.
If you’re the product owner, you conduct the meeting, but your job is pretty simple; you present the highest priority items in your product backlog to the teams and give the teams some time to distribute the work among themselves. You may need to field some questions from the teams to clarify items in the product backlog.
Here are a few tips for conducting an effective and efficient Sprint Planning 1 meeting:
In the Sprint Planning 2 meeting, each team meets to figure out how the team will complete the work it agreed to perform during the Sprint Planning 1 meeting. If two or more teams need to collaborate during the sprint, they meet together, and the Sprint Planning 2 meeting is referred to as a Multi-Team Sprint Planning 2 meeting.
The goal of either meeting is for each team to walk out with a sprint backlog — a prioritized list of work items the team must complete by the end of the sprint. Each team may create a sprint task board or just a list of work items.
If you’re doing a Multi-Team Sprint Planning 2 meeting, have all the teams involved meet in the same location at the same time with each team conducting its own Sprint Planning 2 session. This gives the teams the opportunity to discuss any shared design, coordinate their shared work, identify opportunities for collaboration and cross-training or knowledge-sharing, and deal with any foreseeable issues.
Outside of the product owner, area product owners, and sprint planning meetings, LeSS offers little formal direction for coordinating team efforts or coordinating individual efforts among team members. That’s left up to the teams themselves. Many large organizations ensure alignment with business analysts and project managers. They’re like the coxswain on a crew team. They steer the boat and yell through a megaphone to keep everyone on pace. However, LeSS is Scrum, so it works on the notion that teams will self-organize both within and across teams. Their work is too complicated to have any one person take responsibility for steering the boat.
To ensure alignment within and across teams, LeSS has several practices to encourage and facilitate communication, as explained in the following sections.
LeSS encourages teams to be chatty. You don’t want any team stuck in formal meetings. Instead you want all teams’ members to be able to get what they need by grabbing a neighbor for a quick chat or hollering across the room to a member from another team.
By encouraging informal communication, LeSS enables teams to work more and spend less time in pointless, unproductive meetings. You get up, grab the person who has the information you need, have a brief chat, and get back to work. You meet on a need-to-know basis.
LeSS encourages teams to have Daily Scrum meetings lasting 15 minutes or less, usually at the beginning of the day. In a Daily Scrum meeting, team members stand around in a circle and take turns delivering a brief update on the following three items:
During the Daily Scrum meeting, don’t spend a lot of time in discussion. If more discussion is needed, arrange a follow-up meeting, perhaps with the Scrum Master, to figure out how to remove any obstacles or to deal with other issues.
Some teams choose to work with a continuous integration server to “communicate in code.” This type of server is usually a central code repository, sort of like Google Docs for programmers. Instead of emailing everyone about a change you made or are thinking of making, you just do the work and add comments about the change. When members of your team or another team check out the code, they can easily spot the change or proposed change.
Like SAFe, LeSS encourages the formation of communities of practice (CoPs) — people across the organization who share a common interest or specialty and often work on developing best practices.
For example, suppose each of your feature teams has a developer who works well as a database engineer. That developer may want to work with other developers and different teams to create a set of common practices. They work together almost like an internal meetup group. They share their thoughts on engineering practices and the best development techniques, and they may even cross-train members of other teams who are interested in database engineering but know little or nothing about it. (See Chapter 4 for more about CoPs.)
LeSS recommends teams allocate five to ten percent of their sprint time to refine the product backlog for future sprints. Backlog refinement involves splitting big items into smaller items, analyzing items, reestimating, and reprioritizing, often in collaboration with the product owner, users, and other stakeholders. One or more Scrum Masters attend the initial refinement meetings to coach the group, but their attendance may not be mandatory in later sessions.
The creators of LeSS split backlog refinement into two levels (see Figure 5-11):
Think of these levels as an old-style coffee grinder. You throw the coffee beans in the top in the overall meeting and then as you turn the crank, fine powder comes out the bottom in the form of a product backlog for future sprints. The closer you are to the top, the more likely you’ll run into whole beans. As you get close to the bottom, you’re grinding the coffee down into smaller and smaller grains.
During the overall product backlog meeting, the shorter of the two stages in the refinement process, teams or team reps work closely with the product owner to figure out which items to add to the product backlog. If you’re the product owner, you present your highest value items to the team reps, and you work with them to select items for further refinement. The goal of this initial meeting is to create an aggressive product backlog that’ll be whittled down in future product backlog refinement meetings.
If you’re a team rep in the overall product backlog meeting, you give the product owner a rough idea of the work and time required for each item, ask questions to clarify items, and provide additional input and insight to help with the refinement process. Make sure you know what the product owner has in mind for each item in the backlog; if you don’t know, keep asking questions to clarify. You may also work with the product owner to connect items in the backlog; for example, to identify items that may be developed more efficiently when worked on together during a future sprint.
At the end of the meeting, you should have a collection of high-level items ready for individual or multiple teams to refine further.
After the overall product backlog refinement meeting, the teams or team reps take their portion of the product backlog back to their teams for further refinement. Some items selected during the overall meeting may go to individual teams, while others go to two or more teams (multi-teams) for further refinement:
In either case, during the product backlog refinement meeting, team members collaborate with users and other stakeholders to clarify items in the backlog, split big items into smaller items, analyze items, reestimate, and reprioritize. Here are a few suggestions for improving the outcomes of these product backlog refinement meetings, whether they involve one team or more:
Clarify what needs to be done in your team’s portion of the product backlog.
Consult the product owner if further clarification is needed.
At each step, try to give everyone a voice and avoid groupthink — a tendency for people to go along with the group or agree with a more charismatic member of the group instead of thinking creatively and expressing their own ideas and opinions.
At the end of every sprint, the product owner and teams engage in three meetings to review what they’ve learned over the course of the sprint and to discuss possible changes to the product and to the process for creating it (see Figure 5-12):
In this section, I bring you up to speed on these three post-sprint meetings.
At the end of each sprint, the teams, product owner, customers, users, experts, executives, and anyone else who’s interested gather to review the product built during the sprint and discuss changes and new ideas to formulate the future direction of the product and to improve the process for building it. The maximum length of a sprint review is one hour per week of sprint; for example, two hours for a two-week sprint.
Although a sprint review has no set agenda, it usually goes like this:
The users and the product owner inspect the product (preferably by actually using it).
For example, you may have a review room with several computers running the program that was developed during the sprint. Users and other stakeholders attending the meeting can take the product for a spin.
Try the bazaar/science-fair approach as a first step, but remain open to other options. What works well for one organization or a certain product may not work well for another. Be open an honest about what’s working and what’s not and look for ways to improve your sprint review process.
After the sprint review, each team conducts a team retrospective to discuss process improvements. This is the same as the one-team retrospective in Scrum. During the retrospective, team members discuss the obstacles impeding their work and possibly the work of other teams and add these obstacles to an organizational improvement backlog.
Unlike Scrum, LeSS adds a meeting after the team retrospectives called an “overall retrospective,” which is typically conducted just before the beginning of the next Sprint Planning 1 meeting. In the overall retrospective meeting, the product owner, Scrum Masters, team reps, and any managers gather to discuss cross-team, organizational, and systemic challenges that may be impeding workflow and compromising quality.
Here are some common topics you may want participants to discuss during the overall retrospective:
Organizations that try to transform into agile enterprises using any of the frameworks I describe in Chapters 4 through 8, often fail for a variety of reasons. Some organizations have trouble with feature teams. Teams may have trouble with collective code ownership. Many organizations have Scrum Masters who act more like managers. Still others have product owners who don’t spend enough time with their teams.
In the case of LeSS, organizations often fail in their adoption efforts for two reasons: They underestimate the power of their existing culture to undermine their efforts, or they try to go too big too soon. In this section, I address these two common causes of failure to adopt LeSS and provide suggestions on how to avoid them.
LeSS is built on the notion that “culture follows structure,” which is the fourth of Larman’s four laws (see the earlier sidebar “Avoiding common adoption traps: Larman’s Laws”). Others believe that structure follows culture. This debate is similar to that between behaviorists who believe that animal behavior can be conditioned through outside stimuli and cognitive scientists who believe you can control someone’s behavior by changing the way the person thinks.
Both debates represent either/or fallacies that are often disproven by others who take a “both, and” approach. In other words, instead of embracing Larman’s claim that “culture follows structure” or the opposite claim that “structure follows culture,” accept that both structure and culture play important roles in a successful transformation and work toward changing both.
If your organization is highly resistant to big change, you may need to focus on changing minds and culture first. Otherwise, people are likely to reject any new structure you try to implement.
If your organization is highly resistant to change, consider introducing big change gradually. You may want to start with one or two Scrum teams and, when they achieve success, expand from there. When people start to see the benefits, they’ll be more receptive to accepting the new approach.
One of the most common and serious problems that undermines attempts to adopt LeSS is related to over-scaling in one or both of the following ways:
In this section, I suggest ways to avoid these two common pitfalls.
As explained in Chapter 10, organizations change slowly. The larger the organization, the slower it will be to respond to change. You can take a left turn on a jet ski much more quickly than you can make the same turn with a cruise ship. If you try to push through changes too quickly, you’re likely to capsize. To increase your chances of success, follow these suggestions:
Recruit and educate. Approach your LeSS transformation as a grass-roots movement. Recruit influential people throughout the organization and try to convince them of the benefits of an agile transformation and of LeSS specifically. The more people you recruit the more likely you are to create a lasting environment for change.
Don’t ignore the skeptics. If you do, they’ll make any setback seem like a disaster.
When large organizations scale anything, they often try to go too big too quickly. They choose an organization-wide solution and try to implement it all at once, as reflected in the sidebar “Big companies love big solutions.” Here are a few solutions to avoid this over-scaling trap: