SAFe (Scaled Agile Framework)
The Scaled Agile Framework (SAFe) is a framework for scaling Agile across the enterprise. SAFe drives faster time-to-market as well as significant increases in quality and productivity, and boosts employee engagement.
The Scaled Agile Framework includes a set of principles, processes and best practices that helps larger organizations adopt Agile methodologies, such as Lean and Scrum, to more rapidly develop and deliver high-quality services and products.
SAFe offers a knowledge base of integrated practices and principles that support enterprise agility. The SAFe framework also provides a simple, lightweight experience for the software development team.
SAFe has four core values: alignment, built-in quality, transparency and program execution. Certified SAFe professionals are recognized because they're able to support the successful transformation of companies into Lean-Agile enterprises.
Program increment planning is one of the most important events in the Scaled Agile Framework. Program increment aims to set the direction and activities for the release train's next eight to 12 weeks of work through a large-scale planning session.
Initially, SAFe described three levels in an enterprise, i.e., portfolio, program and team. However, the latest iteration, SAFe 5.0, combines the team level and program level into a new Essential SAFe level that consists of the minimal set of roles, events and artifacts organizations need to continuously deliver business software via an Agile release train.
SAFe is based on 10 underlying Lean-Agile principles that direct and inform the SAFe roles and practices. These principles include:
- Take an economic view: Economic variables, including the costs of development and production, delivery lead times and the value that's created, should drive decisions at all levels from portfolio to development teams.
- Apply systems thinking: Individuals should understand the common objectives of the larger system and commit to achieving these goals. Systems thinking incorporates every aspect of a system and its environment into the design, development, deployment and maintenance of the system itself.
- Assume variability; preserve options: Retain numerous requirements and design options longer in the development cycle. Aim to manage variability and preserve options, providing the controls and flexibility that teams need to build the best applications.
- Build incrementally with fast, integrated learning cycles: Develop applications incrementally in a series of short iterations to mitigate risk and enable faster customer feedback.
- Base milestones on objective evaluation of working systems: Business owners, developers and customers are all responsible for ensuring that investments in new applications will deliver economic benefits. Use objective methods to measure progress rather than traditional phase-gate milestones.
- Visualize and limit work in progress (WIP), reduce batch sizes and manage queue lengths: These three methods to implement flow -- visualizing and limiting, reducing the batch sizes of work and managing queue lengths -- increase throughput and speed value delivery.
- Apply cadence, synchronize with cross-domain planning: Developers should work through iterations at a cadence that offers predictable rhythms for development. In addition, periodic cross-domain planning provides the opportunity for the various aspects of an application to be integrated and evaluated together at one time.
- Unlock the intrinsic motivation of knowledge workers: Managers must create an environment that enables knowledge workers to succeed by offering tough feedback in a supportive manner, by their willingness to become more vulnerable and by encouraging others to engage in positive ways.
- Decentralize decision-making: Managers should support decentralized decision-making by helping knowledge workers understand how decisions are made so they can make better decisions. Leaders must establish the rules for decision-making and then enable others to make those decisions.
- Organize around value: Value streams evolve continuously, and the teams and Agile release trains must evolve with them. A key driver for business agility is the ability of companies to organize around value as well as reorganize around new flows of value as necessary.
SAFe implementation steps
Organizations should follow these 12 steps to ensure successful SAFe implementations:
- Reaching the tipping point: For an organization to begin any transformation there needs to be a "tipping point," i.e., a catalyst for change. Company leaders must identify and communicate the business reasons that the organization is making the shift to SAFe. They also have to mentor and motivate the individuals involved in the move to SAFe and make certain that all the planned activities are aligned with the enterprise's vision for change.
- Train Lean-Agile change agents: Company leaders have to identify people from across the organization who can be change agents and ensure they're trained as certified SAFe program consultants. These change agents will then train business leaders and other stakeholders in SAFe processes and practices.
- Train executives, managers and leaders: Executives must also be trained so they can influence employees about the Lean-Agile views and practices.
- Create a Lean-Agile center of excellence: To make certain the entire company is committed to Lean-Agile practices, it's important to create a center of excellence. This will help optimize performance throughout the organization as everyone will be practicing Agile project management.
- Identify value streams and ARTs (Agile release trains): Identifying value streams and ARTs will help reinforce the importance of implementing SAFe across the enterprise. Value streams are the value a business offers its customers. Agile release trains are the agile teams that develop the applications that create value for the business.
- Create the implementation plan: After establishing its business objectives, an organization must prioritize these goals and develop an implementation plan to accomplish its overall vision for moving to SAFe.
- Prepare for ART launch: To launch each ART successfully, an organization must first define the ART, set deadlines, assemble Agile teams, train the individuals on these teams and conduct readiness assessments.
- Train teams and launch the ART: Everyone on the ART teams must fully understand their roles and have the necessary skills to perform their jobs successfully.
- Coach ART execution: An organization must shift its focus from planning and training to coaching and supporting the ART as necessary.
- Launch more ARTs and value streams: Launch each subsequent ART by preparing for launch, training teams, coaching ART execution and providing each ART with the necessary time and effort to succeed.
- Extend to the portfolio level: An enterprise now has to apply all of the previous steps at the portfolio level to set the overall culture, improve performance throughout the company and achieve its objectives. Strategic themes are distinguishing business objectives that connect a portfolio to the company's strategy. Strategic themes influence the portfolio strategy and offer business context to enable better portfolio decision-making.
- Accelerate: To sustain and improve the overall adoption and execution of SAFe, an organization has to find ways to take advantage of new opportunities and find ways to improve. At this point, leaders should be operating in a continuous Lean-Agile mindset.
Benefits of SAFe
The Scaled Agile Framework provides several benefits, including:
- Allows organizations to take advantage of a comparatively lightweight framework that enables efficiency in software development while continuing the centralized decision-making at the enterprise level.
- Helps teams stay aligned with the objectives of the business and become more transparent.
- Makes it easier for cross-functional teams to collaborate more effectively.
- Appropriate for large enterprises.
- Emphasizes people rather than technology.
Limitations of SAFe
Although SAFe offers many benefits, it also comes with some limitations, including:
- Takes too much of a top-down approach, rather than an approach that's team-based.
- Places a heavy emphasis on using its own practices and rules. Doesn't leave a lot of room for organizations to customize these practices and rules.
- Adds layers of oversight, administration and coordination, making it resemble the waterfall approach that many teams want to avoid.
SAFe vs. Scrum
Scrum and SAFe both function under Agile principles and values. Scrum is basically used to organize small teams, while SAFe is used to organize the entire enterprise.
Scrum is an iterative method of application development focusing on a regular cadence of delivery. Scrum depends on cross-functional teams, a set of ceremonies and some specific supporting roles to help fuel these deliveries. Scrum ceremonies provide the framework for teams to get work done in a structured manner.
SAFe defines an approach for scaling Scrum to make it work for larger enterprises with larger teams working on the same product than what Scrum recommends.
Put simply, Scrum is a framework that's based on Agile values and principles, while SAFe is a scaling framework to implement Scrum at the enterprise level.