Uploaded by kalyan sakti

SAFe Material

advertisement
SAFe: TEAM & PROGRAM LEVEL
Lean UX
Lean User Experience (Lean UX) design is a mindset, culture, and a process that embraces LeanAgile methods. It implements functionality in minimum viable increments and determines success by
measuring results against a benefit hypothesis. Lean UX design extends the traditional UX role beyond
merely executing design elements and anticipating how users might interact with a system. Instead, it
encourages a far more comprehensive view of why a Feature exists, the functionality required to
implement it, and the benefits it delivers. By getting immediate feedback to understand if the system
will meet the real business objectives, Lean UX provides a closed-loop system for defining and
measuring
value.
Teams apply agile methods to avoid Big Design Up-front (BDUF), focusing on creating a
hypothesis about the feature’s expected business result, and implement-test that hypothesis
incrementally UX design has been an area of specialization. Agile teams are empowered to do
collaborative UX design and implementation, and significantly improves business outcomes and time-tomarket. Deliver a consistent user experience across various system elements or channels or even
different products from the same company. The primary difference is hypothesis-driven aspects can
only be evaluated by implementing the code, instrumenting where applicable, and gaining the actual
user
feedback
in
a
staging
or
production
environment.
System Team:
The System Team is a specialized Agile Team that assists in building and supporting the agile
development environment, typically including development and maintenance of the toolchain that
supports the Continuous Delivery Pipeline. The System Team may also support the integration of assets
from agile teams, perform end-to-end Solution testing where necessary, and assists with deployment
and Release on Demand. In Safe, Agile teams are not stand-alone units. Instead, they are part of the
Agile Release Train (ART), responsible collectively for delivering larger system and solution value. During
the transition to Agile, additional infrastructure work is typically required to integrate solution assets
more frequently. Once the infrastructure matures, System Teams are sometimes eliminated from an
ART, and the development teams take on the responsibilities for maintenance and use of the systems.
It involves
1. There is one System Team per ART that coordinates solution integration and validation without
additional help
2.
There is a System Team only for Solution Train, which can fulfill these responsibilities for
each of its ARTs
3. There are System Teams for both the ARTs and Solution Train
Responsibilities
1. Building Development Infrastructure
2. Solution Integration
3. End-to-End Testing
4. System and Solution Demos
Vision:
The Vision is a description of the future state of the Solution under development. It reflects
Customer and stakeholder needs, as well as the Feature and Capabilities, proposed to meet those
needs. The vision is both aspirational and achievable, providing the broader context—an overview and
purpose—of the solution under development. It describes the markets, customer segments, and user
needs. It sets the boundaries and context for new features, Nonfunctional Requirements (NFRs), and
other work. Its focus is on the solution, a portfolio vision is reflecting how the Value Streams will
cooperate to achieve the Enterprise objectives. Agile Release Trains (ARTs) and Agile Teams may have
their
own
vision
to
communicate.
Solution Vision
1. What will this new solution do? What problems will it solve?
2. What features and benefits will it provide?
3. For whom will it provide them?
4. What Nonfunctional Requirements will it deliver?
ROADMAP:
The Roadmap is a schedule of events and Milestones that communicate planned Solution deliverables
over a planning horizon. SAFe currently defines two types of roadmaps: PI roadmap and solution
roadmap. A PI roadmap includes near-term commitments for an Agile Release Train (ART) or Solution
Train for the planned, upcoming Program Increment (PI) and offers a forecast into the deliverables and
milestones for the next two to three PIs. The solution roadmap provides a longer term often multiyear
view, showing key milestones and deliverables needed to achieve the solution Vision over time.
Planning Horizon
Daily plan: Each day the team holds a Daily Stand-up (DSU) meeting to coordinate their work, review
where they are and plan what the team will work on today to achieve the iteration goals.
Iteration plan: Each iteration begins with an iteration plan, where all team members determine how
much of the Team Backlog they can commit to delivering during an upcoming iteration. The team
summarizes the work as a set of committed Iteration Goals.
Current PI plan: Represents the plan for the current PI created during the PI planning event. PI roadmap:
The PI roadmap consists of a committed plan for the current PI and offers a forecast of the deliverables
and milestones for the next two to three PIs.
Solution roadmap: Provides a longer term multiyear view, showing key milestones and deliverables
needed to achieve the solution vision over time.
PI Roadmap - consists of a series of planned PIs with milestones called out. Market events are
represented as a fixed date milestone at the top of the roadmap, while solution releases are depicted
with small boxes.
Solution Roadmap: Forecasting for three PIs will not meet the needs of enterprises that build large,
complex systems, with critical delivery dates and customer commitments. Often these require multiple
suppliers and long lead times for developing hardware and major subsystems.
PI Road Map
Solution Road Map
Milestones: Milestones are used to track progress toward a specific goal or event.
Types:
1. PI milestones – These support the ability to objectively evaluate progress towards the technical or
business hypothesis. These occur on the PI cadence.
2. Fixed-date milestones – Not everything, however, occurs on cadence. Software and systems
engineering involves many factors that rely on external events, third-party deliverables, and external
constraints. These often call for fixed-date milestones that are distinct from the development cadence.
3. Learning milestones – In addition, learning milestones help validate business opportunities and
hypotheses.
Communities of Practice (CoP ‘s) :
Organized groups of people having common interest in a specific technical or business domain.
Collaborate regularly to share information, improve skills, and actively work on advancing knowledge of
domain.
Core team – The core team forms the heart of the community that will organize, charter, market,
nurture, and operate the community.
Active – These members work closely with the core team to help shape the definition and direction of
the CoP. This includes defining the community’s shared vision, purpose, roles, and strategies for
interaction, marketing, and communications.
Occasional – These members participate when specific topics of interest are addressed or when they
have something to contribute to the group. They are often the largest group in the community.
Peripheral – These members feel a connection to the community but engage on a limited basis. These
could be newcomers or those who have a more casual interest in community activities.
Transactional – These members are the least connected to the community and may connect only to
access CoP resources or to provide a specific service to the CoP (for example, website support)
Shared Services:
Represents the specialty roles, people, and services required for the success of an Agile Release
Train (ART) or Solution Train, but cannot be dedicated full-time. Because these resources are specialized
often single-sourced and typically quite busy, each ART and Solution Train must plan to engage them.
Responsibilities:
1. Participating in Program Increment (PI) Planning as well as Pre- and Post-PI Planning.
2. Driving requirements where necessary, adding to solution intent and taking ownership of their
portion of dependent backlog items.
3. Collaborating with Agile teams to fulfill the dependencies that occur during PI execution.
4. Participating in System Demos and Solution Demos, and Inspect and Adapt ( I&A) workshops,
help in many improvement backlog items ,reflect challenges with specialized skills and
dependencies.
Metrics
Metrics are agreed-upon measures used to evaluate how well the organization is progressing toward the
portfolio, large solution, program, and team’s business and technical objectives.
Lean Portfolio Metrics
Enterprise Balanced Scorecard
The enterprise balanced scorecard provides four perspectives to measure performance for each
portfolio although the popularity of this approach has been declining over time. These measures are:
1. Efficiency
2. Value delivery
3. Quality
4. Agility
Program & Solution train Performance Metrics:
Functionality
PI-1
PI-2
Program Velocity
Predictability measure
# of Features Planned
# of Features Accepted
# of Enable Features planned
# of Enable Features Accepted
# of Stories Planned
# of Stories Accepted
Quality
Unit Test Coverage %
Defects
Total Tests ( Manual + Auto)
% Automation of tests
# of NFR Tests
PI-3
Other Metrics Verified
1. Cumulative Flow Diagram
2. Continuous Delivery Pipeline Efficiency
3. Deployments and Releases per Time-box
4. Recovery over Time
5. Velocity ( Planned vs Actual)
6. Team PI Performance Report ( Business value generated)
Built – IN – Quality
Built-In Quality practices ensure that each Solution element, at every increment, meets
appropriate quality standards throughout development. Built-in quality enables the SAFe Continuous
Delivery Pipeline and the ability to Release on Demand.
1. Higher customer satisfaction
2. Improved velocity and delivery predictability
3. Better system performance
4. Improved ability to innovate, scale, and meet compliance requirements
Continuous Delivery Pipeline
Built-in quality begins with architecture and design, which ultimately determines how well a
system can support current and future business needs. Quality in architecture and design make future
requirements easier to implement, systems easier to test, and helps to satisfy NFRs. As requirements
evolve based on market changes, development discoveries, and other reasons, architectures and
designs must also evolve. Architecture and design also determine a system’s testability. Modular
components that communicate through well-defined interfaces contain seams that allow testers and
developers to substitute expensive or slow components with test doubles. All system capabilities are
ultimately executed by the code (or components) of a system. The speed and ease with which new
capabilities can be added depends on how quickly and reliably developers can modify it.
TDD and Unit Testing: The unit testing practice breaks the code into parts and ensures that each part
has automated tests to exercise it. These tests run automatically after each change and allow developers
to make fast changes, confident that the modification won’t break another part of the system. Tests also
serve as documentation and are executable examples of interactions with a component’s interface to
show how that component should be used. Test-Driven Development (TDD) guides the creation of unit
tests by specifying the test for a change before creating it. This forces developers to think more broadly
about the problem, including the edge cases and boundary conditions before implementation. Better
understanding results in faster development with fewer errors and less rework.
Pair Work: Pairing has two developers work the same change at the same workstation. One serves as
the driver writing the code while the other as the navigator providing real-time review and feedback.
Developers switch roles frequently.
Collective Code Ownership: reduces dependencies between teams and ensures that any one developer
or team will not block the fast flow of value delivery. As part of making a change, “any developer can
change any line of code to add functionality, fix bugs, improve designs, or refactor.” supporting coding
standards encourages consistency so that everyone can understand and maintain the quality of each
component.
Achieving System Quality: While code and design quality ensure that system artifacts can be easily
understood and changed, system quality confirms that the systems work as expected and that everyone
is aligned on what changes to make. Create Alignment to Achieve Fast Flow Alignment and shared
understanding reduce developer delays and rework, enabling fast flow. Behavior-Driven Development
(BDD) defines a collaborative practice where the Product Owner and Dev Team agree on the precise
behavior for a story or feature. Applying BDD helps developers build the right behavior the first time and
reduces rework and errors.
Continuously Integrate the End-to-End Solution: continuous integration (CI) and continuous
deployment (CD) provides developers with fast-feedback on changes. Each change is built quickly and
then integrated and tested at the multiple levels, including in the deployment environment. CI/CD
automates the process to move changes through their stages and respond when a test fails. Quality
tests for NFRs are also automated. While CI/CD strive to automate all tests, some functional
(exploratory) and NFR (usability) testing can only be performed manually.
Achieving Release: Quality Releasing allows the business to measure the effectiveness of a Feature’s
benefit hypothesis. The faster an organization releases, the faster it learns and the more value it
delivers. Modular architectures that define standard interfaces between components allow smaller,
component-level changes to be released independently. Smaller changes allow faster, more frequent,
less risky releases, but require an automated pipeline to ensure quality.
Scalable Definition of Done: The continuous development of incremental system functionality requires
a scaled definition of done to ensure the right work is done at the right time, some early and some only
for release.
DEVOPS:
1. Culture
2. Automation
3. Lean Flow
4. Measurement
5. Recovery
Find a Course: Go DevOps is a mindset, a culture, and a set of technical practices. It provides
communication, integration, automation, and close cooperation among all the people needed to plan,
develop, test, deploy, release, and maintain a Solution.
Goal of DevOps:
Increases the frequency and quality of deployments Improves innovation and risk-taking by
making it safer to experiment Realizes faster time to market Improves solution quality and shortens the
lead time for fixes Reduces the severity and frequency of release failures improves the Mean Time to
Recovery (MTTR)
Collaboration and organization – DevOps relies on the ability of Agile teams and IT Operations teams to
Page 280 of 433
collaborate effectively in an ongoing manner, ensuring that solutions are developed and delivered faster
and more reliably. This is implemented, in part, by including operations personnel and capabilities on
every ART.
Risk tolerance – DevOps requires a tolerance for failure and rapid recovery, and rewards risk-taking.
Self-service infrastructures – Infrastructure empowers development and operations to act
independently without blocking each other.
Knowledge sharing – Sharing discoveries, practices, tools, and learning across silos is encouraged.
Automate everything mindset – DevOps relies heavily on automation to provide speed, consistency, and
repeatable processes and environment creation.
Automate Everything: Automation facilitates faster learning and response to market demand and
customer feedback. Builds, testing, deployments, and packaging that are automated improve the
reliability of processes that can be made routine.
Application Lifecycle Management (ALM) – Application and Agile lifecycle management tools create a
standardized environment for communication and collaboration between development teams and
related groups. Model-Based Systems Engineering provides similar information in many contexts.
Artifact Management Repository – These tools provide a software repository for storing and versioning
binary files and their associated metadata. Build – Build automation is used to script or automate the
process of compiling computer source code into binary code.
Testing – Automated testing tools include unit and acceptance testing, performance testing, and load
testing.
Continuous integration – CI tools automate the process of compiling code into a build after developers
have checked their code into a central repository. After the CI server builds the system, it runs unit and
integration tests, reports results, and typically releases a labeled version of deployable artifacts.
Continuous deployment – Deployment tools automate application deployments through to the various
environments. They facilitate rapid feedback and continuous delivery while providing the required audit
trails, versioning, and approval tracking. Additional tools – There are numerous other important DevOps
support tools: configuration, logging, management and monitoring, provisioning, source code control,
security, code review, and collaboration.
Page 281 of 433
Lean Flow:
Visualize and limit Work in Process (WIP) – Helps teams identify bottlenecks and balance the amount of
WIP against the available development and operations capacity, as work is completed when the new
feature or functionality is running successfully in production. Reduce the batch sizes of work items – The
second way to improve flow is to decrease the batch sizes of the work. Small batches go through the
system faster and with less variability, which fosters faster learning and deployment.
This typically involves focusing more attention on and increasing investment in, infrastructure
and automation. This also reduces the transaction cost of each batch. Manage queue lengths – The third
way to achieve faster flow is by managing, and generally reducing, queue lengths. For solution
development, this means that the longer the queue of work awaiting implementation or deployment,
the longer the wait time, no matter how efficiently the team is processing the work. The shorter the
queue, the faster the deployment.
Measure the Flow of Value
Collect data on business, application, infrastructure, and client layers Store logs in ways that
enable analysis Use different telemetry for different stakeholders Broadcast measurements and are
hyper-transparent Overlay measurements with events (deploys, releases) Continuously improve
telemetry during and after problem-solving.
Recover—Enable Low-Risk Releases
Stop-the-line mentality – With a stop-the-production mentality, everyone swarms to fix any problem
until it’s resolved. When there’s a problem with the continuous delivery pipeline or a deployed system,
the same thinking must apply. Findings are integrated immediately into the process or product as
they’re discovered.
Plan for and rehearse failures – When it comes to large-scale IT applications, failure is not only an
option, it’s guaranteed at some point. A proactive approach to experiencing failures will increase the
team’s response practices and also foster built-in resilience into the systems.
Build the environment and capability to fix forward or roll back – Since mistakes will be made, and
servers will fail, teams need to develop the capability to quickly ‘fix forward’ and, where necessary, roll
back to a prior known good state. In the latter case, planning and investment must be made to revert
any data changes back to the prior state, and not lose any user transactions that occurred during the
process.
Release on Demand
Release on Demand is the process by which new functionality is deployed into production and
released immediately or incrementally to Customers based on demand
Page 282 of 433
The three dimensions that precede Release on Demand help ensure that new functionality is
continuously readied and verified in the production environment. But since tangible development value
only occurs when end users are operating the Solution in their environment, releasing that value at the
right time is critical for the enterprise to gain the real benefits of agility.
When should a release happen?
What elements of the system should be released?
Which end-users should receive the release?
4 Dimensions
1. Release – covers the skills necessary to deliver the solution to end users, all at once or
incrementally
2. Stabilize and operate – covers the skills needed to make sure the solution is working well from
both a functional and non-functional perspective
3. Measure – covers the skills necessary to quantify whether the newly released functionality
provides the intended value
4. Learn – encompasses the skills needed to decide what should be done with the information
gathered and prepare for the next loop through the continuous delivery pipeline with new
hypotheses
Release Value to Customers:
When the Solution is in production and has been verified for proper operability, the time has
come to make it available to Customers. This is a crucial business decision, as releasing value too early or
too late can have severe economic repercussions. This is the manual gate. Once developers committed
code to source control, everything can be automated, up to this point. Changes might be flowing
through the pipeline through CI and CD, and they could even be smaller than stories, but as they
approach release they need to be aggregated back up to become completed Minimal Marketable
Features (MMFs), which are the smallest items that bring value to Customers. Now, in collaboration
with stakeholders, Product Management must make the decision to release what to who and when.
Dark launches – This provides the ability to deploy to a production environment without releasing the
functionality to end users.
Feature toggles -This is a technique to facilitate dark launches by implementing toggles in the code,
which enables switching between old and new functionality.
Page 283 of 433
Canary releases – These provide a mechanism for releasing the solution to a specific Customer segment
and measuring the results, before expanding and releasing to more customers.
Decouple release elements – The release need not be a monolithic, all-or-nothing process. The solution
should be architected in a way that allows different elements to be released based on need.
Stabilize and Operate:
Cross-team collaboration – A mindset of cooperation across the Value Stream to identify and solve
problems as they arise is crucial. This involves building Agile Release Trains that can operate the
solution, as well as develop it.
Failover/disaster recovery – Failures will occur. It is important to develop a failover mechanism to allow
service to resume quickly, or even avoid service interruption. Disaster recovery must be planned,
architected into the service, and practiced.
Continuous security monitoring – Security as code and penetration testing focus on preventing known
vulnerabilities from getting to production. But it is also important to test services continuously for newly
discovered and reported vulnerabilities and to detect intrusions and attacks on services and
infrastructure.
Architect for operations – Operational needs must be considered. Build telemetry and logging
capabilities into every application and into the solution as a whole. Allow services to be downgraded or
even removed in times of high loads or in response to incidents. Build capabilities for fast recovery and
for fix-forward.
Monitor nonfunctional requirements (NFRs) – System attributes such as reliability, performance,
maintainability, scalability, and usability must be continuously monitored to avoid service disruptions.
Measure the Business Value:
Innovation Accounting: Innovation Accounting focuses on how to measure the intermediate and
predictive business outcomes of the hypothesis both during initial incremental solution development
and during evaluation of the Minimal Viable Product (MVP).
Application telemetry: Application telemetry is the primary mechanism by which usage data could be
tracked and measured against the hypothesis.
Learn and React:
Lean startup thinking – If hypotheses and MVPs are evaluated, and the decision is whether the
hypotheses have been proved or refuted, should the efforts continue in the current direction, should
work stop, or should new hypotheses be formed to evaluate different approaches to the same strategy.
Value stream mapping – A key tool to improve the flow of value across the pipeline is value stream
mapping. This tool provides the visibility needed to identify bottlenecks and problem areas to flow, as
well as design a future state and create Enablers to improve the pipeline.
Relentless improvement – The flow of work can always be improved. This mindset is part of the SAFe
House of Lean and is crucial to achieving results.
Release Governance:
Release governance is the process of planning, managing, and governing solution releases,
which helps guide the value stream toward the business goals. The release governance facilitates the
activities needed to help internal and external stakeholders receive and deploy the new solution. It also
ensures that the most critical governance quality elements are appropriately addressed before
deployment—particularly internal and external security, regulatory, and other compliance guidelines.
It includes primarily
Page 284 of 433
1. Ensuring that the organization’s release governance is understood and adhered
2. Communicating release status to external stakeholders
3. Ensuring that an appropriate deployment plan is in place coordinating with marketing and
with Product and Solution Management on internal and external communications
4. Validating that the solution meets relevant solution quality and Compliance criteria
5. Participating in Inspect and Adapt (I&A) to improve the release process, value stream productivity,
and solution quality
6. Providing final authorization for the release
7. Acting as a liaison with Lean Portfolio Management (LPM), as appropriate
8. Participating in, and overseeing the final release activities
Continuous Deployment:
Continuous Deployment (CD) is the process that takes validated Features from a staging
environment and deploys them into the production environment, where they are readied for release.
Deploy to production covers the skills necessary to deploy a solution to a production environment Verify
the solution covers the skills needed to make sure the changes operate in production as intended before
they are released to customers Monitor for problems covers the skills to monitor and report on
solutions Respond and recover encompasses the skills to quickly address any problems that happen
during deployment.
Seven skills required.
1. Dark Launches
2. Feature Toggles
3. Deployment Automation
4. Selective Deployment
5. Self Service Deployment
6. Version control
7. Blue/green deployment – a technique that permits automatic switching between two
environments, one for deployment and one that is live.
Verify the Solution:
1. Production testing
2. Test automation
3. Test data management
4. Testing nonfunctional requirements (NFRs)
Monitor for Problems:
1. Full-stack telemetry
2. Visual displays
3. Federated monitoring
Respond and Recover
1. Proactive detection
2. Cross-team collaboration
3. Session replay
4. Rollback and fix forward
5. Immutable infrastructure
6. Version control
Page 285 of 433
Continuous Integration:
Continuous Integration (CI) is the process of taking features from the Program Backlog and
developing, testing, integrating, and validating them in a staging environment where they are ready for
deployment and release.
1. Develop
Break features into stories
Behavior-Driven Development (BDD)
Test-Driven Development (TDD)
Version control
Built-in quality
Application telemetry – usage data could be tracked and measured against the
hypothesis.
Threat modeling - Architect sub-dimension of continuous exploration
2. Build
Continuous code integration
Build and test automation
Trunk-based development
Gated commit
Application security
3. Test End to End
Test and production environment congruity
Test automation
Test data management
Service virtualization
Testing nonfunctional requirements (NFRs)
Continuous integration with suppliers
4. Stage
Maintain a staging environment
Blue/Green deployment
System demo
5. Culture
Integrate often
Make integration results visible
Fixing failed integrations is a top priority
Establish common cadence
Develop and maintain proper infrastructure
Apply supportive software engineering practices
Continuous Exploration
Process that fosters innovation and builds alignment on what should be built by continually
exploring market and Customer needs, and defining a Vision, Roadmap, and set of Features for a
Solution that addresses those needs.
Hypothesize – covers the skills necessary to identify ideas, and the measurements needed to validate
them with customers
Page 286 of 433
Collaborate and research – covers the skills needed to work with customers and stakeholders to refine
the understandings of potential needs
Architect – covers the skills necessary to envision a technological approach that enables quick
implementation, delivery and support of ongoing operations
Synthesize – encompasses the skills that organize the ideas into a holistic vision, a roadmap, a
prioritized program backlog, and supports final alignment during PI Planning
Collaborate and research customer needs
PI Objectives
Program Increment (PI) Objectives are a summary of the business and technical goals that an
Agile Team or train intends to achieve in the upcoming Program Increment (PI).
During PI planning, teams create PI objectives, which provide several benefits:
1. Provide a common language for communicating with business and technology stakeholders
2. Aligns the train with a shared mission
3. Creates the near-term vision, which teams can rally around and develop during the PI
4. Enables ART to assess its performance and business value achieved via
the Program Predictability Measure.
5. Communicates and highlights each team’s contribution to business value
6. Exposes dependencies that require coordination
SMART PI Objectives
Specific – States the intended outcome concisely and explicitly as possible.
Measurable – It should be clear what a team needs to do to achieve the objective. The measures
may be descriptive, yes/no, quantitative, or provide a range.
Achievable – Achieving the objective should be within the team’s control and influence.
Realistic – Recognize factors that cannot be controlled. (Hint: Avoid making ‘happy path’
assumptions.)
Time-bound – The time period for achievement must be within the PI, and therefore all objectives
must be scoped appropriately.
Program and Solution Backlogs
The Program Backlog is the holding area for upcoming Features, which are intended to address
user needs and deliver business benefits for a single Agile Release Train (ART). It also contains the
enabler features necessary to build the Architectural Runway. Product Management has
responsibility for the Program Backlog.
Page 287 of 433
The Solution Backlog is the holding area for upcoming Capabilities and Enablers, each of which
can span multiple ARTs and is intended to advance the Solution and build its architectural runway.
Solution Management is responsible for the Solution Backlog.
Backlog refinement typically includes:
1. Reviewing and updating backlog item definition and developing acceptance criteria and benefit
hypothesis
2. Working with the teams to establish technical feasibility and scope estimates
3. Analyzing ways to split backlog items into smaller chunks of incremental value
4. Identifying the enablers required to support new features and capabilities, and establishing their
capacity allocation
Capacity Allocation for PI.
1. At each PI boundary, we agree on the percentage of resources to be devoted to new features or
capabilities versus enablers.
2. We agree that System and Solution Architects/Engineering have the authority to prioritize
enabler work.
3. We agree that Product and Solution Management have the authority to prioritize business
backlog items.
4. We agree to jointly prioritize our work based on economics. We agree to collaborate on
sequencing work in a way that maximizes customer value.
It’s based on WSJF (Weighted Shortest Job First)
Business Owners
Business Owners are a small group of stakeholders who have the primary business and technical
responsibility for governance, compliance, and return on investment (ROI) for a Solution developed
by an Agile Release Train (ART). They are key stakeholders on the ART who must evaluate fitness for
use and actively participate in certain ART events
RTE and STE
1. Manage and optimize the flow of value through the ART and Solution Train using various tools,
such as the Program and Solution Kanban‘s and other information radiators.
2. Establish and communicate the annual calendars for Iterations and Program Increments (PIs).
3. Facilitate PI Planning readiness by fostering a Continuous Exploration process which drives the
synthesis of a Vision, a Roadmap, and Backlogs, and through Pre- and Post-PI Planning meetings.
4. Facilitate the PI planning event.
5. Summarize Team PI Objectives into Program PI Objectives (the RTE) and publish them for
visibility and transparency.
6. Summarize program PI objectives into Solution PI Objectives (the STE) and publish them for
visibility and transparency.
7. Assist tracking the execution of features and capabilities.
8. Facilitate periodic synchronization meetings, including the ART sync at the Program Level and
the value stream sync for Solution Trains.
9. Assist with economic decision-making by facilitating feature and capability estimation by teams
and the roll-up to Epics, where necessary.
10. Coach leaders, teams, and Scrum Masters in Lean-Agile practices and mindsets.
11. Help manage risks and dependencies Escalate and track impediments.
12. Provide input on resourcing to address critical bottlenecks.
Page 288 of 433
13. Encourage collaboration between teams and System and Solution Architects/Engineering.
14. Work with Product and Solution Management, Product Owners, and other stakeholders to help
ensure strategy and execution alignment.
15. Improve the flow of value through value streams by improving and assessing the DevOps and
Release on Demand competency.
16. Help drive the Lean User Experience (UX) innovation cycle.
17. Work with the Agile Program Management Office (APMO) on program execution and
operational excellence (see Lean Portfolio Management).
18. Understand and operate within Lean Budgets and ensure adherence to Guardrails.
19. Facilitate System Demos and Solution Demos.
20. Drive relentless improvement via Inspect and Adapt workshops; assess the agility level of the
ART and Solution Train and help them improve.
21. Foster Communities of Practice and the use of engineering and Built-In Quality practices.
System and Solution Architect/Engineering
The Solution Architect/Engineering role represents an individual or small team that defines a
shared technical and architectural vision for the Solution under development. They participate in
determining the system, subsystems, and interfaces, validate technology assumptions and evaluate
alternatives while working closely with the Agile Release Train (ARTs) and Solution Train. These
individuals, or cross-disciplinary teams, take a ‘systems view’ on solution development. They participate
in defining the higher-level functional and Nonfunctional Requirements (NFRs). That includes analyzing
technical trade-offs, determining the primary components and subsystems, and identifying the
interfaces and collaborations between them. They understand the Solution Context and work with the
teams, Customers, and Suppliers to help ensure fitness for purpose.
ScrumXP Methodology
Program Execution
Page 289 of 433
Enablers
Support the activities needed to extend the Architectural Runway to provide future business
functionality. These include exploration, infrastructure, compliance, and architecture development.
They are captured in the various backlogs and occur at all levels of the Framework.
Types of Enablers
Exploration enablers – These support research, prototyping, and other activities needed to develop an
understanding of Customer needs, including the exploration of prospective Solutions and evaluating
alternatives.
Architectural enablers – These are created to build the Architectural Runway, which allows smoother
and faster development.
Infrastructure enablers – These are created to build, enhance, and automate the development, testing,
and deployment environments. They facilitate faster development, higher-quality testing, and a faster
Continuous Delivery Pipeline.
Compliance enablers – These facilitate managing specific compliance activities, including Verification
and Validation (V&V), documentation and signoffs, and regulatory submissions and approvals.
Enabler Epics – Are written using the ‘Epic Hypothesis Statement’ format, in the same way as business
epics. Enabler epics typically cut across Value Streams and Program Increments (PIs). To support their
implementation, they must include a ‘Lean Business Case’ and are identified and tracked through the
Portfolio Kanban system. Enabler epics may also occur at the Large Solution and Program Levels.
Enabler Capabilities and Features – Occur at the Large Solution and Program levels to capture work of
that type. Since these enablers are a type of Feature or Capability, they share the same attributes,
including a phrase, benefit hypothesis and acceptance criteria. They also must be structured to fit within
a single PI.
Enabler Stories – Must fit in Iterations like any Story. Although they may not require the user voice
format, their acceptance criteria clarify the requirements and support testing.
Page 290 of 433
Sample Scenario for Enablers
Features and Capabilities
A Feature is a service that fulfills a stakeholder need. Each feature includes a benefit hypothesis
and acceptance criteria, and is sized or split as necessary to be delivered by a single Agile Release Train
(ART) in a Program Increment (PI). A Capability is a higher-level solution behavior that typically spans
multiple ARTs. Capabilities are sized and split into multiple features to facilitate their implementation in
a single PI.
Architectural Runway
The Architectural Runway consists of the existing code, components, and technical
infrastructure needed to implement near-term features without excessive redesign and delay. It
provides the necessary technical foundation for developing business initiatives and implementing new
Page 291 of 433
Features and/or Capabilities. The architectural runway is one of the primary tools used to implement the
Framework’s Agile Architecture strategy.
Since the development of new features and capabilities consumes the architectural runway,
continual investment must be made to extend it by implementing Enablers. Some enablers fix existing
problems with the Solution, such as improving the performance or User Experience. Others might
provide foundational capabilities that will be used to support future functionality.
Architecture Runway Rules
1. Teams that build the runway iterate like every other agile team in the program.
2. Credit goes to working solutions, not models and designs.
3. Time is of the essence. It should take no more than a few iterations to implement and prove the
new architecture.
4. Very quickly after that, the program is expanded to add some feature teams who test the new
architecture with the initial, consumable features.
The architectural runway line is drawn going up and down over time, because the team builds
up some runway, then uses some, builds some more, and then uses that, too. In short, there has to be
just about the right amount at any point.
SAFe @ Team Level
The Team Level contains the roles, activities, events, and processes which Agile Teams build and
deliver value in the context of the Agile Release Train (ART). The ART roles and functions, including
the Release Train Engineer (RTE), Product Management, System Architect/Engineering, System
Team, Shared Services support all the teams on the train. As a result, agile teams are fully capable of
defining, developing, testing, and (where applicable) deploying some element of Solution value each
iteration.
Each agile team is responsible for defining, building, and testing Stories from their Team
Backlog. Using common Iteration cadence and synchronization, the teams align to a series of fixedlength Iterations to make sure the entire system is iterating. Teams use ScrumXP or Kanban to deliver
high-quality systems, routinely producing a System Demo every two weeks. This ensures that all teams
in the ART create an integrated and tested system that stakeholders can evaluate and respond to with
fast feedback.
SAFe @ Program level
It contains the roles and activities needed to continuously deliver solutions via an Agile Release
Train (ART). The program level is where development teams, stakeholders, and other resources are
devoted to some important, ongoing system development mission.
Page 292 of 433
The ART metaphor describes the program level teams, roles, and activities that incrementally
deliver a continuous flow of value. ARTs are virtual organizations formed to span functional boundaries,
eliminate unnecessary handoffs and steps, and accelerate value delivery by implementing SAFe LeanAgile principles and practices.
Although it is called the program level, ARTs are long-lived and, therefore, have a more
persistent self-organization, structure, and mission than traditional programs which usually have
definitive start and end dates, as well as temporarily assigned resources.
The ARTs operating at the Program Level are ultimately responsible for creating and releasing
value in flow at the frequency needed by the enterprise to meet market and customer demand. The
mindsets and practices in this level contribute to the enterprise competency of DevOps and Release on
Demand that makes this flow of value possible.
Highlights
1. 5 to 12 Agile Teams
2. Program Increment (PI)
3. Continuous Delivery Pipeline
4. DevOps
Roles
1.
2.
3.
4.
Product Management
System Architect/Engineer
Release Train Engineer (RTE)
Business Owners
Events
1. PI Planning
2. System Demo – Feature level. Integrated demo.
3. Inspect & Adapt – Demo @ team level.
Artifacts
1. Features
2. Program Epics
3. Program Backlog
4. Program Kanban
5. PI Objectives
6. Architectural Runway
Connection to the Portfolio, Value Stream, and Large Solution
The program vision and roadmap provide a view of the features to be developed,
reflecting customer and stakeholder needs and the approaches that are proposed to address those
needs. However, they are not developed in isolation. The work of the ART is informed by the Strategic
Themes, the Portfolio Canvas, Lean Budgets, and Guardrails for their corresponding Value Stream as
articulated by Lean Portfolio Management (LPM).
ARTs also build the component features of Portfolio Epics. For Solution Trains, the solution
vision and roadmap are developed with the help of Product and Solution Management and must be
Page 293 of 433
synchronized with all ARTs that form the Solution Train. LPM and Product and Solution Management
also collaborate on the development of the respective roadmaps and visions.
DevOps and Release on Demand
The DevOps and Release on Demand competency describes how implementing DevOps and a
continuous delivery pipeline provides the enterprise with the capability to release value, in whole or in
part, at any time necessary to meet market and customer demand.
SAFe : Large Solution
Page 294 of 433
Business Solutions and Lean Systems Engineering
1. Requirements analysis
2. Business capability definition
3. Functional analysis and allocation
4. Design synthesis Verification and validation (V&V)
5. Design alternatives and trade studies
6. Modeling and simulation
Large systems are most often decomposed by their structure (components) or behavior
(capabilities) with groups of developers assigned to build their portions of the system. Organizationally,
large solutions are built by component and capability ARTs. Like Agile teams, ARTs are cross-functional,
with all the skills necessary to deliver their solution. A Solution Train aligns all ARTs and ART teams on a
regular cadence for planning, demonstrating, improving, and learning. SAFe defines a regular
cadence within the Program Increment (PI) to integrate and demo the entire system, then adjust based
on new knowledge and plan the next increment.
1. Align teams on the ‘what’ and the ‘how’ of building future (to-be) functionality
2. Provide a record of existing requirements and design for validation and compliance concerns
(as-is)
Roadmap describes the need for multiple planning horizons. The Solution Roadmap provides a
multi-year product vision while the PI Roadmap estimates nearer-term capabilities and milestones.
Connected backlogs and roadmaps replace the traditional large, detailed schedule of program
management. These schedules were historically defined early and often by people who were not doing
the work. Consequently, these plans were not based on reality and received little commitment from
teams. With multiple planning horizons, only the near-term work is detailed, leaving placeholders for
downstream work. Multiple planning levels enable better-decentralized decisions, allowing detailed
planning to be done by the people who do the work—ARTs, and teams.
Intentional architecture and emergent design make architecture decisions a collaboration between
architects and teams throughout the entire development lifecycle. Individual components can be
released separately, as long as the interfaces remain stable.
‘Continuish integration’ concedes that integration cycles across disciplines will vary due to
differences in lead times. A local software build takes significantly less time than fabricating the next
revision of a circuit board or upgrading a packaged application. Applying cadence and synchronization
helps manage inherent variability in solution development. Cadence provides a rhythmic pattern—the
dependable heartbeat of the development process—and establishes time boxes that focus knowledge
Page 295 of 433
workers and make wait time predictable. Synchronizing the varying cadences across disciplines enables
Lean flow with frequent integration
A QMS ensures compliance with several types of non-functional requirements (NFRs), including
regulatory, statutory, industry standards, business constraints, and enterprise architectural goals.
Collectively, these NFRs are validated through compliance activities, which appear in a variety of
automated and manual processes. They provide continuous evidence of compliance and the associated
quality results.
QMS Practice
1. Build the solutions and compliance incrementally
2. Organize for value and compliance
3. Build quality and compliance in
4. Continuously verify and validate
5. Release validated solution on demand
Solution
Each Value Stream produces one or more Solutions, which are products, services, or systems
delivered to the Customer, whether internal or external to the Enterprise. a solution is either a final
product or a set of systems that enable an operational value stream within the organization. Solution
development is the subject of each Agile Release Train (ART) and value stream.
The Large Solution level supports solutions that require multiple ARTs, and typically Suppliers, to
build them. Large solutions are delivered by multiple ARTs operating together as a Solution Train.
ARTs function simultaneously to build the solution in fully integrated increments, measurable via
a Solution Demo that occurs at least during every Program Increment (PI). Solution Intent captures
evolving hypotheses on what to build and how to build it.
The Customer interacts with the development teams to clarify intent, validate assumptions, and
review progress. Solution Management and Architects help drive development, make scope and priority
decisions, and manage the flow of features and capabilities and Nonfunctional Requirements (NFRs).
Each SAFe Portfolio contains multiple value streams. Many are largely independent, while
others may have many cross-cutting concerns and dependencies.
Page 296 of 433
Overall Solution Development in SAFe
Sometimes these crosscutting concerns provide enhanced capabilities that allow strategy
differentiation. Other times, they are just dependencies that must be addressed as part of the solution
offering. When this is the case, Coordination across value streams is required.
Customer
1. An internal customer requesting their IT department build an application for them
2. An external customer who’s the buyer of a custom-built offering
Engagement Level.
1. General solution – a solution designed to be used by a significant number of customers
2. Custom-built solution – a solution built and designed for an individual customer
PRE-POST PI Planning
Pre- and post-PI planning events allow Agile Release Trains and Suppliers in large Value Streams
to build a unified plan for the next PI. The pre- and post-PI planning events serve as a wrapper for the PI
planning at the Program Level, where the actual detailed planning takes place and is incorporated into
the Innovation and Planning (IP) Iteration calendar.
1. Provide open and productive communication through face-to-face alignment
2. Synchronize ARTs with Solution Train vision via the ART and solution PI objectives
Page 297 of 433
3. Identify dependencies and foster cross-ART coordination
4. Provide the opportunity for just the right amount of solution-level architecture and user experience
guidance
5. Match solution demand to ART capacities
Inputs for PI Planning:
Inputs to pre- and post-PI planning include the solution roadmap, vision, Solution Intent, and the
top Capabilities from the Solution Backlog
Output of PI Planning:
1. A set of aggregated specific, measurable, achievable, realistic, time-bound (SMART) PI
objectives for the solution.
2. A solution planning board, which highlights the capabilities, anticipated delivery dates, and
any other relevant milestones for the solution.
3. A confidence vote (commitment) to the solution PI objectives.
The pre- and post-PI planning events bring together stakeholders from all parts of the Solution Train.
They require advance content preparation, coordination, and communication. The actual agendas and
timelines listed below are a suggested way to run these events, but various value streams may adapt
these to their capabilities and locations.
1. The executive briefing – Defines current business, solution, and customer context
2. Solution vision briefing(s) – Briefings prepared by Solution Management, including the top
capabilities in the solution backlog
3. Milestones definitions – Clearly explain upcoming events and Metrics.
Planning Context in Pre-PI Planning:
1. PI summary reports
2. Business context and solution vision
3. Solution backlog
4. Next PI features
Results in Post-PI Planning
1. PI planning report
2. Plan review, risk analysis, and confidence vote
2.1 Resolved – the issue is no longer a concern
2.2 Owned – someone takes ownership since the problem cannot be immediately
resolved
2.3 Accepted – some risks are facts or issues that must be understood and accepted
2.4 Mitigated – the impact of the risk can be reduced by implementing a contingency
plan
3. Plan rework as necessary
4. Planning retrospective and moving forward
Right Outcomes
1. A set of ‘SMART’ solution PI objectives for the Solution Train, with the business value set by
Solution Management, Solution Architect/Engineering, and customers. This may include stretch
objectives, which are goals built into the plan but not committed to by the solution. Stretch
Page 298 of 433
objectives provide the flexible capacity and scope management options needed to increase
reliability and quality of PI execution.
2. A solution planning board, which highlights the objectives, anticipated delivery dates, and any
other relevant milestones, aggregated from the program boards.
3. A commitment based on the confidence vote for meeting the solution PI objectives.
Solution Train Board – PI1
IP calendar for Solution Train and ARTs
Page 299 of 433
WSJF (Weighted Shortest Job First)
Weighted Shortest Job First (WSJF) is a prioritization model used to sequence jobs (eg.,
Features, Capabilities, and Epics) to produce maximum economic benefit. WSJF is estimated as the Cost
of Delay (CoD) divided by job size. WSJF is used to prioritize backlogs by calculating the relative CoD
and job size (a proxy for the duration).
Using WSJF at Program Increment boundaries continuously updates backlog priorities based on
user and business value, time factors, risk, opportunity enablement, and effort. WSJF also conveniently
and automatically ignores sunk costs, a fundamental principle of Lean economics.
Factors to Consider for WSJF
1. Taking an economic view
2. Ignoring sunk costs
3. Making financial choices continuously
4. Using decision rules to decentralize decision-making and control
5. If you only quantify one thing, quantify the Cost of Delay
Elements for Calculating CoD
1. User-business value – Do our users prefer this over that? What is the revenue impact on our
business? Is there a potential penalty or other adverse consequences if we delay?
2. Time criticality – How does the user/business value decay over time? Is there a fixed deadline?
Will they wait for us or move to another solution? Are there Milestones on the critical path
impacted by this?
3. Risk reduction-opportunity enablement value – What else does this do for our business? Does
it reduce the risk of this or a future delivery? Is there value in the information we will receive?
Will this feature open up new business opportunities?
Page 300 of 433
Sample Spreadsheet for calculating WSJF
Scale for each parameter by Fibonacci Series of 1, 2, 3, 5, 8, 13, 20.
Note. Do one Column at a time start by kicking with the smallest number in 1.
There must be atleast one “1 “ in each column.
Highest priority is highest WSJF.
Product and Solution Management
Product Management has content authority for the Program Backlog. They are responsible for
identifying Customer needs, prioritizing Features, guiding the work through the Program Kanban and
developing the program Vision and Roadmap.
Solution Management has content authority for the Solution Backlog. They work with customers
to understand their needs, prioritize Capabilities, create the Solution vision and roadmap, define
requirements, and guide work through the Solution Kanban.
Details:
Team – Product Owners make fast, local content decisions on behalf of the Agile Team.
Program – Product Management is accountable for content decisions for the Agile Release Trains (ARTs)
Large Solution – Solution Management has content authority for Solution Trains
Responsibilities of Product Management
1. Understand customer needs and validate solutions
2. Understand and support portfolio work
3. Develop and communicate the program vision and roadmap
4. Manage and prioritize the flow of work
5. Participate in PI planning
6. Define releases and program increments
7. Work with System Architect/Engineering to understand Enabler work
8. Participate in demos and Inspect and Adapt (I&A)
9. Build an effective Product Management/Product Owner team
Product Management’s Participation in Large Value Streams
1. Collaborate with Solution Management
2. Participate in Pre- and Post-PI Planning
3. Participate in the Solution Demo
4. Collaborate with Release Management
Page 301 of 433
Responsibilities of Solution Management
Solution Management plays a similar role to Product Management, but at the large solution
level and has content authority over capabilities instead of features. Responsibilities include working
with portfolio stakeholders, customers, ARTs and Solution Trains to understand needs and build and
prioritize the solution backlog. They have a similar vision, roadmap, solution Kanban, and solution demo
activities as well.
Solution Management, Solution Train Engineer, and Solution Architect/Engineering—are part of
a trio that shares much of the responsibility for the success of a Solution Train. Solution Management is
responsible for the solution intent, which captures and documents fixed and variable solution level
behaviors. They also work with Release Management where applicable.
Solution Management has a crucial role in pre- and post-PI planning, as well as large solution
level I&A workshops. They also work with Suppliers, making sure the requirements for supplierdelivered capabilities are understood and assisting with the conceptual integration of these concerns.
System and Solution Architect/Engineering
The Solution Architect/Engineering role represents an individual or small team that defines a
shared technical and architectural vision for the Solution under development. They participate in
determining the system, subsystems, and interfaces, validate technology assumptions and evaluate
alternatives while working closely with the Agile Release Train (ARTs) and Solution Train.
These individuals, or cross-disciplinary teams, take a ‘systems view’ on solution development.
They participate in defining the higher-level functional and NFRs. That includes analyzing technical
trade-offs, determining the primary components and subsystems, and identifying the interfaces and
collaborations between them.
They understand the Solution Context and work with the teams, Customers, and Suppliers to
help ensure fitness for purpose. Collaborating with Solution and Product Management,
Architect/Engineering plays a critical role in aligning teams to a shared technical direction toward the
accomplishment of the Vision and Roadmap.
1. Certain larger-scale architectural decisions should be centralized. These include the definition of
primary system intent, subsystems, and interfaces; allocation of functions to subsystems;
selection of platforms; elaboration of solution-level NFRs; and elimination of redundancy.
2. However, most design decisions are the responsibility of Agile teams, who must balance
applying emergent design in conjunction with intentional architecture.
Solution Intent
Solution Intent is the repository for storing, managing, and communicating the knowledge of
current and intended Solution behavior. Where required, this includes both fixed and variable
specifications and designs; reference to applicable standards, system models, and functional and
nonfunctional tests; and traceability. Building large-scale software and cyber-physical systems are one of
the most complex and challenging endeavors in the industry today. This requires alignment on two
central questions:
1. What exactly is this thing we are building?
2. How are we going to build it?
Purpose
1. Provides a single source of truth regarding the intended and actual behavior of the solution
2. Records and communicates requirements, design, and system architecture decisions
3. Facilitates further exploration and analysis activities
Page 302 of 433
4. Aligns the Customer, Dev Team, and Suppliers to a common mission and purpose
5. Supports Compliance and contractual obligations
Current and future states – Developers of complex systems must constantly know two things: what
exactly the current system does now, and what changes are intended for a future state Specifications,
designs, and tests – Knowledge of both the current and future states can be captured in any form
suitable—as long as it includes the three primary elements: specifications (documented definition of
system behavior), design, and tests.
The solution intent is not a static, one-time statement: it must support the entire development
process and continue to evolve.
Solution Intent hierarchy
Page 303 of 433
Create Minimal but Sufficient Documentation
1. Favoring models over documents
2. Keeping solution intent collaborative
3. Keeping options open
4. Documenting items in only one place
5. Keeping it simple
Compliance
Compliance refers to a strategy and a set of activities and artifacts that allow teams to apply
Lean-Agile development methods to build systems that have the highest possible quality, while
simultaneously assuring they meet any regulatory, industry, or other relevant standards.
A Lean-Agile quality management system improves quality and makes compliance more predictable
continuously verify and Validate (V & V)
Page 304 of 433
Release Validated Solutions on Demand
1. Validation testing of the final release candidate (examples: medical trial, flight test)
2. Review of the objective evidence required before production approval and release
3. Customer, regulatory, UAT, signoffs, document submissions
Model-Based Systems Engineering
MBSE is the application of modeling requirements, design, analysis, and verification activities as a costeffective way to explore and document system characteristics. By testing and validating system
characteristics early, models facilitate timely learning of properties and behaviors, enabling fast
feedback on requirements and design decisions.
Create Testable and Executable Models
1. Mechanical models test for physical and environmental issues
2. Electrical models test for logic
3. Software models test for anomalies
4. Executable system models test for system behavior
Set-Based Design
Set-Based Design (SBD) is a practice that keeps requirements and design options flexible for as
long as possible during the development process. No matter how well a system is initially defined and
designed, real customer needs and technological choices are both uncertain and evolving. Therefore,
understanding how a system needs to be implemented must adapt over time.
Factors involved.
Flexibility – Preserving a broad set of design options for as long as possible
Cost – Minimizing the cost of multiple options through modeling, simulation, and prototyping
Speed – Facilitating learning through early and frequent validation of design alternatives.
Page 305 of 433
Economic Framework
The Economic Framework is a set of decision guidelines that align everyone with the financial
objectives of the Solution and informs the economic decision-making process.
Primary Elements
1. Operating within Lean Budgets and Guardrails
2. Understanding solution economic trade-offs
3. Leveraging Suppliers
4. Sequencing jobs for the maximum benefit (using WSJF)
It requires.
1. An understanding of the rules for decision-making
2. The current local context
3. Relevant decision-making authority
The funding is allocated to long-lived Value Streams that produce the Solutions vital to the
organization. Once this transition is complete, the cost for each Program Increment (PI) is largely fixed,
and scope is varied as necessary. Each value stream budget can then be adjusted over time at PI
boundaries, based on the relative value that each provides to the portfolio.
Guardrails inform the oversight and governance that guide the creation and management of
Lean Budgets. They provide the budgeting parameters with degrees of freedom that Solution Train
leaders use to deliver innovative, competitive solutions.
Examples of guardrails include:
1. Defined investment horizons
2. Capacity allocation
3. Approvals and metered funding
4. Ongoing business owner engagement.
Economic tradeoff
1. Development expense – the cost of labor and materials required to implement a capability
2. Lead time – the time needed to implement the capability
3. Product cost – the manufacturing cost (of goods sold) and/or deployment and operational costs
4. Value – the economic worth of the capability to the business and the customer
5. Risk – the uncertainty of the solution’s technical or business success
Two primary reasons for engaging suppliers in solution development
1. Insufficient workforce capacity.
2. Availability of specialty components resources, or skills sets.
Page 306 of 433
SAFe - PORTFOLIO MANAGEMENT
Page 307 of 433
Portfolio Level
The Portfolio Level contains the principles, practices, and roles needed to initiate and govern a
set of development Value Streams. This is where strategy and investment funding are defined for value
streams and their Solutions. This level also provides Agile portfolio operations and Lean governance for
the people and resources needed to deliver solutions.
The portfolio level aligns enterprise strategy to portfolio execution by organizing the Lean-Agile
Enterprise around the flow of value through one or more value streams. Delivering the basic budgeting
and necessary governance mechanisms, including Lean Budget Guardrails, it help assures that the Value
Streams and its trains are focused on building the right things with the appropriate level of investments
to these solutions in order for the portfolio to meet its strategic objective.
Each SAFe portfolio has a two-way connection to the enterprise. The first way establishes the
Strategic Themes for the portfolio that guide it through ever-changing business objectives. The second
way provides a constant flow of feedback from the portfolio back to the enterprise stakeholders. This
includes: The current state of the portfolio’s solutions Value stream key performance indicators (KPIs)
Qualitative assessments of the current solution’s fitness for purpose Assessments of strengths,
weaknesses, opportunities, and threats present across the portfolio.
It includes
1. Lean Budgets – Lean budgeting allows fast and empowered decision-making, with appropriate
financial control and accountability provided through Guardrails.
2. Value Streams – Every value stream has to fund the people and resources necessary to build
Solutions that deliver the value to the business or customer. Each is a long-lived series of steps
(system definition, development, and deployment) that build and deploy systems that provide a
continuous flow of value.
3. Portfolio Kanban – The portfolio Kanban system makes the work visible and creates Work-inProcess (WIP) limits to help assure that demand is matched to the actual value stream and Agile
Release Train (ART) capacities.
4. Portfolio Canvas – The Portfolio Canvas defines and describes the purpose of a SAFe portfolio.
Roles
1. Lean Portfolio Management (LPM) – This function represents the individuals with the highest level
of decision-making and financial accountability for a SAFe portfolio. This group is responsible for
three primary areas: strategy and investment funding, Agile portfolio operations, and Lean
governance.
2. Epic Owners – They take responsibility for coordinating portfolio Epics through the portfolio Kanban
system.
3. Enterprise Architect – This person works across value streams and programs to help provide the
strategic technical direction that can optimize portfolio outcomes. The Enterprise Architect often
may act as an Epic Owner for enabler epics.
Artifacts Involved
1. Business Epics – Capture and reflect the new business capabilities that can only be provided
through cooperation among value streams.
2. Enabler epics – Reflect the architectural and other technology initiatives that are necessary to
enable new Features and Capabilities.
Page 308 of 433
3. Strategic themes – Provide specific, itemized business objectives that connect the portfolio to
the evolving enterprise business strategy.
4. Portfolio Backlog – Is the highest-level backlog in SAFe. It holds approved business and enabler
epics that are required to create a portfolio solution set. This provides the competitive
differentiation and/or operational efficiencies necessary to address the strategic themes and
facilitate business success.
Lean Portfolio Management
Aligns strategy and execution by applying Lean and systems thinking approaches to strategy and
investment funding, Agile portfolio operations, and governance.
A SAFe portfolio is a single instance of the Framework that manages a set of Value Streams for a
specific business domain (e.g., consumer banking, commercial insurance, department of veteran affairs).
Each value stream delivers a set of software and system Solutions that help the enterprise meet its
business strategy, either by providing value directly to the customer or in support of internal business
processes.
Why Lean Portfolio
1. Annual planning and rigid budgeting cycles
2. Measures of progress that focus on document-driven deliverables and task completion, versus
objective measures of value
3. Perpetual overload of demand versus capacity, which decreases throughput and belies effective
strategy
4. Phase-gate approval processes that don’t mitigate risk and discourage incremental delivery
5. Project-based funding (moving people to the work) and cost accounting, which causes friction
and unnecessary overhead, finger pointing, bureaucracy, and delays
6. Overly detailed business cases based on highly speculative and lagging ROI projections
7. Centralizing and developing requirements with people who will not be doing the actual
implementation
8. Iron-triangle strangulation (fixed scope, cost, and date projects), which limits agility and does
not optimize the total economic value
9. Traditional Supplier management and coordination, which favors win-lose contracts, and
focuses on the lowest short-term cost, rather than the highest lifecycle value.
Essential Collaborations
1. Strategy and investment funding : Only by allocating the ‘right investments’ to building the
‘right things’ can an enterprise accomplish its ultimate business objectives. Achieving these
goals requires the focused and continued attention of LPM
2. Agile portfolio operations : The primary responsibilities of this collaboration include
coordinating value streams, supporting program execution & driving operational excellence,
Page 309 of 433
through Communities of Practice (CoPs), a Lean-Agile Center of Excellence (LACE), and other
activities.
3. Lean governance :
Portfolio Sync: Similar to the ART Sync, some enterprises hold a ‘Portfolio Sync’ meeting, which typically
occurs bi-weekly, or more or less frequently as needed. Below activities are covered.
1. Adjusting value stream funding
2. Reviewing portfolio Kanban and lightweight business cases, and approving and prioritizing epics.
3. Maintaining the portfolio vision and canvas
4. Removing impediments across value streams
5. Considering the results of MVPs and determining whether to pivot or preserve
6. Reviewing the progress of continuous improvement efforts to drive operational excellence
7. Evaluating spend by investment horizon
Value Stream KPI ‘s
A Lean budgeting process can substantially simplify financial governance, empower
decentralized decision-making, and increase the flow of value through the enterprise. It’s a bold move
to go from funding projects to allocating budgets to value streams.
1. Some value streams produce revenue, or end-user value directly, in which case revenue may be an
appropriate measure. Other metrics such as market share or solution usage may provide additional
insight.
2. Other value streams, or elements of a value stream, are creating emergent new offerings. In this
case, the potential return on investment (ROI) is a lagging economic measure. Instead, using
nonfinancial, innovation accounting KPIs to get fast feedback may be a better choice.
3. Some development value streams are merely cost centers, which serve internal operational value
streams and are not independently monetized. In this case, measures such as customer satisfaction,
net promoter score, team/ART self-assessment, and feature cycle time may be more relevant.
4. In the most significant scale, a value stream may establish an even broader set of measures, such as
those represented by the sample Lean-Agile portfolio Metrics.
Lean Budget Guardrails
It describe budgetary, governance and spending policies and practices for the lean budgets
allocated to a specific portfolio. LPM fiduciaries maintain appropriate levels of oversight through the
allocation of value stream budgets and approval of Epics, while empowering trains to make decisions
quickly and enable flexible value delivery. This way, enterprises can have the best of both worlds: a
Page 310 of 433
development process that is far more responsive to market needs, along with professional and
accountable management of spending.
1. Guiding investments by horizon
2. Optimizing value and solution integrity with capacity allocation
3. Approving significant initiatives
4. Continuous Business Owner engagement
Page 311 of 433
Lean Budgets
Lean Budgets is a set of funding and governance practices that increase development
throughput by decreasing funding overhead and friction while maintaining financial and fitness-for-use
governance. Every SAFe portfolio operates within an approved budget, which is a fundamental principle
of financial governance for the development and deployment of products, services, and IT
business Solutions within a SAFe portfolio.
Key steps are
1. Funding value streams, not projects
2. Guiding investments by horizon
Horizon 3 (Evaluating): Horizon 3 investments are those dedicated to investigating new potential
solutions.
Horizon 2 (Emerging): Horizon 2 reflects the investments in solutions which have emerged from horizon
three. Since these are promising new solutions, the business is willing to make ongoing investments in
excess of the current return.
Page 312 of 433
Horizon 1: Horizon one reflects the desired state where solutions deliver more value than the cost of the
current investment. These solutions require ongoing investment to maintain and extend functionality.
Horizon 0 (Retiring): All solutions eventually meet end-of-life. Horizon 0 reflects the investment needed
to decommission a deployed solution.
Applying participatory budgeting:
Participatory Budgeting does not require funding each value stream to the full requested
amount. Indeed, one of the goals of this model is to provide leaders with the forum needed to share
data that can help the portfolio optimize its budget choices.
Portfolio Canvas:
The canvas that identifies specific domain of concern for a SAFe portfolio. It helps streamline
planning, development, and execution across the portfolio, aligning everyone’s objectives and
facilitates team communication and the exchange of new ideas. he Business Model Canvas (BMC), and
its derivatives, such as the Lean Canvas, are used by large companies and startups around the world.
The SAFe Portfolio Canvas is an adaptation of the BMC that highlights the ‘development value
streams’ and other aspects specific to a SAFe portfolio. This canvas can be easily updated as the business
changes, and new learning occurs. The nine original blocks of the BMC appear in a bold font with an
icon. New blocks, which appear in a standard font, enable alignment of the portfolio canvas to specific
SAFe constructs.
Main sectors
1. Value Propositions
The value propositions describe the customers and the value delivered by the solutions of each
value stream, as well as the customer segments and relationships, budget and KPIs revenue.
Value Streams: This section describes the development value streams that are used to build the
systems and capabilities that enable the operational value streams, or provide end customer value.
Page 313 of 433
Solutions: Each value stream produces one or more solutions, which are the products, services, or
systems delivered to the Customer, whether internal or external to the Enterprise Customer
Segments: Customer segments describe the internal or external customers for each value stream.
Channels: This section describes the chain of businesses that are used to reach each customer
segment. If serving external customers, this may include marketing and sales mechanisms used to
reach customers (e.g., web, direct sales, brick and mortar store, distribution network). If serving
internal customers, it captures the interfaces with internal stakeholders and end-users (e.g., internal
websites or custom IT applications).
Customer Relationships: This section describes the connections and communications with each
customer segment. These relationships influence the design of solutions and the allocation of
resources within the portfolio.
Budget: Each value stream is assigned a Lean Budget, which includes operating, overhead and
capital expenses.
even
KPIs / Revenue: Key Performance Indicators (KPIs) define the measures that will be used to
evaluate the results of the value stream investment. Lean-Agile portfolio Metrics provide an
broader set of performance measures, which may also be useful.
2. Resources and Activities
The resources and activities describe the key partners, activities and other resources
needed to achieve the value propositions.
Key Partners: Describes the business partners needed to deliver value to a customer segment.
These intermediaries help leverage economies of scale and centralize certain services outside
the portfolio, such as external Suppliers.
Key Activities: Describes the high-level activities used to create value for customer segments.
Many of these will be standard SAFe events, such as PI Planning, Inspect and Adapt, etc. Others,
such as trade shows, customer advisory meetings, etc., are unique to the specific business
context.
Key Resources: Describes the resources needed to develop, market and maintain the value
propositions (e.g., What are the most important physical, financial, intellectual, or human assets
necessary to deliver value to your customer segments?). This includes the resources within your
portfolio, such as Shared Services.
3. Cost Structure and Revenue Streams
The cost structure and revenue streams describe how the portfolio’s costs are
structured and define how revenue or value is achieved.
Cost Structure: Identifies the most significant costs inherent in the portfolio’s business model,
including the structural aspects, such as license costs, development labs, and any operational
costs of external services. Building cyber-physical systems also have other costs (e.g., hardware
and firmware) which must be considered here.
Page 314 of 433
Revenue Streams: If the development value streams monetize directly, list the types and
sources of revenue from customers. Note the major sources of revenue and how the customer
is charged (fixed price, usage-based, etc.). For internal customers, describe the impact on the
stakeholders or the value the solutions create.
As part of filling out the current state portfolio canvas, it can be useful to reason further about each
value proposition. One way to do this is to create separate value stream canvases, which are then rolled
up to the portfolio.
Page 315 of 433
Envisioning the Future State:
Evaluate Alternatives for Future State.
The LPM team uses the current state portfolio canvas as a starting point to explore the different
ways in which the portfolio could evolve in alignment with the strategic themes. Start by selecting a
specific block in the portfolio canvas, identifying a potential change or opportunity, and then explore
how it impacts the other parts of the canvas.
Page 316 of 433
Every SAFe portfolio operates within an approved budget. The strategic themes and portfolio
canvas are critical inputs to allocating a portion of the total portfolio budget to a specific value stream.
Each value stream must work within an approved budget. Any change to a value stream budget requires
appropriate approvals. Further, Lean budgets are governed by a set of Guardrails, which describe the
budgetary controls and spending policies for the portfolio.
The creation of the current and future state Portfolio Canvas is not a once-and-done exercise. As
new information is learned about the evolving set of portfolio solutions, portfolio stakeholders
periodically review and update the canvas. Other triggers include the introduction of new solutions,
mergers and acquisitions, the market rhythms of the portfolio defined in the portfolio Roadmap, and
other strategic changes that may affect the portfolio’s value streams or solutions.
https://strategyzer.com/canvas/value-proposition-canvas -For Reference. Most important to read
Enterprise Architect:
The Enterprise Architect promotes adaptive design, and engineering practices and drives architectural
initiatives for the portfolio. Enterprise Architects also facilitate the reuse of ideas, components, services,
and proven patterns across various solutions in a portfolio.
Five elements of enterprise architecture strategy
EPIC Owners.
Epic Owners are responsible for coordinating portfolio Epics through the Portfolio Kanban system. They
define the epic, its Minimum Viable Product (MVP), and Lean business case, and when approved,
facilitate implementation.
The collaborative nature of the Epic Owner role
Page 317 of 433
Strategic Themes
Strategic Themes are differentiating business objectives that connect a portfolio to the strategy
of the Enterprise. They influence portfolio strategy and provide business context for portfolio decisionmaking. Strategic themes are formulated via a collaborative process in which the Enterprise executives
and fiduciaries work with Lean Portfolio Management and other portfolio stakeholders to analyze a set
of inputs before arriving at conclusions.
Strategic themes provide insight into the portfolio backlog Epics that are necessary to achieve
the vision. Further, they serve as inputs to decision-making criteria in the Portfolio Kanban system.
Strategic themes profoundly influence value stream budgets, which provide the investment and
allocation of people needed to accomplish the strategic intent.
They have an influence on the vision and backlogs for development at every portfolio level. They
help determine the attributes of Weighted Shortest Job First (WSJF) prioritization for items in the
program and solution backlogs. Solution and program epics that flow from the portfolio, or arise locally,
are also influenced by the current themes. Due to their importance, strategic themes will often be
presented (and repeated!) by the Business Owners during Program Increment (PI) Planning. Moreover,
strategic themes provide vital conceptual alignment across the trains in a large solution, and across the
teams on an Agile Release Train.
Enterprise
The portfolio is not the entire business. So, it’s crucial for the enterprise and portfolio
stakeholders to ensure that each portfolio solution set evolves to meet the broader business needs. This
is a critical capability of the Lean Enterprise.
Page 318 of 433
Two Primary Mechanisms:
1. The portfolio budget is total funding provided to a portfolio for development, operating &
capital expenditures. It’s allocated to the individual Value Streams by Lean Portfolio Management
(LPM).
2. Working together, enterprise executives and portfolio stakeholders establish a set of Strategic
Themes. These are specific, differentiated business goals that communicate aspects of strategic intent
from the enterprise to the portfolio.
The enterprise strategy drives each portfolio budget. The enterprise strategy drives each
portfolio budget. In the tech sector, many philosophies and current trends influence strategy
formulation.
Major Inputs
1. Total enterprise budget
2. Enterprise business drivers
3. Financial goals
4. Mission, vision, and core values
5. Portfolio context
6. Competitive environment
From SAFe Environment
1. Portfolio Budget
2. Strategic Themes
Portfolio Context Informs Enterprise Strategy:
1. Key performance indicators (KPIs) – The portfolio is responsible for providing feedback on the
allocated investment spend. This can include quantitative and financial measures, such as return
on investment (ROI), market share, customer net promoter score, and Innovation Accounting.
2. Qualitative data – This often includes a SWOT analysis and, most importantly, the accumulated
solution, market, and business knowledge of the portfolio stakeholders.
3. Lean Budget Guardrails – Each portfolio also contains a set of Guardrails, which describe
budgetary and spending policies and practices for a specific portfolio. These can be driven by—
and are drivers of—elements of the business strategy.
Page 319 of 433
SAFe – ADVANCED TOPICS
Page 320 of 433
Agile Contracts
Builders of large-scale systems must continually align with customers and other stakeholders on
what’s being built. And they often must do so in the midst of continuous changes driven by
development discoveries, evolving customer needs, changing technologies, and competitor innovations.
Different Contract Types
SAFe Managed-Investment Contracts
Step 1 : Pre-commitment
During pre-commitment, the customer has specific responsibilities, including understanding the
basic constructs and obligations of this form of Agile contract, and defining and communicating the
larger program mission statement to the potential supplier(s). The supplier does their initial homework
as well. This often includes the first analysis of potential feasibility and alignment of the buyer’s solution
needs with the supplier’s core competence. It also demands some understanding of the potential
resources that will be required over the initial contract periods and a rough cost estimate.
1. Establishing the initial Vision and Roadmap
2. Identifying the Minimum Viable Product (MVP) and additional Program Increment (PI)
potential Features
3. Defining the initial fixed and variable Solution Intent
4. Prioritizing the initial Program Backlog for PI Planning
5. Establishing execution responsibilities
6. Establishing the Economic Framework, including economic trade-off parameters, the PI
funding commitment (number of PIs committed), initial funding levels, and other contractual
term
Depending on context, the customer may have discussions with multiple potential
suppliers. If significant technical feasibility is involved, this can often be done under some form
of feasibility contract, whereby each potential supplier is compensated for the efforts to get to
commitment. this may be simply business as usual for the supplier, with these pre-commitment
investments occurring as a normal part of presale activities.
Page 321 of 433
Step 2 : Contract Execution
1. PI preparation – Both supplier and customer will invest some time and effort in preparing content
and logistics for the first PI planning session. (Note: In some cases, it might be suitable that the first
PI planning is part of the pre-commitment phase, though this route clearly requires significant
investment by both parties.)
2. PI planning – The first PI planning event influences the entire program. There, customer and
supplier stakeholders plan the first PI in iteration-level detail.
3. PI execution – Depending on context, customers participate at various levels in iteration execution.
At a minimum, however, direct customer engagement is usually required for each System Demo. For
large solutions, however, the multiplicity of system demos may be replaced by a more fully
integrated Solution Demo, which can occur more frequently than at PI boundaries.
4. PI evaluation – Thereafter, each PI marks a critical Milestone for both the customer and the
supplier. At each milestone, the solution demo is held, and the solution is evaluated. Agreed-to
metrics are compiled and analyzed, and decisions are made for the next PI. Solution progress and
program improvements are assessed during the Inspect and Adapt (I&A) event. At this point, the
customer may decide to increase, decrease, or maintain funding levels, or even begin to wind down
the initiative based on whether sufficient value has or has not been achieved. Thereafter, the next PI
planning commences, with the scope based on the outcome of that decision.
Page 322 of 433
SAFe managed-investment contract execution phase
Step 3: Managing Risk with the Lean Startup Approach
This Lean Startup model decreases time-to-market and helps prevent the system from becoming
bloated with unnecessary features that may never be used. It also enforces the ‘hypothesize-buildmeasure-learn’ cycle.
The implication is that Agile contract language is modified to reflect a combination of fixed and
variable components. The MVP identified at the pre-commitment stage can establish a high-level
definition of fixed scope to be delivered over a proposed number of PIs. Beyond the delivery of the
MVP, the contract can also specify the number of option periods consisting of one or more PIs. The goal
is to optimize the delivery of prioritized features within each PI.
This process continues until the solution has delivered the value the customer requires. At this
point, the customer stops exercising additional option periods and starts winding down funding
commitments in accordance with the agreement. This provides the best of both worlds to customers:
Better predictability of estimates associated with a far smaller MVP than the full list of all requirements
Total control over the spend required for additional incremental features based on economic outcomes
such an approach provides the greatest economic benefit to both parties, which will help create stable,
long-term relationships.
Page 323 of 433
The Lean Startup Cycle for managing large product development investments
Applied Innovation Accounting in SAFe
Developing innovative world-class solutions is an inherently risky and uncertain process. But this
level of uncertainty causes some enterprises to avoid taking the right risks, and when they do, it
increases the likelihood they will spend too much time and money building the wrong thing, based
on flawed data or invalid assumptions. NPV (Net Present Value) and IRR (Internal Rate of Return),
though more forward-looking, is based on estimating the unknowable future cash returns and
speculative assumptions of investment costs and discount rates. a different kind of economic
framework—one that quickly validates product assumptions and increases learning through Lean
Startup Cycle.
Innovation Accounting
It has 3 key milestones listed below.
1. Minimum Viable Product (MVP) – establish a baseline to test assumptions and gather objective
data.
2. Tune the Engine – quickly adjust and move towards the goal, based on the data gathered.
Page 324 of 433
3. Pivot or persevere – Decide to deliver additional value, or move on to something more valuable,
based on the validated learning. (Lean thinking defines value as providing benefit to the
customer anything else is waste.)
To validate learning and reduce waste, a fast feedback loop is essential, also referred to as
‘build-measure-learn. Applying the learning obtained from real customer feedback results in
increased predictability, decreased waste, and improved shareholder value.
Validate 2 questions below.
1) Are we making progress towards our outcome hypothesis?
2) How do we know?
Leading indicators are designed to harvest the results of development and deployment of a
Minimal Viable Product (MVP). These indicators may include non-standard financial metrics such as
active users, hours on a website, revenue per user, net promoter score, and more.
Measuring Metrics.
The implementation of large, future-looking initiatives is an opportunity for organizations to
reduce waste and improve economic outcomes. Here, large initiatives are represented as Epics and are
captured using an epic hypothesis statement. This tool defines the initiative, its expected benefit
outcomes, and the leading indicators used to validate progress toward its hypothesis.
Leading indicators can provide immediate feedback on usage patterns. By analyzing the objective
data, we can test our hypothesis and decide to continue releasing additional features, tune the engine,
or pivot to something else. Thus, the Epic’s MVP and the leading indicators enable us to make faster
economic decisions based on facts and findings.
Validated learning becomes the primary objective of testing the hypothesis. SAFe uses the Lean
Startup Cycle to iteratively evaluate the MVP of Epics and to pivot (change direction, not strategy), or
persevere (keep moving forward) decision against the outcomes hypothesis.
This is done incrementally by developing and evaluating features from the Epic. The empirical
metric we use to prioritize the features is Weighted Shortest Job First (WSJF). Using WSJF, we can
rapidly evaluate the economic value of the feature and the overall progress of the Epic towards its
Business Outcome. This allows us to quickly and iteratively make a pivot-or-persevere decision based on
objective data.
CapEx and OpEx (Capital and Operational Expences)
Capital Expenses (CapEx) and Operating Expenses (OpEx) describe Lean-Agile financial
accounting practices in a Value Stream budget. CapEx may include capitalized labor associated with the
development of intangible assets—such as software, intellectual property, and patents. Enterprises fund
Page 325 of 433
a SAFe portfolio to support the development of the technical Solutions that allow the company to meet
its business and financial objectives. These Lean Budgets may include both CapEx and OpEx elements.
Within the portfolio, allocating funds to individual value streams is the responsibility of Lean
Portfolio Management (LPM), which allocates the necessary funding for each value stream in a portfolio.
It includes
1. Salaries
2. The burden for operating personnel, sales, and marketing
3. General and administrative costs
4. Training
5. Supplies and maintenance
6. Rent
7. Other expenses related to operating a business or an asset of the business
Costs are recorded and expensed in the period in which they occur. Capex reflects the monies
required to purchase, upgrade, or fix tangible physical assets, such as computing equipment, machinery,
or other property. Portfolio stakeholders must understand both CapEx and OpEx so that they are
included in the Economic Framework for each value stream. Otherwise, money may not be spent in the
right category, and/or the financial results of the portfolio may not be accurate.
Capitalization versus Expense Criteria
Capitalization Strategies in SAFe
Waterfall
Page 326 of 433
The majority of the work of most ARTs is typically focused on building and extending software assets
that are past the point of feasibility analysis. They generally do this by developing new features for the
solution. Since Features increase the functionality of existing software, the User Stories associated with
those features constitute much of the work of the ART personnel.
Therefore, this labor may be subject to potential capitalization. The ARTs also help establish the
business and technical feasibility of the various portfolio initiatives (Epics) that work their way through
the Portfolio Kanban. This feasibility work is somewhat analogous to the early stages of waterfall
development and is typically expensed up until the ‘go’ recommendation when new feature
development would begin.
This means that both types of work are typically present in any PI—and, by extension, any
relevant accounting period. Much of this is new feature work that increases the functionality of the
existing software. Other work includes innovation and exploration efforts. These may be initiated from
the portfolio Kanban—as part of the research and feasibility for potential new portfolio-level epics—or
they may arise locally.
Many types of work occur within a given PI timebox
Page 327 of 433
Creating new features for the solution is part of implementing new projects and enhancing
existing products. By their very definition, features provide enhanced functionality. Features can be
easily identified and tracked for potential CapEx treatment.
Applying Stories to CapEx and OpEx Treatment
The most granular means for capturing labor effort is to have team members record their hours
against each story. Although there’s some overhead, many teams do this anyway because of traditional
time-tracking requirements for job costing, billing, estimating, and other needs. However, this should
not be the default mode for CapEx, as it incurs overhead and thus reduces value delivery velocity. The
rest of the calculation is straightforward: the CapEx potential percentage is simply the percentage of
hours recorded for CapEx features, divided by the total of all hours invested in any period.
Page 328 of 433
Ten Essential SAFe Elements
These 10 essential elements also help an organization achieve three Lean Enterprise
competencies: Lean-Agile Leadership, Team and Technical Agility, and DevOps and Release on Demand.
Moreover, Essential SAFe provides the foundation for achieving the Business Solutions and Lean
Systems Engineering and Lean Portfolio Management competencies.
#1 – Lean-Agile Principles: SAFe practices are grounded in fundamental Lean-Agile principles. That’s why
you can be confident that they apply well in your case. And if the practices don’t directly apply, the
underlying principles can guide you to make sure that they are moving on a continuous path to the
‘shortest sustainable lead time, with best quality and value to people and society.’
#2 – Real Agile Teams and Trains: Real Agile Teams and Agile Release Trains (ARTs) are fully crossfunctional. They have everything, and everyone, necessary to produce a working, tested increment of
the solution. They are self-organizing and self-managing, which enables value to flow more quickly, with
a minimum of overhead. Product Management, System Arch/Eng, and Release Train Engineer provide
content and technical authority, and an effective development process. Product Owners and Scrum
Masters help the Dev teams meet their PI Objectives. The Agile teams should engage the customer
throughout the development process.
#3 – Cadence and Synchronization : Cadence provides a rhythmic pattern, the dependable heartbeat for
the development process. It makes routine those things that can be routine. Synchronization allows
multiple perspectives to be understood and resolved at the same time. For example, synchronization is
used to pull the various assets of a system together to assess solution-level viability.
#4 – PI Planning: No event is more powerful in SAFe than PI Increment (PI) planning. It’s the
cornerstone of the PI, which provides the rhythm for the ART. When 100 or so people work together
Page 329 of 433
toward a common mission, Vision, and purpose, it’s amazing how much alignment and energy it creates.
Gaining that alignment in just two days can save months of delays.
#5 – DevOps and Releasability: DevOps provides the Culture, Automation, Lean-flow, Measurement,
and Recovery capabilities to enable an enterprise to bridge the gap between development and
operations. Releasability focuses on the enterprise’s ability to deliver value to its Customers more often
and according to the demands of the market. Together they allow an organization to achieve better
economic results by having more frequent releases and faster validation of hypotheses.
#6 – System Demo : The primary measure of the ART’s progress is the objective evidence provided by a
working solution in the System Demo. Every two weeks, the full system— the integrated work of all
teams on the train for that iteration—is demoed to the train’s stakeholders. Stakeholders provide the
feedback the train needs to stay on course and take corrective action.
#7 – Inspect and Adapt : Inspect and Adapt is a significant event held every PI. A regular time to reflect,
collect data and solve problems, the inspect and adapt assembles teams and stakeholders to assess the
solution, and define and take action on the improvements needed to increase the velocity, quality, and
reliability of the next PI.
#8 – IP Iteration : The Innovation and Planning Iteration occurs every PI and serves multiple purposes. It
acts as an estimating buffer for meeting PI objectives, and provides dedicated time for innovation,
continuing education, and PI planning and Inspect and Adapt events. It’s like extra fuel in the tank:
Without it, the train may start straining under the ‘tyranny of the urgent’ iteration.
#9 – Architectural Runway: Architectural Runway consists of the existing code, components and
technical infrastructure necessary to support the implementation of high priority, near-term features,
without excessive delay and redesign. Without enough investment in the architectural runway, the train
will slow down, needing to redesign for each new Feature.
#10 – Lean-Agile Leadership : For SAFe to be effective, the enterprise’s leaders and managers must take
responsibility for Lean-Agile adoption and success. Executives and managers must become Lean-Agile
leaders who are trained—and then become trainers in—these leaner ways of thinking and operating.
Without leadership taking responsibility for the implementation, the transformation will likely fail to
achieve the full benefits.
Managers Role in SAFe
1. Lead the Change
2. Manage up and across the enterprise
3. Coaching newly formed Agile teams
4. Build teams and define the mission and vision
5. Personnel and Team Development
A Lean Perspective on SAFe Portfolio WIP Limits
Epic Analysis flow: The only explicit, count-based limit in the portfolio kanban in SAFe is limiting the
number of epics permitted to be in analysis and pre-approval at any given time. SAFe recommends the
WIP constraint here is determined based on the desired epic throughput (pull rate from portfolio
backlog into implementing) and the availability of the architectural and development capacity to
perform analysis. In the past this was framed as “limited by the number of epic owners”, but this didn’t
properly represent the bottleneck.
Page 330 of 433
Portfolio backlog: While there is no explicit limit set to the portfolio backlog size, in practice it has an
implicit limit based on desired aging and investment flow characteristics. If items in the portfolio are
consistently being passed in the final cost of delay sequencing, they are candidates to be pulled out and
eliminated or passed back through the analysis flow for reconsideration and re-scoping. Remember, the
portfolio backlog is not a linear queue, instead, it is continuously reprioritized as newly approved epics
arrive.
Implementation: There is an explicit, flow-based capacity limit between the portfolio backlog active
implementation by the various trains. The limit is managed as an explicit pull system where the trains
may pull in the work at the cadenced PI boundaries if they have capacity to support it.
Forecasting and capacity recognition is done in “big round number” story points, generally
derived from reference class forecasting or relative estimation approaches performed against a
preliminary feature decomposition. Reference. Capacity may be reserved by allocating budget against
the epics, representing an explicit, cross-cutting investment decision by the executives forming the
program portfolio management team.
Portfolio Distribution: SAFe significantly simplifies the decision making around the above concerns
through the recommended budgeting approach, which explicitly allocates budget, delegated financial
authority, and scope determination to the release trains as the default approach.
This leads to a significantly reduced portion of the overall spend being managed as explicit items
in the portfolio flow. Instead, the majority of the work can flow “horizontally” at the train level without
incurring the administrative and governance overhead associated with the larger items flowing through
the portfolio backlog.
The Portfolio Kanban System flow is intended to be for portfolio epics (items that cross trains)
and/or program epics that are of sufficient size that they need explicit financial governance. Reference.
SAFe additionally provides an optional value-stream level to manage coordination of those cross-cutting
items that demand additional attention, due to the various dependencies that remain after making the
organizational structure trade-off decisions without adding the additional financial governance
overhead.
Agile Testing
Test-First’ Approach applies to all types of agile work. That includes Capabilities, features,
stories, NFRs, as well as code. It can even be applied to the hardware components of a system. The same
way tests are written during coding, acceptance tests for capabilities, features, and stories are written
during their elaboration. The just-in-time practice of elaborating the proposed system behavior also
mitigates the need for overly detailed requirement specifications and sign-offs. Even better, unlike
conventionally-written requirements, these tests are automated wherever possible. But even when they
are not, they still provide a definitive statement of what the system does, rather than a statement of
early thoughts about what it was supposed to do.
In agile testing, everyone on the team is a tester. Using Behavior-Driven Development (BDD),
Product Managers and Product Owners collaborate with their teams to create tests for features and
stories. Developers create tests for code changes using Test-Driven Development (TDD).
Benefits of Test First
Page 331 of 433
1. Multiple perspectives provide a broad view of the required system behavior and the best
approach to testing it.
2. Collaboration creates alignment across the team and a shared understanding of how to
implement the behavior.
3. It forces developers to think broadly about a change before diving into the implementation.
The SAFe Portoflio Kanban System
LPM Agenda.
Page 332 of 433
LPM Calendar
Value Stream Map
EPIC Progress Report
Workshops during the portfolio process
Page 333 of 433
Portfolio scrum team is able to analyze an Epic and provide a rough estimate. If they need more
detailed information, they talk to the responsible Product Managers or Product Owners and–if
necessary–ask them to estimate future epics or parts or variants (MVPs) in their teams’ refinement
sessions. If that isn’t enough, they could also define an analysis enabler feature to be prioritized for the
next PI of the associated ART. This makes it possible to get valid estimations of CoD and job size to
define the WSJF for the epics after a short time and with minimal effort.
The result of the analysis is to build knowledge about the business and design decisions which
can be collected in SAFe’s Solution Intent. During the preparation phase before the next PI planning, the
canvases provide a valuable foundation to refine the epics even further and split them into features.
To split the epics, we can use well-known Agile requirements engineering techniques, such as
story mapping and story splitting. Because new epics arise, and the values (especially the time criticality
value) are changing over time, we have to repeat this estimation workshop every few weeks. If the
prioritization of an epic has changed dramatically, it will be discussed in the next LPM meeting.
BDD
Behavior Driven Development (BDD) is a Test-First, Agile Testing practice that provides Built-In Quality
by defining (and potentially automating) tests before, or as part of, specifying system behavior. BDD is a
collaborative process that creates a shared understanding of requirements between the business and
the Development Team. Its goal is to help guide development, decrease rework, and increase flow.
Without focusing on internal implementation, BDD tests are business-facing scenarios that attempt to
describe the behavior of a Story, Feature, or Capability from a user’s perspective.
BDD’s goal is to express requirements in unambiguous terms, not simply to create tests. The
result may be viewed as an expression of requirements or as a test, but the result is the same.
Acceptance tests serve to record the decisions made in the conversation between the team and the
Product Owner so that the team understands the specific intended behavior.
There are three alternative labels to this detailing process:
1. Behavior Driven Design (BDD)
2. Acceptance Test–Driven Development (ATDD),
3. Specification by Example (SBE)
Design for Testability: A Vital Aspect of the System Architect Role in SAFe
Page 334 of 433
Agile testing covers two specific business perspectives: on the one hand, it offers the ability to
critique the product, thereby minimizing the impact of defects’ being delivered to the user. On the
other, it supports iterative development by providing quick feedback within a continuous integration
process.
DFT helps reduce the impact of large system scope, and affords agile teams the luxury of working with
something that is more manageable. That is why the role of a System Architect is so important in agile at
scale, but it also reflects a different motivation: instead of defining a Big Design Up-front (BDUF), agile
architect helps to establish and sustain an effective product development flow by assuring the assets
that are developed are of high quality and needn’t be revisited. This reduces the cost of delay in
development because in a system that is designed for testability, all jobs require less time.
System Architect Role and DFT
Domain Modeling
Domain Modeling is a way to describe and model real world entities and the relationships
between them, which collectively describe the problem domain space. Derived from an understanding
of system-level requirements, identifying domain entities and their relationships provides an effective
basis for understanding and helps practitioners design systems for maintainability, testability, and
incremental development. Because there is often a gap between understanding the problem domain
and the interpretation of requirements, domain modeling is a primary modeling area in Agile
development at scale. Driven in part from object-oriented design approaches, domain modeling
envisions the solution as a set of domain objects that collaborate to fulfill system-level scenarios.
In SAFe, domain modeling connects to backlog items at the Team, Program, Large Solution and
Portfolio levels and provides a common language for the entire organization. Especially important is its
connection with the Nonfunctional Requirements (NFRs) that may affect certain areas where
“alternative design approaches” are sometimes used to satisfy the corresponding NFRs.
Domain modeling also provides the Agile organization with opportunities for use of Agilefriendly design patterns and approaches that enhance velocity over the long term. As the system design
changes, refactoring and updating the domain model is vital to maintaining a continuing understanding
of the system, and goes hand in hand with code refactoring to help control the inherent complexity of
software systems.
Page 335 of 433
Common Language Used Throughout Agile Organization
Enterprise Backlog Structure and Management
What differentiates Agile at scale is the use of a hierarchical backlog structure. This mechanism
organizes the Enterprise around value delivery at all levels. Depending on the configuration selected,
SAFe uses up to 4 backlogs (full SAFe configuration):
1. Portfolio Epics are split into Capabilities
2. Capabilities are split into Features
3. Features split into Stories
Summary of Backlog Items
At the Team Level, we want to continue to execute Plan-Do-Check-Adjust (PDCA) loops within
our iterations, while also applying a regular cadence of backlog refinements to make sure stories are in a
ready state for upcoming iterations. This requires allowing ample time to review upcoming features to
determine what stories and enablers may be essential to accomplish them in the next PI.
Page 336 of 433
Executing the current PI :
Team Iteration Planning, DSUs, Iteration Demo, Iteration Retro
Parallel execution and preparation at the Program level
Preparing for the next PI :
Team Participate in refinement sessions (Feature-Story, Story-Story)
Repeat for each Iteration in the PI
Parallel execution and preparation activities at the Large Solution level
Page 337 of 433
Implementation Strategies for Business Epics
Business epics are large initiatives in SAFe that drive business value and typically cross the
organizational boundaries (release trains), time boundaries (PIs), or both. It is a key capability of the
agile enterprise to properly analyze and sequence business epics for implementation. While it’s easy to
think of epics as big, binary, monolithic, committed blobs of work, the reality is they should be
implemented incrementally to achieve the benefits of agility. Epics are defined as a single whole, but
each epic undergoes incremental implementation.
Program Epic – an initiative that is constrained to a single program.
Portfolio Epic – involves more than one program.
In SAFe, epics go through the Kanban system where the necessary research and analysis
activities are conducted, and a go/no-go decision is eventually made. During analysis, a lean business
case is being developed for each epic, which among other aspects contains a description of the
implementation strategy for the epic. This strategy is a bridge from the centralized decision regarding
the epic into its decentralized implementation by programs.
Spike first. Before starting the implementation, the program runs spikes in the previous PI to learn more
about the epic prior to the next PI planning. The spikes may target different aspects of the epic: whether
or not we should implement it at all, how to implement it, what technology to use, what’s best for the
end user in terms of the functionality, etc. These research activities typically occur at the Analysis stage
in the Business Epic Kanban, are reflected in the lean business case and impact a go/no-go decision for
the epic.
Go/No-Go Business Decisions
Portfolio Epic
Business and Architecture Epics
Page 338 of 433
Organizing by Feature or Component
Features and components embody two key abstractions used to build software and systems: 1.
Features are those behaviors of the system that directly fulfill some user need
2. Components are distinguishable system parts that provide and encapsulate common functions
needed to implement features
Agile’s continuous delivery emphasizes features (and constituent stories) that solve user needs and
differentiate solutions. However, resilient large-scale systems are built out of components that provide
for separation of concerns, foster re-use, and improve testability.
System level, Continuous Integration (CI) infrastructure: Feature teams must be able to integrate the
entire system at any desirable point.
Test automation: Broad, automated regression test suites must be built and available as well.
The System Team is engaged in actively improving and supporting the CI systems and processes used by
the feature and component teams
Communities of Practice can be organized to share component-related knowledge across feature teams
Process and Tools for Portfolio Planning.
One of the key inputs to the Pre-planning session is the prioritized Portfolio Backlog. At this
point, Epics will have some Features associated with them; Epic to Feature breakdown happens at the
Analysis state in Portfolio Kanban. Those features will play the key role in the Pre-planning. The capacity
of the trains must also be known.
The process of filling out the matrix is simple:
1. Pick the next Epic in priority order from Portfolio Backlog and put it in the next available slot in
the top row
2. Place the child Features underneath the Epic in the rows where they belong
3. Calculate and enter total Feature scope for the Epic in normalized story points
4. Update the “Load” for each train and check whether it remains within the allocated capacity
limits for Portfolio Epics.
5. Repeat…
Page 339 of 433
Refactoring
Refactoring is the activity of improving the internal structure or operation of a code or
component without changing its external behavior.
1. Keep adding new functionality to an existing code base toward an eventually unmaintainable
“throw-away” state
2. Continuously modify the system to provide a foundation for efficiently delivering not just the
current business value but future business value as well.
Demonstrating Refactoring.
1. Reduced processing time on a few web pages, compared to the previous benchmark
2. Dependency of processing time on the size of the batch, which can be configured from the file
3. A code snippet for asynchronous processing
4. The debug log file that captures all the operations
5. The number of queries to dictionaries per batch (from the log file)
Right-Sizing Features for SAFe Program Increments
Features are visible ‘units’ of business intent that the customer recognizes, and it’s at this level
of detail that the customer is able to prioritize their needs. Features may span multiple user roles,
stories and use cases. Multiple teams may work on the same feature, swarming together to deliver them
quickly.
Splitting Stories vs. Slicing Features
There is another important difference between splitting stories and slicing features. When we
split a story, it usually results in a set of similarly sized new stories that completely replace the original
story. when slicing features, we usually just find the most important slices and leave the rest to be
addressed later.
Good Feature Slicing:
1. KISS Design Principle. Keep it simple, stupid
2. Defer Optional Behavior
3. Separate Business Variations
4. Separate Different Channels
5. Address Different User Groups Individually
6. Consider Incrementally Sourcing Data
Page 340 of 433
7.
8.
9.
10.
Isolate Special Variations.
Break Out Common Enablers
Find a Story Group
Break Out a Spike.
Bad Feature Slicing
1. Deferring Nonfunctional Requirements
2. Creating Feature Debt
3. Slicing Too Early
4. Over-slicing
5. Slicing by operation or workflow step.
6. Slicing by Component
7. Forgetting Feature-level Testing
SAFe Requirement Model
Six SAFe Practices for S-Sized Teams
1. Strategic Themes
2. Program Epics
3. Program Kanban
4. Features
5. PI Planning
6. Innovation and Planning Iteration
Where to Use Safe.
1. A strategic software product with a long lifespan
2. Dependencies with multiple non-software development teams
3. The necessity to invest in long-term capabilities like DevOps
Page 341 of 433
4. Expectation to scale from S to M size
Test Driven Development
The Role of PI Objectives
The ability to
1. Validate understanding of the intent
2. Focus alignment on outcomes rather than process
3. Summarize data into meaningful and steerable information
Download