How To Scale Agile In Enterprise Environments
Agile software development, once the realm of small teams, is becoming more common as a practice in enterprise environments. Implementations and their pace vary widely, but enterprise agility is increasing throughout organizations and across almost all industries at an accelerated rate.
However, there is one hurdle enterprises face that their smaller counterparts don’t: scalability.
How do you scale agile – historically designed for small and individual teams – in environments where there are multiple teams and more complex systems?
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
- Factors needed for success
Current Trends in Enterprise Agility
Agile is gaining popularity across enterprises in virtually every industry. In VersionOne’s 11th Annual State of Agile Report, 94% of respondents surveyed said that their organization practices agile to some degree, with 98% saying they have realized success from agile projects. Furthermore, 71% are investing in DevOps.
The survey also shows there is a lot of opportunity for growth and improvement, with 80% 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 – increased productivity, delivery speed and time to market, ability to manage changing priorities, software quality – are clear, yet there are many barriers to realizing them. Unsurprisingly, many of these barriers come from the sheer size of enterprise organizations, and the bureaucratic nature that comes along with such size.
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 “tightly coupled, and monolithic blocks of procedural code” and 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.
Pre-existing Rigid/Waterfall Framework
Pre-existing methods that are at odds with agile methodologies can be seen as part of change resistance from a processual standpoint. Changing entire delivery frameworks from pre-existing processes – many of which have been the standard in organizations for years – takes effort, time, and investment.
Getting Executive Support
A common challenge to implementing and scaling agile methodologies on a large scale is getting executives on board. Changes of this magnitude can be perceived as risky, and the benefits need to be clearly communicated and in many cases, proven via pilot projects in order to get support from the C-suite. The mindset at the executive level also needs to be transformed as decision-making is often cemented in more rigid, waterfall frameworks.
Coordination Across Agile Teams
Even across teams that practice agile, coordination can be a huge challenge when trying to scale development and delivery. Furthermore, on the team level, goals may be clear-cut, but keeping larger organizational and multi-team goals in focus can prove difficult.
Another challenge to do with cross-team coordination, yet arguably more difficult, is having agile teams working with other teams and departments that don’t follow the same methodologies and/or mindset. The challenges of old and new methodologies existing simultaneously have been documented in many different scaling scenarios within enterprise organizations, particularly collaboration between teams and projects that mix agile and waterfall methodologies.
Lack of Agile Experience
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.
Agile Implementation and Execution
Not surprisingly, implementation and execution itself is a top challenge when it comes to scaling agile in enterprise environments; in particular, poor customization of agile methodologies to fit certain environments, as well as the tendency to revert back to old ways of doing things.
Frameworks for Scaling Agile In Enterprise Environments
Despite the myriad of 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 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 the 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).
Factors Needed For Success
Mindset and Alignment
A huge factor in successfully scaling agile is fundamentally changing the organizational mindset, with alignment around agile values and a realization that it is a more effective way of working which will positively impact the organization. Achieving this requires alignment around common goals to enable the introduction of new methods.
Management/Executive Support and Commitment to Change
Executive and managerial support, as well as a commitment to changing processes and mindset, are driving factors of success in scaling agile beyond single or small teams. Educating executives and managers on agile is essential to demonstrate the value that can be created by rethinking organizational structures and processes. As mentioned above, lack of commitment and sponsorship at the executive/managerial level is cited as a major challenge in large-scale agile transformation; in order to achieve success, executive backing must be visible.
According to VersionOne’s State of Agile Report, implementing and following consistent processes and best practices helps for smooth transitions from the old to the new. This is further backed by research in the Journal of Systems and Software, which found that conforming to a consistent approach helped coordinate work between teams and provide predictable progress for stakeholders.
The State of Agile Report indicates that 52% of respondents cited internal agile coaches as a key success factor to scaling agile effectively, with a further 36% saying agile consultants or trainers were important to success. Similar findings were replicated in other research, suggesting that investment in agile training and coaching for employees and management is an essential component of sustainable, large-scale agile transformation.
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 plethora of challenges that impede wider adoption of agile methodologies.
But scaling agile in enterprise environments is possible, as 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.