The increasing number of organizations performing Agile development at the team level know that nothing beats an Agile approach for delivering fully-tested products to the customer in the most efficient manner possible.
But as we explored in our recent eBook, Agile methodologies were originally created for teams working on project-focused delivery. So how do you scale Agile development approaches from the team level to work across an entire portfolio?
As Agile momentum continues to grow in every industry, “Agile Mature” organizations are implementing what’s called SAFe (Scaled Agile Framework) to create an Agile organizational structure at the Portfolio, Program and Team levels. If your team is having difficulty integrating Agile methodologies into your projects, read our recent blog on finding your agile rhythm.
In this post, I will explain:
- What SAFe is
- Portfolio Level responsibilities and key players
- Program Level responsibilities and key players
- Team level responsibilities and key players
1. What is SAFe?
SAFe is an industry-proven, value-focused method for scaling Agile to the Enterprise level. It answers tough questions like "How do we budget?", "How do we plan?" and "How do we become cross-functional in architecture and DevOps?"
SAFe helps large organizations point teams toward meeting the organization’s strategic goals, not just individual project goals. The framework provides the ability to create, and maintain, a centralized strategy with a coherent approach towards delivery of value.
The SAFe model has three levels that centralize the strategic themes of an organization. This centralized strategy, coupled with the de-centralized Agile development execution, can be an efficient manner of Enterprise Scale Agile.
2. Portfolio Level
The portfolio management level of SAFe provides aim for the entire system. This is where the organization’s strategic themes are given life, value and priority as part of the development process.
The majority of organizations that can benefit from implementing SAFe either currently have a Portfolio Management Office (PMO), or have a need to generate a group that performs this work. SAFe builds upon the typical PMO infrastructure by ensuring Lean and Agile practices are used.
Portfolio level responsibilities:
At the portfolio level, the team maintains a prioritized backlog of both architectural and business Epics in order to execute the organization’s roadmap and develop new products. These include initiatives that match strategic goals, have made it through the intake process, and are ready for implementation. Specific tasks include:
- Review intake requests
- Drive the strategic themes to realization
- Ensure the enterprise architecture has sufficient runway to support the new initiatives
- Mentor program groups and teams in Lean/Agile practices
- Monitor delivered value and productivity of the entire portfolio.
These are daunting tasks when using the standard waterfall approach. But by incorporating the Agile framework and principles recommended in SAFe, this becomes much more efficient. Knowledge, based on iterative feedback and meaningful metrics, is the ultimate deliverable for any Portfolio Management organization.
Key players at the Portfolio level
The Portfolio level contains Agile Leaders. Although roles and titles within the group will vary from one organization to another, this level contains:
- Portfolio Manager
- Chief Product Manager
- Enterprise Architect
- Enterprise Coaches
- Some organizations include CIO, CTO and other Executives within this group.
This group must contain the right balance for strategy, budgeting, governance, and have the ability to shepherd large strategic programs from inception to release. Implementation of enterprise- and system-level architecture is managed here as well. Keep in mind that this doesn’t prescribe the ability to implement emergent design; this group is responsible for the strategic architectural runway that will be used for all the new functionality being developed.
How Portfolio Level Runs: Funding products, not projects
The cohesive integration of the Portfolio Management group within Scaled Agile Framework brings the ability to understand, and manage, cost to market. SAFe enables Lean budgeting practices for organizations to fund products. The typical financing model of funding fragmented projects will be a thing of the past.
3. Program Level
The Program level in SAFe is where the Agile Release Train (ART) resides. Agile Release Trains are a group of 8-12 teams funded to perform long-term development based on the enterprise strategy. This approach provides a continuous flow of products, applications and services for your customers to enjoy.
SAFe utilizes value streams to align initiatives within the ART.
Program Level Responsibilities
The Program level pulls from the backlog of business and architectural epics generated within the Portfolio group, then works with epic owners to split these items into features that the teams within the ART can implement.
The Program backlog, just as any backlog, is constantly reviewed and updated to ensure that the most valuable items are placed highest in the queue. This includes:
- Working with teams to generate a high-level estimate of how long it will take to complete a feature.
- Performing analysis to determine ways of splitting features into smaller pieces for quicker delivery of value.
- Employing an algorithm known as Weighted Shortest Job First (WSJF) for sequencing features into a Program Increment. The calculations within WSJF take into account business value, time, cost of delay, and other factors. The highest WSJF score is the most important effort to begin working on.
Key Players at the Program Level
A common problem for teams when scaling Agile is access to dependent resources (Architects, DevOps, User Experience, Coaching, etc.). SAFe answers this by providing those resources for teams at the Program and even the Portfolio level. This ensures cohesion of design and deployment across a Release Train.
How Program Level Runs: Program Increments
An Agile Release Train develops within an iterative cycle called the Program Increment (PI). This is 8-12 week interval that provides cadence and synchronization to align teams to a strategic mission. All teams within the ART are on the same Sprint schedule to reduce risk and internal dependencies. This cadence-based structure will also have the ability to facilitate a common sense of purpose and shared ownership.
SAFe recommends a demonstration of all completed work midway through and at the end of each PI. This is in addition to the normal review performed within the Agile teams each Sprint. This keeps Product and Portfolio Managers, as well as Executives, fully aware of where the development effort stands within any given Program Increment.
4. Team Level
At the Team level, SAFe uses the Agile development Scrum, inheriting its Roles, Ceremonies and Artifacts. Once Release Planning has happened at the Program level, a team then plans every Sprint during Sprint Planning at a micro level; as typically prescribed by Scrum.
Team Level Responsibilities
Team requirements are stored in a Team Backlog, which is a subset of the Program Backlog and is managed by the team’s Product Owner. Team’s Sprint lengths are fixed based on the ART's (Agile Release Train) cadence.
Key Players at the Team Level
Teams are cross-functional and typically comprised of a Product Owner, Scrum Master, Developers, Testers and any specialized role required (User Experience, Business Analysts, etc...). They should have the ability to independently self-organize and complete a requirement from beginning to end.
How the Team Level Runs
Because Scrum does not imply engineering practices, Extreme Programming is used to guide engineering. Practices such as Continuous Integration and Test Driven Development can and should be implemented to ensure scalability and quality. Quality is non-negotiable in SAFe.
Scaling Agile efforts to the Portfolio and Program levels can be a daunting task, since it often becomes more difficult to provide a coherent aim for the system.
It is worth mentioning that an organization should have a reasonable amount of experience using Scrum at the team level before embarking on a SAFe implementation journey. The day-to-day and Sprint-to-Sprint operations of a Scrum team take some level of mastery. Without that, it will make adopting the SAFe framework very difficult for teams and the organization.