Content Page. Each development value stream develops one or more Solutions, which are products, services, or systems delivered to the customer, whether internal or external to the Enterprise.
Click. Boom. Amazing!
All the words, pages, roles, activities, and artifacts in SAFe exist for only one purpose: to help Agile teams continuously deliver solutions that provide value to their customer. In turn, that enables customers to achieve their goals, which is the pinnacle of applying Design Thinking tools with a Customer-centric mindset.
However, even when teams and trains apply SAFe guidance and operate effectively within their disciplines, the value isn’t guaranteed. After all, customers do not buy Capabilities or Features. Rather, they buy whole product solutions that deliver desired outcomes. For that reason, a solution is one of the central concepts in SAFe and requires taking a systems view regarding value delivery.
Developing an effective solution that is fit for its intended purpose, that is desirable, viable, feasible, and sustainable—is the larger aim of SAFe. As described in the
article, a solution is either a final product or a set of systems that enable an organization’s operational value stream. In either case, the work is largely the same: to determine the solution ecosystem’s needs (end-users, customers, suppliers, partners) and to reliably, efficiently, and continuously produce a flow of value that meets those needs.
Overview of Solution Development in SAFe
Solution development is the subject of each Agile Release Train (ART) and value stream. In the Essential SAFe and
configurations, each ART has the ability to deliver a largely independent solution to the customer. Large Solution SAFe supports solutions that require multiple ARTs and typically multiple Suppliers. As solution development becomes larger and more complex, more SAFe elements and practices are required. The most complex solutions require all of SAFe, as Figure 1 illustrates.
Figure 1. Overview of solution development
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. But it also facilitates exploring and defining fixed and variable requirements and designs that are derived, in part, from the Solution Context.
The nature of the customer and the relationship between the customer and the value stream determine their involvement in solution development. Customers of bespoke solutions, internal solutions, or large systems customers often interact directly with ARTs and Agile 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
. Informed by research and design thinking practices, Product Management represents customers of other kinds of solutions.
Financial governance is provided, in part, by the Economic Framework, which establishes the decision rules that govern the financial objectives of the solution and guides the economic decision-making process.
all provide additional boundaries and input. System and Solution Architects and Engineering provide technical governance.
Effective Solution Development Requires Systems Thinking
Principle #2 – Apply systems thinking guides the organization to institute scalable and forward-looking practices around value definition, architecture, development practices, and process improvement. Many elements of the Framework facilitate this, as described in the sections below.
Solution Capabilities, Features, Enablers, and NFRs
Capabilities and features are the end-to-end solution services that help achieve user goals. Implemented via vertical, end-to-end slices of value, they enable incremental solution development. The distinction between capabilities and features is that features can be realized by a single ART, while multiple ARTs realize capabilities within a Solution Train. Both capabilities and features must be completed within a single PI.
. This triggers early value delivery and helps build robust architecture.
Solution intent initiates and captures a full view of the solution. It also incorporates different aspects that govern value definition, including structural, behavioral, functional, and other views. Model-Based Systems Engineering (MBSE) provides an effective way of reasoning about the solution and is an efficient tool to share knowledge. Fixed and variable solution intent enables ARTs and Solution Trains to enhance solution intent based on the objective knowledge that emerges over the course of many learning cycles.
Customer and Solution Context
Taking a systems view requires understanding the solution context—that is, the broader ecosystem in which the solution operates. It provides additional information that determines operational requirements and constraints. And, of course, customers are part of the value stream. They participate, either directly or indirectly, in defining solution intent and solution context, and they help validate assumptions and fitness for use.
Building an Economically Viable Solution
Building a complex solution requires informed and effective decision-making—the trade-offs of the economic framework help guide solution development. Besides, a continuous exploration process that includes learning
, customer feedback loops, and Set-Based Design informs and streamlines the learning process by validating good options and eliminating less practical ones.
Integrating, Testing, and Releasing
Solution development is effective only when stakeholders and teams frequently evaluate integrated increments of the entire solution. While the Solution Demo occurs on a fixed PI cadence, all of the Continuous Delivery Pipeline work activities to support the continuous creation of value and Release on Demand. To accomplish this objective, Agile teams continuously enhance their DevOps capabilities and integration and testing practices, configuration management, automation, and virtualization.
contains multiple value streams. Many are largely independent, while others may have many cross-cutting concerns and dependencies, as is illustrated in Figure 2.
Figure 2. An example of cross cutting solution concerns in a portfolio
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,