It's one thing to conceptualize the values of Scrum; it's another thing to put them into practice. People and processes aren't easy to change, especially in enterprises, where many teams and globally distributed workers are the norm.
Author and software development expert Cecil Rupp encourages enterprises to get back to Scrum implementation basics, and then scale up. In Scaling Scrum Across Modern Enterprises, Rupp digs into the history of Agile and other software development methodologies, then expands on those topics to give enterprises clear advice on how to scale.
Different frameworks detail how to scale Agile and Scrum for large-scale businesses and products. These approaches can't solve every issue -- and they might even introduce some. Well-known examples include Scrum of Scrums and Large-Scale Scrum, known by its acronym LeSS. The book devotes individual chapters to different types of Scrum scaling methodologies, including:
- Scrum of Scrums;
- [email protected];
- the Nexus framework;
- Large-Scale Scrum;
- Disciplined Agile;
- Essential Scaled Agile Framework; and
- Full Scaled Agile Framework.
How to implement Scrum
An organization must understand Scrum in practice to chart its path. Chapter 3 of the book, titled The Scrum Approach, takes Scrum from a theoretical concept to a set of actions and objectives. With this baseline of work established, an organization can standardize Scrum implementation and maximize the benefits of the approach.
Explore what Scrum can do for product development with this chapter excerpt.
First, Rupp writes, Scrum is a framework, not a set of instructions. Scrum guides the work of product development into iterative, incremental sprints, consistent with Agile development. Thus, the flow of work in Scrum typically fits into sprints that last between two and four weeks.
The product owner must first establish a clear vision for the work to be done, Rupp writes. The product vision must include elements like the product name and description, the value the work will deliver back to the business and challenges that might occur during development.
Then, Scrum sprint iterations typically follow the same basic pattern:
- Begin a new sprint.
- Refine the product backlog.
- Determine the sprint's goal.
- Plan the work.
- Develop the sprint backlog.
- Conduct daily Scrum meetings.
- Conduct a sprint review.
- Conduct a sprint retrospective.
Before development work can begin, the organization should have the roadmap in place. Pre-development work entails backlog refinement, user story creation, defining done, establishing clear sprint goals and conducting the first planning meeting of the sprint.
When the development work begins, it typically follows a quality-centric approach that is native to Scrum. "Scrum is a framework that serves as a container for other engineering processes," Rupp writes. "Therefore, test-driven development, continuous integration, and automated testing all logically fit within the Scrum framework and help to ensure the quality of the software."
Daily Scrum meetings help keep the team informed. Rupp recommends no more than 15 minutes per meeting, and no interruptions from business stakeholders.
On the final day of the sprint, the Scrum team holds a sprint review to compare the work to the goals. Afterward, a sprint retrospective helps determine what went well and what needs to be improved in the future. The goal is team-wide incremental improvement.
"[I]t can take several years for a Scrum Team to fully mature. In the interim, the Sprint Retrospectives help the team to grow and improve in their joint capabilities," Rupp writes.
At the sprint's completion is either a potentially shippable product that agrees with the team's definition of done, or there is unfinished work that gets added to the backlog. The latter adds more work to the team's plate, which can increase technical debt that makes it more difficult to fix defects.
Other challenges can also occur during Scrum sprints.
Support Scrum and avoid antipatterns
As with any development methodology, Scrum requires organizational buy-in and structure to succeed. It takes a fundamental culture change to succeed with Scrum.
Rupp details several Scrum implementation killers, from lack of executive sponsorship and buy-in to underinvestment, including in education and communication within the organization. And don't tackle Scrum without a strong Agile mindset. It's not just organizational points of failure to avoid. Scrum implementation challenges, such as technical debt, hurt the team's ability to consistently release quality software.
Rupp covers many of these Scrum antipatterns in depth. They take the form of:
- Roles that are not part of Scrum;
- Focus on the wrong product backlog items;
- Inappropriate priorities;
- Directing instead of leading;
- Non-value-added activities;
- Team burnout;
- Failure to provide full transparency;
- Development done beyond economic value;
- Missed market segment opportunities;
- Pushing deliveries beyond capacities;
- Failure to work as a team; and
- Failure to evolve the product incrementally.
Beware efforts -- intentional or otherwise -- to thwart Scrum in the enterprise, Rupp writes. It's all too easy for managers to consider or prioritize their own roles to the detriment of the team.
"[E]nterprise Scrum is hard to implement as it requires a change in the culture of the organization. Moreover, the changes will remove layers of middle management, and those people must have new opportunities within the organizational deployment of Scrum, or they will resist all efforts to make the deployment successful."
Editor's note: This excerpt is from Scaling Scrum Across Modern Enterprises, authored by Cecil Rupp, published with Packt, August 2020, ISBN: 978-1839216473.