Agile methodology has been in the industry for a while and now companies are looking toward taking it to the next level – scaling it to the enterprise level. It is essential to know that scaling is not multiplication. Many organizations typically start Agile Implementation with a team or two, then expand it to more teams, and ultimately think that they have scaled their Agile Implementation. This has been one of the biggest misconceptions about Scaling Agility.
Scaling Agility is not horizontal scaling, but scaling it through the team, project, program and portfolio layers of the enterprise.
While there are many frameworks and models available for scaling, one of the most popular ones is Scaled Agile Framework (known as SAFe), which is a publicly available framework for applying Lean Agile practices at the enterprise level.
SAFe is mainly built around the Lean principles and Systems thinking. It involves defining the Value Streams of a particular organization (concept to cash flow of value). This is to look at the ‘Value added activities’ of what the customer is willing to pay for.
The enterprise will do a portfolio level cost benefit analysis to prioritize and select the programs that can deliver highest value first. SAFe will have a portfolio backlog as the highest level backlog containing Business and Architectural Epics that will be prioritized.
Program Increment (PI)
A Program Increment is a product capability/enhancement accomplished by multiple teams together. All the teams participating in a particular program will follow same development cadence. They will adopt the principle called ‘Develop on Cadence and Deliver on Demand’ with all teams following the same cadence, while the ‘release to production’ will happen on demand – with selective teams participating in the immediate release.
The program level execution plays a vital role in the SAFe framework with all teams participating in an elaborated Release Planning process mainly deployed as an Agile Release Train (ART). Most programs have a one-to-one relationship with ARTs.
Agile Release Train (ART)
Agile Release Train (ART) is a long-lived team of Agile teams (consisting of 50—125 individuals) organized around an enterprise’s Value Streams. ART provides a typical 8-12 weeks of common cadence of planning, development and retrospectives. Each train will continuously define, build, test and demonstrate (show and tell) the product every 2 weeks and deliver as per market demand.
The Program Increment, together with ART planning, provides a centralized Strategy and localized execution by the teams, which is the biggest success mantra of the SAFe framework. This also addresses the aspect of ‘normalized practices’ across multiple teams, which otherwise is a real challenge for the organizations that have not scaled.
SAFe leverages economic prioritization through WSJF (Weighted Shortest Job First) and Kanban principles to prioritize the backlog items (at any level). This considers Cost of Delay that includes Business Criticality, besides the Business Value along with the remaining job size.
Evolution of Architecture
SAFe reinforces the importance of the need of Architectural Epics along with the Business Epics from the portfolio layer itself. This helps to build an architectural runway, with the technical infrastructure to support the implementation of upcoming features. This also helps the teams reduce technical debt and maintain/improve the code quality.
SAFe recommends the roles of an Enterprise Architect, besides a System Architect overseeing each Release Train. The SAFe framework provides increased visibility at the program and portfolio level. This will help organizations reorient themselves around the business value.
How to Scale?
The framework needs to be looked at as a set of guiding principles and needs customization for organizational suitability. Organizations need to assess existing practices and the current level of organizational maturity.
Enterprise scaling needs realigning some roles, or creating additional roles to support multiple teams at the program and portfolio layers. A lot of organizations prefer to start at a program layer and then scale up to the portfolio layer. All individuals need to be appropriately trained for their roles and responsibilities. Needless to mention that there has to be a concrete implementation plan and metrics to monitor the progress.
The key is to continuously reassure the alignment with the Agile Values and Principles as defined in the Agile Manifesto, while customizing some of the practices.