Traditional waterfall project management was the only option a few years back. It worked well for most projects, especially those that were ‘predictive’, but it wasn’t so great for adaptive projects. Agile has become a more popular method of managing projects, mainly software-based.
According to the Project Management Body of Knowledge Sixth Edition: “In a predictive or waterfall project life cycle, the project scope and time are determined in early phases of life cycle. The “deliverables” in an agile or adaptive life cycle are created over multiple iterations, where the scope and approval for each iteration are established as it begins.
This post will discuss Agile vs Scaled Agile and specifically the Scaled Agile Framework.
SAFe(r) and Agile are two different things
According to the Scrum Guide, the “essence” of Scrum is a small group of people. This would work if our projects didn’t have to scale beyond this small group. Native Scrum of Scrums can be used to scale between teams or functions. However, once you scale beyond this point, it is time to consider a scalable framework.
The main difference between Agile & Scaled Agile? Agile was created for small teams with specific roles. Scaled Agile can scale up to large enterprises.
Comparison of Scrum Framework and Scaled Agile Framework
Agile | SAFe(r) |
---|---|
Has defined roles – (Kanban does not) | Has several defined roles |
Core team of small size | Core team of small size |
Before each sprint begins, planning is done. | A Program Increment is a timebox that allows planning to be done. |
Teams scales | Scales for the enterprise |
Framework has no defined levels | Framework is divided into four levels |
Core values – Agile Manifesto, twelve principles | Core values: Quality, transparency, program execution, and alignment are all built-in |
Focused on customer and business value | Focused on customer and business value |
Does not describe value stream | A key element is the value stream |
What is Agile exactly?
Agile, according to the Agile Alliance is “the ability to create and respond to changes.” Agile is a method of managing and eventually succeeding in an uncertain and turbulent environment.
It refers to set values and principles, as outlined in the Agile Manifesto. It can be used to refer to many different projects, but it usually refers to a set of software development methods that use iterative (repeated processes), and incremental (successfully added functionality).
The Agile Manifesto says that:
By doing the work and helping others, we are discovering better ways to develop software. This work has brought us to the realization of our potential:
- Interactions between individuals and processes
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Response to changes following a plan
This means that while the items to the right have value, the items to the left are more valuable.
The underlying set of 12 principles is also important. These two principles are the first. They state that our highest priority is to satisfy customers through timely and continuous delivery software of high value. We also “welcome changes in requirements, even late in development.” Agile processes harness the power of change to enhance customer competitive advantage.
Scrum, Extreme Programming, Kanban, and Feature Driven Development (FDD) are some of the most popular Agile methods. Scrum is the most well-known of all these methods, so we’ll concentrate on it.
Most Agile methodologies share one thing in common: they use timeboxes. Agile Alliance defines timeboxes as “a pre-agreed period of time during the course of which a person, or a group, works steadily towards achieving some goal.”
Iterations are used to “develop the product through repeated cycles and increments to successively increase the functionality of the products.” Below is an illustration of Agile Scrum.
The Scrum Team is responsible for creating an increment at the end of each sprint or timebox. Regular interactions with stakeholders, small batches, reviews, and retrospectives improve product and process.
Three important roles are defined by the Scrum version of Agile:
- The Product Owner is responsible for ordering the work to solve a complicated problem and placing it in a Product Backlog. The Product Owner is responsible for communicating and ordering Product Backlog items and making sure that the Product Backlog is visible, understandable, and transparent.
- Scrum (or Development) Team transforms a selection from work into an increment in value within a Sprint. The Scrum Team and its stakeholders review the results and make adjustments for the next Sprint. They work cross-functionally, are self-organized and determine how to complete the work.
- Scrum Master is responsible for the effectiveness of the Scrum Team. This is done by helping the Scrum Team improve its practices within Scrum and by removing any impediments.
Scrum uses multiple events, or “ceremonies”, to monitor progress towards the sprint goal and adjust the sprint backlog (items that need to be worked upon) as necessary.
- Daily Scrum: The purpose of the 15-minute Daily Scrum is to monitor progress towards the Sprint Goal, adjust the Sprint Backlog as needed, and adjust the planned work in the future.
- Sprint Review – This Sprint Review examines the Sprint’s outcome and recommends future changes. Scrum Team discusses progress toward the Product Goal and presents the Scrum Team’s work.
- Retrospective – The Sprint Retrospective’s purpose is to identify ways to improve quality and effectiveness. The Scrum Team reviews how the Sprint was conducted in terms of individuals, interactions, processes and tools.
Instead of command-and-control as seen in waterfalls, agile uses servant leadership. This is a philosophy and practice that encourages listening, empathy and healing.
What is SAFe(r), Agile?
Agile was created for small teams. SAFe(r), on the other hand, was designed to scale from essential to full SAFE(r).
Cprime published recently a report called Agile At Scale 2020. This report was based upon a survey of companies that are scaling Agile beyond their small teams to the enterprise. The sizes of the development teams varied from 50 (32%) up to an astounding 1001+ (18.4%).
The study also found that SAFe(r) is the most popular framework at 34%, while Scrum only is at 24%. Although the study does not go into more detail, it is realistic to believe that companies will need to use Scrum as a tool to scale up to enterprise-level projects.
SAFe(r), for Lean Enterprises, is a knowledge base that integrates proven practices and competencies to achieve business agility through Lean, Agile and DevOps. There are many levels that one can scale it to:
Essential SAFE(r), which contains the minimum set of roles and events required to deliver business solutions through an Agile Release Train, (ART) as part of a Team or Agile Teams.
Large Solution SAFe(r), describes additional roles and practices to help build and develop the most complex applications, networks, cyber-physical systems, and other services. This includes an additional skill called Enterprise Solution Delivery.
Portfolio SAFe(r), which aligns strategy and execution, organizes solution development around value flow through one or more streams. This configuration is the smallest that can be used for Business Agility. It also adds the core competencies in Lean Portfolio Management and Continuous Learning Culture to Organizational Agility.
Full SAFe(r), the largest configuration, is the best. It allows for large-scale, integrated solutions that often require hundreds of people to create and maintain.
The SAFe(r), like Agile, has many roles. Some of these roles are dependent on one’s ambitions.
Essential SAFe(r), key roles
These are the essential SAFe(r), key roles and responsibilities at the Essential level
- Business owners – the key stakeholders responsible for the success of the business.
- System Engineer – Responsible for sharing and designing the architectural vision for the agile release train.
- Product manager – Responsible for prioritizing features, and ensuring that they are clearly described
- Release Train engineer – Responsible for ensuring that the agile release train (the team made up of multiple agile teams) works well together and follows the processes
- Agile Teams are responsible for delivering and ensuring quality work.
- ScrumMaster – Responsible for ensuring that the team follows the processes and works efficiently.
- Product owner – Responsible for prioritizing stories, and making sure they are clearly described.
At Large Solution Level, Key SAFe(r), roles
These are the key SAFe(r), main responsibilities at the large level solution level.
- Solution Engineer – Responsible for sharing and designing the architectural vision across multiple agile releases trains. This ensures that the solutions delivered are fit for purpose.
- Solution Management is responsible to develop and support large-scale, sustainable, profitable, and viable business solutions that meet customer requirements over time.
- A Solution Train Engineer (STE), is a servant leader and coach, facilitating the work of all ARTs in the Value Stream and providing guidance and support.
- Customer – Consumes the output of the agile release train. This could be customers from outside or employees within the company. Customers are the ones who will decide whether the output is valuable.
Portfolio level key SAFe(r), roles
These are the key SAFe(r), portfolio-level roles:
- Epic Owners – Responsible for creating an epic, explaining its benefits and facilitating its execution.
- Enterprise Architect – drives architectural initiatives for portfolio.
Full SAFe(r), however, does not have any new roles.
Plan
Both Scrum and Agile plan work at the beginning each sprint. However, SAFe(r), on the other hand, has an unique event called a Program Increment. This is where a team of Agile teams works together to incrementally develop, deliver, and, where appropriate, operate one or more solutions within a value stream.
A Program Increment is a time frame during which an Agile Release Train delivers incremental benefit in the form working, tested software or systems. Typically, PIs last between 8 and 12 weeks.
There are typically four development Iterations followed by one Innovation and Planning Iteration. An Iteration (or Agile Release Train) is an Iteration. A PI refers to the Agile Team. It is a time-bound system for building and validating full system increments, demonstrating value and receiving quick feedback.
Each PI
- Plan The ART’s next round of work
- Limit work in progress (WIP). Kanban’s limit work in progress is a Kanban technique. It helps to improve focus, clarity, communication, and realistic analysis and projection.
- Summarizes newsworthy value for feedback
- Assures consistent, ART-wide retrospectives
It is important to note that SAFe(r), uses a concept called Value streams. Value streams are the steps an organization takes to provide continuous value to customers.
A Portfolio contains one or more value stream(s) that are dedicated to building and supporting a set solutions. These products, services or systems can be internal or external to Enterprise.
What are Agile, Scrum, and SAFe(r), similar?
Scrum, which is similar to XP or Kanban, is a type Agile. All types of Agile are similar in that they work in short bursts and keep in close touch with customers. Scrum and SAFe (r) are the true comparisons.
Scrum/Agile (r) and SAFe(r), are similar in that both use the roles described in Scrum Guide, such as Product Owner and Scrum Master. Retrospectives, sprint reviews, and sprints are all subject to the same rules.
Benefits
Some benefits of Agile include:
- Customer satisfaction – Their regular involvement assures them that they will get the they desire
- Ability to quickly pivot away
- Less risk due to shorter timeboxes, and better quality integrated into the team
- Allows for continuous improvement due to regular retrospectives
SAFe(r), in addition to all these benefits, also allows you to look at work not only in terms of value streams, but also the portfolio that is related to the enterprise’s strategy.
Conclusion
Agile has evolved over time to become a framework that allows organizations to be flexible in how they approach getting work done. The focus on product delivery is minimized by having defined roles, small batches of work, and a regular cadence.
Agile is a method that focuses on small teams. Once work expands into the enterprise, scaling methodologies are required. This will allow teams to continue to focus on the bigger strategic picture while still allowing them to work in Agile. Scaled Agile Framework (SAF) is an example of such a methodology. It retains the core principles of Agile, but adds roles or ceremonies that enable it to serve at any level of an organization.