SAFe Lesson 4: Building Solutions with Agile Product Delivery
Validate on Staging
3 Practices: maintain a staging environment, blue/green deployment, system demo
Trunk-based Development
A 'gated commit' ensures software has passed the gate (e.g. unit tested, performance tested, and free of known defects, etc.) before being checked into the main codebase or trunk. Code that passes the gate is automatically integrated into the trunk; which removes the complications of managing multiple branches. Helps to ensure the code can be reliably released on demand without the need for costly code freezes or hardening iterations.
Application Lifecycle Management
Application and Agile lifecycle management tools create a standardized environment for communication and collaboration between development teams and related groups.
Testing Automation
Automated testing tools include unit and acceptance testing, performance testing, and load testing.
Blue/Green Deployment
Blue/green deployment provides two environments, one live and one idle. To deploy, a switch is flipped, or a load balancer is updated, and the idle environment becomes the staging environment, while the other becomes the new idle environment. This enables quick transition and recovery where necessary.
Continuous Deployment Automation
CD 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.
Continuous Integration Automation
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.
Story Map
Capturing features that represent a workflow; organize a sequence of stories according to the tasks a user needs to accomplish their goal; enable teams to understand how the stories in the team backlog support user objective; clarify the relationships between quality and value
SAFe DevOps Health Radar
Continuous Exploration: hypothesize, collaborate & research, architect, synthesize Continuous Integration: develop, build, test end-to-end, stage Continuous Deployment: deploy, verify, monitor, respond Release on Demand: release, stabilize, measure, learn
Customer Centricity and Design Thinking
Customer centricity puts the customer at the center of every decision and uses design thinking to ensure the solution is desirable, feasible, viable, and sustainable.
Seven practices contribute to the ability to deploy
Dark launches, feature toggles, deployment automation, selective deployment, self-service deployment, version control, blue/green deployment
DevOps and the Continuous Delivery Pipeline
DevOps and the Continuous Delivery Pipeline creates the foundation that enables Enterprises to release value, in whole or in part, at any time to meet customer and market demand.
Develop on Cadence; Release on Demand
Developing on cadence helps manage the variability inherent in product development. Decoupling the release of value assures customers can get what they need when they need it.
Service Virtualization
Different kinds of testing require different environments. Service virtualizations allow teams to simulate a production environment without the costs and effort associated with creating and managing real environments.
Analyzing
Features that best align with the vision are pulled into the analyzing step for further exploration.
End-to-end System Testing
Five practices: test and production environment congruence, test automation, test data management, service virtualization, test nonfunctional requirements, continuous integration with suppliers
Customer Centricity motivates teams to
Focus on the customer, understand the customer's needs, think and feel like the customer, build whole product solutions, create customer lifetime value
Kanban Series of States
Funnel, Analyzing, Program Backlog, Implementing, Validating on Staging, Deploying to Production, Releasing, Done
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? What is the current effect on customer satisfaction?
Why Customer-centric?
It helps deliver the whole product solution from a holistic perspective; greater profits; increased employee engagements; more satisfied customers
Benefit Hypothesis
Justifies feature implementation cost and provides business perspective when making scope decisions
Successful PI Planning
Organizational readiness (planning scope and context, business alignment, agile teams), Content readiness (executive briefing, product vision briefing, architecture vision briefing), Logistics readiness (locations, technology and tooling, communication channels)
3 Aspects of Inspect and Adapt Workshop
PI System Demo, Quantitative and Qualitative Measurement, Problem-Solving Workshop
Story Point
Represents volume, complexity, knowledge, uncertainty
ROAM (Program Risks)
Resolved, Owned, Accepted, Mitigated
SMART PI Objective
Specific, Measureable, Achievable, Realistic, Time-bound
Team Breakout #2
Teams continue planning based on their agenda from the previous day, making the appropriate adjustments. They finalize their objectives for the PI, to which the Business Owners assign business value
Recover - Enable Low-Risk Releases
Techniques: stop-the-line mentality so everyone swarms to fix any problems until it is resolved; plan for and rehearse failures; build the environment and capability to fix forward or roll back
Process Time
The time it takes to get work done in one step of the CI/CD pipeline
Committed PI Objectives
These business and technical goals for each team, with agreement and value assigned by the Business Owners, guide the team's work for the next program increment.
Program Board
This is a "visual radiator" of the new feature delivery dates, feature dependencies among teams and with other ARTs, and relevant Milestones
Funnel
This is the capture state for all new features or enhancement of existing system features.
Test data management
To create stability, tests must be consistent and realistic, replicating production as much as possible, and under source control.
How Customers Derive Value
Two primary means by which a customer derives value from products and solutions, 1) reducing their costs and 2) increasing their revenue Secondary aspects of value derivation include such things as brand value, and the alignment of values between the customer and the enterprise
Acceptance Criteria
Typically defined during the Program Backlog refinement
Cost of Delay
User-Business Value + Time Criticality + Risk Reduction and/or Opportunity Enablement
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 enable new business opportunities?
User-Business Value
What is the relative value to the customer or business? Do our users prefer this over that? What is the revenue impact on our business? Is there a potential penalty or other negative impact if we delay?
Epics
a container for a significant Solution development initiative that captures the more substantial investments that occur within a portfolio. Due to their considerable scope and impact, epics require the definition of a Minimum Viable Product (MVP) and approval by Lean Portfolio Management (LPM) before implementation.
Agile Product Delivery
a customer-centric approach to defining, building, and releasing a continuous flow of valuable products and services to customers and users; 3 Dimensions: Customer Centricity / Design Thinking, Develop on Cadence / Release on Demand, DevOps and the Continuous Delivery Pipeline
Design Thinking
a customer-centric development process that creates desirable products that are profitable and sustainable over their lifecycle; it emphasizes understanding the problem to be solved, the context in which the solution will be used, and the evolution of that solution. Steps: Understand the Problem, Design the right solution, Sustain (Viable, Feasible, Desirable)
Empathy Map
a design thinking tool that promote customer identification by helping teams develop deep, shared understanding for others; they help teams imagine what a specific persona is thinking, feeling, hearing, and seeing as they use the product.
Prototype
a functional model of the Feature or Product we wish to build. It helps the design team clarify their understanding of the problem and reduces risk in developing a solution. Benefits: Fast feedback, risk reduction, intellectual property / patent filing, models for requirements Types: paper (usually best choice), mid-fi, hi-fi, hardware
Customer Centricity
a mindset and a way of doing business that focuses on creating positive experiences for the customer through the full set of products and services that the enterprise offers; generate greater profits, increased employee engagement, and more satisfied customers; Customer-centric businesses create greater profits, increase employee engagement, and more thoroughly satisfy customer needs. Customer-centric governments and nonprofits create resilience, sustainability, and the alignment needed to fulfill their mission.
DevOps
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; seamlessly defines, implements, and delivers solution elements to the end user, without handoffs or excessive external production or operations support. It includes not just development and operations but everyone needed to release value, such as security, compliance, audit, marketing, legal and others. The goal: to improve collaboration across the value stream by developing and automating a continuous delivery pipeline Benefits: 208x more frequent deploy frequency, 106x faster lead time, 2604x faster time to restore service, 7x lower change fail rate
Market Event
a one-time future event, which has a high probability of materially affecting one or more solutions
Weighted Shortest Job First (WSJF)
a prioritization model used to sequence jobs (eg., Features, Capabilities, and Epics) to produce maximum economic benefit. In SAFe, WSJF is estimated as the Cost of Delay (CoD) divided by job size; highest priority = highest WSJF
Solution Train Engineer
a servant leader and coach for the Solution Train, facilitating and guiding the work across all ARTs and Suppliers in the Value Stream.
Market Rhythm
a set of events that occur repeatedly on a predictable cadence.
Business Owner
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); participate in mission setting, planning, draft plan reviews, conducting management reviews, and problem-solving during PI planning; assign business value to Team PI Objectives and approve the PI plan
Program Predictability Measure
actual business value achieved to planned business value.
DevOps Tool Chain
application lifecycle management, build, test, continuous integration, artifact management repository, continuous deployment
Inspect and Adapt
are held at the end of each Program Increment (PI). It provides the entire ART with an opportunity to identify process improvement via a structured, problem-solving workshop.
Enabler Stories
capture system, architecture, or infrastructure requirements, such as building improvements to support the continuous delivery pipeline.
Rolled Percent Complete and Accurate
captures the likelihood that an item will pass through the entire workflow without rework
System Demos
conducted at the end of every iteration and provide an integrated view of new Features for the most recent iteration. Each demo gives ART stakeholders an objective measure of progress for the current increment. By providing opportunities for real-time adjustments, a system demo is a critical event that enables Business Agility.
5 practices to help build the solution
continuous code integration, build and test automation, trunk-based development, gated commit, application security
Architecture Runway
existing code, hardware components, marketing branding guidelines, etc. that enable near-term business Features; enablers build up the runway; features consume it; must be continuously maintained; use capacity allocation for enablers that extend the runway
Buyer Personas
extend design thinking to include the individuals and organizations that authorize purchasing decisions. They help ensure that the design encompasses the whole product purchase experience, including after-sales service, support, and operations.
Personas
fictional consumers and/or users derived from customer research; the different people who might use a product or solution in a similar way, providing insights into how real users would engage with a solution.
Innovation Accounting
focuses on how to measure the intermediate and predictive business outcomes of the hypothesis during initial incremental solution development and evaluation of the Minimal Viable Product (MVP)
Define Phase
focuses on the information gathered during the discover phase, using convergent techniques to generate insights into the specific problems and/or unmet needs.
Augmented Product
goes beyond what is expected and enables competitors to differentiate their offerings
Deep and Narrow Solutions
has a small number of customers that will often pay a significant amount of money for these products and services
Scrum of Scrums
helps coordinate the dependencies of the ARTs and provides visibility into progress and impediments. The RTE, representatives from each team (often the Scrum Master), and others (where appropriate) meet to review their progress toward milestones and PI objectives, and dependencies among the teams
Solution Context
identifies critical aspects of the operational environment for a Solution. It provides an essential understanding of requirements, usage, installation, operation, and support of the solution itself. Solution context heavily influences opportunities and constraints for releasing on demand.
Customer Journey Map
illustrates the experience as a user engages with a company's operational value stream, products, and services. Journey maps are powerful design thinking tools for operational Value Streams. They allow teams to identify ways in which the specific deliverables of one or more Development Value Streams can be improved to create a better end-to-end experience.
Enabling a Culture of Continuous Integration
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
Release Train Engineer
is a servant leader and coach for the Agile Release Train (ART). The RTE's major responsibilities are to facilitate the ART events and processes and assist the teams in delivering value. RTEs communicate with stakeholders, escalate impediments, help manage risk, and drive relentless improvement.
Innovation and Planning
iterations offer an opportunity in every PI for teams to work on innovation activities that are difficult to fit into a continuous, incremental value delivery pattern.
Empathetic Design
our ability to put aside our preconceived ideas and develop solutions from the perspective of our customers.
Built-in Quality
prescribes practices around flow, architecture & design quality, code quality, system quality, and release quality.
Deliver Phase
produces artifacts that are suitable for creating the solution and vary based on context. They often start as prototypes that are expressed as a validated set of Features in the Program Backlog for ongoing delivery through the Continuous Delivery Pipeline.
Pull Event
pulls together various aspects of the solution and helps ensure that the ARTs and suppliers are creating an integrated and tested solution, fit for its intended purpose
Potential Product
represents everything that might be done to attract and keep customers
Expected Product
represents the customer's minimal purchase conditions as informed by alternative or competing products
Discover Phase
seeks to understand the problem by engaging in market and user research to identify unmet needs
Multi-Segment Solutions
serve disparate market segments in which each segment uses the solution in slightly different ways. In this situation, customer centricity means understanding the unique needs of each segment even if the solution serves multiple segments.
Agile Product Management
serves as the central coordinating function for bringing new solutions to market while also ensuring the ongoing success of existing products.
Program Increment Planning
serves as the heartbeat of the ART, aligning all its teams to a shared mission and vision. Architecture/Engineering and UX work as intermediaries for governance, interfaces and dependencies; includes all members of the ART and occurs within the Innovation and Planning (IP) Iteration. Inputs: business context, roadmap and vision, top 10 features of the Program Backlog Outputs: Committed PI objectives, program board
DevSecOps
shifts security practices left; during continuous exploration, perform threat modeling to identify potential security threats based on solution design; ensure backlogs and NFRs reflect security requirements; security test and tools automatically identify security vulnerabilities during integration (and possibly after deployment); security as code + penetration tests help prevent known vulns from getting into prod; after release, security monitoring watches for breaches + attacks against vulns
Team Breakout #1
teams estimate their capacity for each Iteration and identify the backlog items they will likely need to realize the features. Each team creates their draft plans, visible to all, iteration by iteration.
Draft Plan Review
teams present key planning outputs, which include capacity and load, draft PI objectives, potential risks, and dependencies. Business Owners, Product Management, and other teams and stakeholders review and provide input.
Generic Product
the "minimal offering" of a product.
Program Backlog
the holding area for upcoming Features that will address user needs and deliver business benefits for a single Agile Release Train (ART)
Percent Complete and Accurate
the percentage of work that the next step in the CI/CD pipeline can process without needing rework
User Stories
the primary means of expressing needed functionality. They can be written in a role format or a persona format
Application telemetry
the primary mechanism that acquires and then uses application data to help determine the results of relevant hypotheses.
Continuous Integration
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. 4 Activities: Develop and implement stories, Build deployable binaries and merge the development branch, test end-to-end, stage by hosting and validating the solution in the staging environment
Release on Demand
the process that deploys new functionality into production and releases it immediately or incrementally to customers based on demand. 4 Activities: release, stabilize and operate, measure, learn 4 Practices: dark launches, feature toggles, canary releases, decoupled release elements
Continuous Exploration
the process that drives innovation and fosters 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; new ideas are raised, refined, and prepared as a list of prioritized features in the Program Backlog Steps: Hypothesize, collaborate & research, architect, synthesize
Continuous Deployment
the process that takes validated Features in a staging environment and deploys them into the production environment, where they are readied for release. Promotes design thinking / flow of value by: targeting functionality to specific customers, promoting experimentation (such as A/B testing), promotes small batches, releasing on business needs 4 Activities: deploy to production, verify the solution, monitor for problems, respond and recover
Solution Intent
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.
Solution Intent
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; the basic understanding of the current and evolving requirements, design, and intent; what exactly is this thing we are building? how are we going to build it?
Lead Time
the time it takes from when the work was done in the previous step of the CI/CD pipeline until it's done in the current step
Delay Time
the time when no work is happening
Build Automation
used to script or automate the process of compiling source code into binary code.
Develop Phase
uses journey mapping, story mapping, and prototyping to design potential solutions to problems quickly and cost-effectively
Features and Benefit Matrix
using short phrases that provide context and a hypothesis of the benefits that the user experiences; talk about 'Benefit-Feature' as this helps promote considering the different features that can provide the desired benefit
Solution Demo
where the results of development efforts from the Solution Train are integrated, evaluated, and made visible to Customers and other stakeholders; where the results of the combined development efforts of multiple Agile Release Trains (ARTs)—along with the contributions from Suppliers and other solution participants—are shown to customers and other stakeholders; 'pull event'