How To Scale Agile In Enterprise Environments
Agile software development is a methodology focused on iterative decision-making, where requirements and solutions are developed through collaboration between multiple teams. Traditionally favored by small groups, agile development has become increasingly popular amongst larger organizations across almost all industries.
However, while agile development enables teams to deliver valuable products quicker, more efficiently, and with greater quality, scaling agile is still one of the most challenging obstacles for enterprises. This is largely due to how these enterprises are structured with multiple teams and more complex systems than their smaller counterparts.
This post is going to look at how to scale agile in an enterprise environment, examining:
- The current trends in enterprise agility
- Major challenges enterprises face in scaling agile
- Frameworks for scaling agile in enterprise environments
- Successful Agile Implementation
Current Trends in Enterprise Agility
VersionOne’s 13th Annual State of Agile Report shows that 97% of respondents surveyed said that their organization practices agile to some degree, with 95% saying they have realized success from agile projects. Furthermore, 73% are investing in DevOps.
The survey also shows there is a lot of opportunity for growth and improvement, with 83% claiming that their organization was at or below the “still maturing” level with agile. Even organizations that have realized some success from adopting agile methodologies are facing significant challenges with scaling agile.
Major Challenges to Scaling Agile In Enterprise Organizations
The benefits of agile for enterprises are clear – increased productivity, delivery speed and time to market, ability to manage changing priorities, software quality, and boosting team morale. However, the sheer size of enterprise organizations and the bureaucratic nature that comes along with such size present numerous challenges in scaling agile.
The following are some of the main challenges faced by enterprises.
Legacy systems create many difficulties for a number of reasons, ranging from the technology to the fact that teams working on these systems have historically worked within silos. On the technical side of things, legacy systems are not designed for agile practices that focus on rapid and frequent delivery.
Equally challenging is the mindset surrounding legacy systems; this is symptomatic of a larger enterprise challenge that includes skepticism of new methods and resistance to organizational change, or in other words, the “things have always been done this way” mentality.
One of the most common and difficult challenges to scaling agile in enterprise environments is resistance to change. In large delivery environments, where processes are so ingrained and teams are large, it is very difficult to enact change that will affect organizational culture and processes. Change resistance plays out in a number of ways, from general skepticism of the efficacy of agile methodologies to managerial resistance to change and pushback from the bottom-up.
Getting Executive Support
Change impacts all aspects of an organization; from workflows to employee satisfaction. It’s important for leaders to be prepared to address any issues or backlash that might arise during periods of change by providing constant support to ensure that the organization stays focused on an agile mindset. This is particularly difficult as the mindset at the executive level also needs to be transformed as decision-making is often cemented in more rigid, waterfall frameworks. Executive leadership support is at the foundation of scaled agile transformation. Successful transformations are a result of leadership teams that are committed to organizational change, and promoting innovation and collaboration as new styles of working are implemented.
Integrating Non-Agile Teams
A contributing factor in a successful transition to an agile environment is an enterprise’s ability to get multiple teams onboard. Having agile teams working with other teams and departments that don’t follow the same methodologies and/or mindset has proven to be one of the main challenges of cross-team coordination. Changing entire delivery frameworks from pre-existing processes – many of which have been the standard in organizations for years – takes effort, time, and investment.
Lack of experience is a notable challenge and may include aspects like lack of investment in coaching and training, misunderstanding agile concepts and their purpose, and general organizational and personnel inexperience in implementing and delivering via agile frameworks. For an enterprise to properly scale agile, a training and coaching program on agile values and processes is necessary as insufficient guidance leads to chaos and poor implementation. Without a thorough understanding of what agile is, organizations that attempt to scale will encounter significant challenges.
Recommended Reading – Key Challenges in Enterprise Mobility: The Impact of Internal Digital Transformation
Frameworks for Scaling Agile In Enterprise Environments
Despite the numerous challenges discussed above, there are many examples of successful agile transitions for large enterprise organizations. Success stories are often attributable to particular scaling frameworks designed to help normalize the agile mindset and methodologies in large organizations. Below, we cover a handful of the most popular frameworks that are more widely implemented and have been proven to succeed in large software delivery environments.
SAFe (Scaled Agile Framework)
The Scaled Agile Framework (SAFe®) helps businesses address the significant challenges of developing and delivering enterprise-class software and systems in the shortest sustainable lead-time. SAFe® combines agile development, systems thinking, and lean product development principles.
SAFe® is designed to address broader organizational goals that transcend single teams. In the framework, teams are aligned under “Value Streams” and structured via “Agile Release Trains (ARTs)”:
- Value Streams are series of steps that an organization uses to build solutions that provide a continuous flow of value to a customer. They are used to define and realize business objectives and organize ARTs, and deliver either internal business value or end-user value
- An Agile Release Train (ART) is a long-lived team of multiple agile teams and other stakeholders that develops and delivers solutions incrementally via a series of fixed-length iterations. The ART aligns teams under a common business and technology mission
The framework has a number of solution configurations which can be applied depending on the size and complexity of the delivery organization. More details about SAFe® principles and configurations can be found on the SAFe® website.
Scrum of Scrums (SoS)
The Scrum of Scrums technique is one that is used to scale Scrum to large groups. Typically, it consists of many smaller agile teams of 5-10 people – each with their own daily scrum – having one member participate in a separate “scrum of scrums” with counterparts from other agile teams. These meetings have a similar structure to daily scrums, except they focus on the challenges of coordination between separate agile teams, with a corresponding backlog consisting of items to address these challenges.
This approach has been proven to work in large enterprise environments, resulting in faster software delivery than traditional waterfall methods.
LeSS (Large Scale Scrum)
LeSS is a framework developed by Bas Vodde and Craig Larman that has been adopted in large enterprise environments. Like the Scrum of Scrums framework, it is focused on scaling scrum for large product delivery groups consisting of multiple teams. It has been demonstrated to work in a large development environment for companies like Ericsson, Cisco, and UBS.
LeSS differs from SoS in that it focuses on one product, with one Product Owner, one Product Backlog, and a single common sprint, whereas in SoS each team has its own Product Backlog.
As the above graph shows, many organizations are using internally created methods to scale agile. These methods may combine aspects of some of the popular scaling frameworks, but are implemented uniquely from organization to organization.
Other frameworks include Lean Management, Agile Portfolio Management (APM), Disciplined Agile Delivery (DAD), and Recipes For Agile Governance In the Enterprise (RAGE).
Successful Agile Implementation
While the implementation of agile in enterprise environments has helped organizations improve software quality, increase team productivity, better manage priorities, and increase speed to market, many companies face issues with scaling agile beyond small teams or groups of teams. Legacy systems, knowledge gaps, change resistance, and lack of managerial buy-in are just a handful of the challenges that impede wider adoption of agile methodologies.
However, scaling agile in enterprise environments is possible, as the successes of some organizations demonstrate. Key success factors like executive support, shifts in delivery and organizational mindset, consistent processes, and proper training and coaching should be areas of focus for companies that are trying to implement agile or scale their agile efforts beyond single or small teams.