Table of Contents
ToggleWhat is the SAFe Requirements Model?
The SAFe Requirements Model is a hierarchical structure that manages and organizes requirements in large-scale Agile projects.
The SAFe Requirements Model helps organizations align their business objectives with their development efforts, ensuring that teams deliver value incrementally while focusing on the overall strategy. The SAFe Requirements Model is organized into three levels:
- Epics are high-level initiatives representing significant organizational value and span multiple planning intervals.
- Features are mid-level requirements that provide more detailed descriptions of the functionality needed to achieve the goals set forth by the Epics.
- Stories are the smallest units of work, representing individual tasks to be completed by Agile teams, typically within a single iteration.
What are SAFe Epics?
Portfolio Epics are large-scale business initiatives that drive change and provide substantial business benefits.
The strategic investment themes drive all new development, and requirements epics are derived from these decisions.
Epics are large-scale development initiatives that realize the value of investment themes.
Epics in the SAFe Requirements Model are large-scale, cross-cutting initiatives that encapsulate significant development efforts and provide substantial value to the organization or end-users. They can be business epics, which focus on delivering customer or user value, or enabler epics, which address technical or architectural enhancements to support the development of business epics. Epics typically span multiple Agile Release Trains (ARTs) and Planning Intervals (PIs), requiring collaboration and coordination among various teams.
Epics are the highest-level requirements artifact used to coordinate development. In the requirements model, they sit between investment themes and features.
- Epics are usually driven (parented by) investment themes. However, some epics can be independent (they do not require a parent to exist).
- Epics are not implemented directly. Instead, they are broken down into Features and User Stories, which the teams use for actual coding and testing.
- Epics are not directly testable. They are tested through the acceptance tests associated with the features and stories that implement them.
What are the key elements of a SAFe Epic Statement?
An Epic Statement comprises a brief description, the customer or business benefit, and the success criteria.
When documenting epics in SAFe, the following key elements are included:
Field | Description |
---|---|
Epic ID | A unique identifier for easy tracking and reference. |
Epic Title | This concise, descriptive title summarizes the epic’s main objective. |
Epic Description | A high-level description that provides context and clarifies the intended outcome or functionality. |
Business Outcome Hypothesis | A statement articulating the expected value or benefits to the organization or customers from implementing the epic, usually including quantifiable metrics. |
Leading Indicators | Early signals or metrics provide insight into the epic’s progress and success. |
Acceptance Criteria | A list of conditions for the epic to be considered complete and accepted by stakeholders, defining the desired functionality, quality, and performance. |
Dependencies | Any relationships or dependencies with other epics, features, or components must be addressed or coordinated for successful implementation. |
Priority | The relative importance of the epic within the portfolio backlog is used to guide investment decisions and the allocation of resources. |
Size or Effort Estimate | A rough estimation of the effort or complexity involved in implementing the epic is typically expressed in story points or team weeks to help inform capacity planning and scheduling. |
What are the differences between SAFe Business Epics and Enabler Epics?
Business Epics delivers direct business value, while Enabler Epics provides the technological or architectural advancements necessary to support business Epics.
In the SAFe Requirements Model, the difference between enabler epics and business epics lies in their focus and purpose:
- Business Epics: These are large-scale initiatives aimed at delivering customer or user value, addressing new features, products, or services that have a direct impact on the organization’s business outcomes. Business epics typically focus on solving customer problems, capturing market opportunities, or improving the user experience.
- Enabler Epics: These epics focus on technical, architectural, or process enhancements that support the development and delivery of business epics. Enabler epics may not provide direct customer value but are essential for improving the organization’s underlying infrastructure, technology, or capabilities, making it easier to deliver business value more efficiently and effectively.
Business Epics and Enabler Epics in SAFe serve different but equally important roles. Business Epics are initiatives that deliver direct customer or business value. They represent substantial investments and have a clear tie to business outcomes. On the other hand, Enabler Epics support the implementation of Business Epics. They represent the necessary technological or architectural advancements that facilitate the delivery of business value. While they may not directly impact the customer, they are vital in realizing Business Epics.
What is the SAFe Portfolio Backlog?
The Portfolio Backlog is a prioritized list of Portfolio Epics.
The Portfolio Backlog within SAFe serves as the repository for upcoming Portfolio Epics. It is a prioritized list of Epics, with those at the top representing the highest priority and most significant initiatives that need to be undertaken. This backlog helps to align the organization around the most important strategic initiatives, allowing for effective decision-making and allocation of resources across the portfolio.
The Portfolio Backlog provides a clear picture of the organization’s direction and value delivery at the Portfolio level, guiding the allocation of resources, funding, and coordination of efforts across multiple Agile Release Trains (ARTs) and Solution Trains to align with the overall strategy.
What are SAFe Product Features?
SAFe Product Features are serviceable system components that provide business value and address user needs.
Features are described as follows:
Features are services provided by the system that fulfill stakeholder needs.
Within the realm of SAFe, Product Features are distinct pieces of functionality that are of value to the user or the business. They are typically larger than individual User Stories and represent services the system provides that fulfill specific user needs. Features form a critical part of the Program Backlog.
In describing the features of a product or system, we take a more abstract and higher-level view of the system of interest. In so doing, we have the security of returning to a more traditional description of system behavior, the feature.
Features as ART-Level Artifacts
A “Feature” in the SAFe Requirements Model is a high-level, functional requirement that delivers value to the end-user or customer. Features are typically part of a larger product or system and are aligned with the goals of a specific Planning Interval (PI), which usually spans 8-12 weeks.
Features live above software requirements and bridge the gap from the problem domain (understanding the needs of the users and stakeholders in the target market) to the solution domain (specific requirements intended to address the user needs).
Features are usually expressed as bullet points or, at most, a couple of sentences. For instance, you might describe a few features of an online email service like this:
Enable “Stars” for marking important conversations or messages, acting as a visual reminder to follow up on a message or conversation later. Introduce “Labels” as a “folder-like” metaphor for organizing conversations.
Feature Statement and Template
In the SAFe Requirements Model, a feature is typically documented using the following:
Field | Description |
---|---|
Title | A concise summary of the feature’s purpose. |
Description | A brief overview of the desired outcome. |
Benefit Hypothesis | Expected value or benefit statement. |
Acceptance Criteria | Conditions for completion and stakeholder acceptance. |
Dependencies | Related features, components, or teams to coordinate. |
Priority | Feature’s importance within the PI backlog for planning. |
Size/Effort | Rough implementation effort estimate for capacity planning. |
What are the differences between SAFe Features and SAFe Capabilities?
SAFe Features are system functionality that provides value to users, while SAFe Capabilities are higher-level functionalities that provide value to customers and stakeholders.
SAFe distinguishes between Features and Capabilities based on their level of abstraction and scope. Features at the Program Level are functionality increments that address user needs and deliver value. They are smaller in scope and more detailed compared to Capabilities. On the other hand, Capabilities are placed at the Large Solution Level, representing higher-level functionalities that deliver value to customers and stakeholders. They are typically bigger, encompass broader functionality, and may require multiple Agile Release Trains (ARTs) to implement.
The main difference between capabilities and features in the SAFe Requirements Model lies in their scope and granularity:
- Capabilities: Capabilities are high-level functional requirements that describe essential building blocks of a solution in the Large Solution level of the SAFe Requirements Model. They span multiple Agile Release Trains (ARTs) and represent the functionality needed to deliver value to end-users or customers. Capabilities provide a broader perspective on the solution and help coordinate efforts among multiple ARTs working together.
- Features: Features are smaller, more granular functional requirements at the Program level in the SAFe Requirements Model. They describe specific functionalities or enhancements that deliver value within a single Agile Release Train (ART). Features are derived from capabilities and are broken down into user stories, which Agile teams implement during iterations.
In summary, capabilities are high-level, cross-ART functional requirements for large-scale solutions. At the same time, features are more granular, ART-specific requirements that deliver value as part of a product or system.
How are SAFe Features tested?
SAFe Features are tested through iteration testing, integration testing, and system demos.
The SAFe approach to testing Features involves three specific practices, ensuring functionality and integration, and they are:
- Iteration Testing, where each feature is tested during the iteration it’s developed.
- Integration Testing is where Features are tested in conjunction with other system elements to ensure they work together properly.
- System Demos allow stakeholders to inspect the integrated system and provide feedback, enabling further refinement and validation of Features.
Story-level testing ensures that methods and classes are reliable (unit testing) and stories serve their intended purpose (functional testing). A feature may involve multiple teams and numerous stories. Therefore, testing feature functionality is as crucial as testing story implementation.
Moreover, many system-level “what if” considerations (think alternative use-case scenarios) must be tested to guarantee overall system reliability. Some of these can only be tested at the full system level. So indeed, features, like stories, require acceptance tests as well.
Every feature demands one or more acceptance tests, and a feature cannot be considered complete until it passes.
What are Nonfunctional Requirements?
Nonfunctional Requirements (NFRs) are specifications about system qualities such as performance, reliability, and usability.
In SAFe, Nonfunctional Requirements (NFRs) denote the ‘ilities’ – system attributes like scalability, reliability, usability, and security. Unlike functional requirements, which define what a system does, NFRs describe how it does it. These are critical factors that shape system behavior and often have system-wide implications. NFRs are a constant consideration throughout the development process, helping to ensure that the system meets the necessary standards and delivers a satisfying user experience.
Nonfunctional Requirements as Backlog Constraints
From a requirements modeling perspective, we could include the NFRs in the program backlog, but their behavior tends to differ. New features usually enter the backlog, get implemented and tested, and then are removed (though ongoing functional tests ensure the features continue to work well in the future). NFRs restrict new development, reducing the level of design freedom that teams might otherwise possess. Here’s an example:
For partner compatibility, implement SAML-based single sign-on (NFR) for all products in the suite.
In other cases, when new features are implemented, existing NFRs must be reconsidered, and previously sufficient system tests may need expansion. Here’s an example:
The new touch UI (new feature) must still adhere to our accessibility standards (NFR).
Thus, in the requirements model, we represented NFRs as backlog limitations.
We first observe that nonfunctional requirements may constrain some backlog items while others do not. We also notice that some nonfunctional requirements may not apply to any backlog items, meaning they stand alone and pertain to the entire system.
Regardless of how we view them, nonfunctional requirements must be documented and shared with the relevant teams. Some NFRs apply to the whole system, and others are specific to a team’s feature or component domain.
How are Nonfunctional Requirements tested?
Nonfunctional Requirements are tested through methods like performance testing, usability testing, and security testing.
The testing of Nonfunctional Requirements (NFRs) in SAFe involves specialized techniques corresponding to each type of NFR. For instance, performance testing measures system responsiveness and stability under varying workloads. Usability testing assesses the system’s user-friendliness and intuitiveness. Security testing evaluates the system’s resistance to threats and attacks. By testing NFRs, teams ensure that the system delivers the right functionality and provides the right quality of service, thereby maximizing user satisfaction and trust.
Most nonfunctional (0…*) requirements necessitate one or more tests. Instead of labeling these tests as another form of acceptance tests and further overusing that term, we’ve called them system qualities tests. This name implies that these tests must be conducted periodically to verify that the system still exhibits the qualities expressed by the nonfunctional requirements.
What is the SAFe ART Backlog?
The SAFe Program Backlog is a prioritized list of features awaiting development within an Agile Release Train.
Within SAFe, the Program Backlog serves as a holding area for upcoming Features, which are system-level services that offer user benefits and are set to be developed by a specific Agile Release Train (ART). These Features are prioritized based on their value, risk, dependencies, and size. The backlog helps provide transparency and drives PI planning, guiding the ART toward achieving the desired outcomes.
Features are brought to life by stories. During release planning, features are broken down into stories, which the teams utilize to implement the feature’s functionality.
What are SAFe User Stories?
SAFe User Stories are short, simple descriptions of a feature told from the perspective of the person who desires the capability, usually a user or customer.
User Stories within SAFe are a tool for expressing requirements. They focus on the user’s perspective, facilitating a clear understanding of who the user is, what they need, and why they need it. User Stories promote collaboration and customer-centric development by emphasizing value delivery and verbal communication.
What is the definition of a SAFe User Story?
A SAFe User Story is a requirement expressed from the end-user perspective, detailing what the user wants to achieve and why.
In SAFe, a User Story is an informal, natural language description of one or more features of a software system. It is centered around the end-user and their needs, providing context for the development team. User stories are the agile alternative to traditional software requirements statements (or use cases in RUP and UML), serving as the backbone of agile development. Initially developed within the framework of XP, they are now a staple of agile development in general and are covered in most Scrum courses.
In the SAFe Requirements Model, user stories replace traditional software requirements, conveying customer needs from analysis to implementation.
A user story is defined as:
A user story is a concise statement of intent that outlines what the system needs to do for the user.
Typically, user stories follow a standard (user voice) format:
As a <role>, I can <activity> so that <business value>.
This format encompasses elements of the problem space (the delivered business value), the user’s role (or persona), and the solution space (the activity the user performs with the system). For example:
“As a Salesperson (<role>), I want to paginate my leads when I send mass e-mails (<what I do with the system>) so that I can quickly select a large number of leads (<business value I receive>).”
What are the 3-Cs of user stories?
The 3-Cs of user stories refer to Card, Conversation, and Confirmation.
In the realm of SAFe, these three Cs are fundamental to the creation and execution of User Stories. The “Card” typically represents the User Story, written in simple language. “Conversation” signifies the collaborative discussions that clarify the details of the User Story and refine its requirements. “Confirmation” establishes acceptance criteria to determine when the User Story is completed successfully. This trio of components ensures clarity and shared understanding in value delivery.
- “Card” refers to the two or three sentences that convey the story’s intent.
- “Conversation” involves elaborating on the card’s intent through discussions with the customer or product owner. In other words, the card also signifies a “commitment to a conversation” about the intent.
- “Confirmation” is the process by which the team, via the customer or customer proxy, determines that the code fulfills the story’s entire intent.
Note that stories in XP and Agile are often manually written on physical index cards. However, agile project management tools usually capture the “card” element as text and attachments in the enterprise context. Still, teams frequently use physical cards for planning, estimating, prioritizing, and visibility during daily stand-ups.
This straightforward alliteration and Agile’s passion for “all code is tested code” demonstrates how quality is achieved during code development rather than afterward.
The SAFe Requirements model represents the confirmation function as an acceptance test verifying that the story has been implemented correctly. We’ll refer to it as story acceptance tests to distinguish it from other acceptance tests and consider them an artifact separate from the (user) story.
The model is explicit in its insistence on the relationship between the story and the story acceptance test as follows:
- In the one-to-many (1..*) relationship, every story has one (or more) acceptance tests.
- It’s done when it passes. A story cannot be considered complete until it has passed the acceptance test(s).
Acceptance tests are functional tests that confirm the system implements the story as intended. Story acceptance tests are automated whenever possible to prevent the creation of many manual tests that would quickly hinder the team’s velocity.
What is the difference between SAFe Enabler Stories and SAFe User Stories?
SAFe Enabler Stories support the exploration, architecture, infrastructure, and compliance activities needed to build a system, unlike User Stories, which focus on end-user functionality.
The main difference between an enabler user story and a typical user story in the SAFe Requirements Model lies in their focus and purpose:
- Enabler Story: An enabler story represents work needed to support the development of a product or system but does not necessarily deliver customer value directly. Enabler user stories are used to address technical or architectural needs, reduce technical debt, or improve infrastructure. They are often larger and more complex than typical user stories, as they address non-functional requirements crucial for the product’s success.
- User Story: A typical user story represents a specific feature or functionality that delivers value to the customer or end-user. Typical user stories are more focused and granular than enabler user stories, describing specific actions or behaviors the user can perform with the product. They are usually smaller and more straightforward than enabler user stories, making them easier to estimate and prioritize.
Enabler Stories in SAFe facilitate the technical aspects of the system under development, such as architectural advancements or exploration activities. They differ from User Stories, which are primarily concerned with user-facing functionalities. Although Enabler Stories do not directly deliver user-valued functionality, they are vital for the evolution of the system and the delivery of future user value.
What are User Story sub-tasks?
User Story sub-tasks are smaller, manageable tasks derived from a User Story to facilitate its implementation.
Sub-tasks provide a way to break down a User Story into smaller, actionable pieces of work. These smaller tasks make the implementation more manageable and provide a clear path to completion. Sub-tasks can be assigned to different team members and tracked separately, providing a granular view of progress toward completing the User Story.
To ensure that teams fully comprehend the work required and can meet their commitments, many agile teams adopt a detailed approach to estimating and coordinating individual work activities necessary to complete a story. This is done through tasks, which we’ll represent as an additional model element:
Tasks implement stories. Tasks are the smallest units in the model and represent activities specific team members must perform to achieve the story. In our context:
A task is a small unit of work essential for completing a story.
Tasks have an owner (the person responsible for the task) and are estimated in hours (typically four to eight). The burndown (completion) of task hours indicates one form of iteration status. As suggested by the one-to-many relationship shown in the model, even a small story often requires more than one task, and it’s common to see a mini life cycle coded into a story’s tasks. Here’s an example:
- Story: Select a photo for upload
- Task 1: Define acceptance test—Josh, Don, Ben
- Task 2: Code story—Josh
- Task 3: Code acceptance test—Ben
- Task 4: Get it to pass—Josh and Ben
- Task 5: Document in user help—Carly
In most cases, tasks are “children” of their associated story (deleting the story parent deletes the task). However, for flexibility, the model also supports stand-alone tasks and tasks that support other team objectives. This way, a team need not create a story to parent an item like “install more memory in the file server.”
What are User Story Acceptance tests?
User Story Acceptance tests are predefined criteria that a User Story must meet to be considered complete.
Acceptance tests for User Stories in SAFe provide clear, specific criteria determining when the story is done. These criteria are defined by the Product Owner in collaboration with the team and quality specialists and are based on the user’s expectations. They ensure the delivered functionality meets the desired value and quality, driving user satisfaction.
What are User Story Unit Tests?
User Story Unit Tests are low-level tests designed to verify the functionality of individual components of a User Story.
Unit tests in the context of User Stories involve testing individual components or units of the software to ensure they perform as expected. Developers typically create these tests during the implementation of the User Story. They form the first line of defense in catching and correcting defects, ensuring the integrity of the codebase, and promoting high-quality delivery.
Unit tests verify that the smallest module of an application (a class or method in object-oriented programming; a function or procedure in procedural programming) functions as intended. Developers create unit tests to check that the code executes the logic of the specific module. In test-driven development (TDD), the test is crafted before the code. Before a story is complete, the test must be written, passed, and incorporated into an automated testing framework.
Mature agile teams employ extensive practices for unit testing and automated functional (story acceptance) testing. Moreover, for those in the process of implementing tools for their agile project, adopting this meta-model can provide inherent traceability of story-to-test without burdening the team. Real Quality in Real Time
The fusion of crafting a streamlined story description, engaging in a conversation about the story, expanding the story into functional tests, augmenting the story’s acceptance with unit tests, and automating testing are how Scaled Agile teams achieve top-notch quality during each iteration. In this manner: Quality is built in, one story at a time. Ongoing quality assurance is accomplished through continuous and automated execution of the aggregated functional and unit tests.
How are Stories used in User Research or Data Science contexts?
Stories in User Research or Data Science represent hypotheses or questions about user behavior that need to be answered using data.
In User Research or Data Science, stories often take the form of hypotheses or research questions about user behavior. These stories guide the research process, providing clear objectives and helping to structure the analysis. By focusing on the user and their needs, these stories promote a user-centric approach to data analysis, helping to uncover meaningful, actionable insights.
Research (User Research, Data Science Research, etc.) has become integral to software development in today’s data-driven landscape. Like traditional software development, research activities also benefit from breaking work into smaller, manageable tasks. Although not officially part of the SAFe Requirements Model, we have devised a variation on the user story to address this unique aspect of data science projects. This document integrates with the team level in SAFe, ensuring that data science work aligns with Agile principles and practices.
What is a hypothesis test?
A hypothesis test is a statistical method used to make decisions or draw conclusions about population parameters based on sample data.
Within the statistical domain, hypothesis testing serves as a cornerstone methodology. It’s a process that allows analysts to test assumptions (hypotheses) about a population parameter. It involves formulating a null and alternative hypothesis, choosing a significance level, calculating the test statistic, and interpreting the results. This technique enables uncertainty-free decision-making, allowing organizations to draw data-driven conclusions and make informed decisions.
What is a hypothesis test in an Agile context?
A hypothesis test in an Agile context is a method used to validate assumptions about user behavior, system performance, or other product aspects based on collected data.
Hypothesis testing in Agile, particularly in fields like AI, research, data science, or user research, is a powerful tool for evidence-based decision-making. It involves creating a hypothesis about a particular user behavior, system characteristic, or other aspect of the product. This hypothesis is tested using real-world data collected from users, system logs, experiments, or other sources. The hypothesis test results confirm or reject the initial assumptions, providing insights into product development and improvement. It aligns with the Agile principle of learning through iteration, allowing teams to make data-informed decisions and continuously improve the product based on user feedback and empirical evidence.
What are Analytical Stories, and how are they used for data-driven insights?
Analytical Stories are questions or hypotheses guiding data analysis to obtain valuable business insights.
Analytical stories focus on data-driven insights, predictions, or recommendations that help solve business problems or enhance decision-making. They describe the desired outcome or question to be answered using data analysis, machine learning, or AI techniques. Analytical stories typically involve data exploration, feature engineering, model development, and validation. They include a clear objective, relevant data sources, and success criteria to measure the effectiveness of the analysis.
A typical Analytical Story includes the following seven elements:
Field | Description |
---|---|
Objective | A clear statement of the business question or problem the Analytical Story seeks to address. |
Data Sources | A list of relevant data sources needed for the analysis, including their location and accessibility. |
Methodology | A high-level description of the analytical techniques or models employed to achieve the desired outcome. |
Success Criteria | Quantifiable metrics or evaluation criteria to measure the effectiveness and accuracy of the analysis or model. |
Assumptions and Constraints | Any limitations or assumptions impacting the analysis, such as data quality issues or model constraints. |
Dependencies | Relationships or dependencies with other tasks or resources must be addressed for completion. |
Estimated Effort | A rough estimation of the time and resources required to complete the Analytical Story, helping with prioritization and planning. |
What are Infrastructure Tasks?
Infrastructure Tasks are activities related to setting up or maintaining the technical environment that supports software development.
Infrastructure Tasks within SAFe encompass the essential activities that enable and support the development and delivery of software. These tasks range from setting up development environments and configuring servers to maintaining databases and managing network resources. While these tasks may not directly contribute to end-user features, they create a stable, efficient environment for delivering value. They are thus an integral part of the SAFe framework.
What is the Team Backlog?
Scaled Agile teams must maintain the utmost efficiency to ensure overall organizational effectiveness. To achieve this, we must adopt the simplest and leanest possible requirements model that caters to the needs of all stakeholders, especially team members. This model must be quintessentially agile, consistent with most agile training and common practice, and devoid of unnecessary administrative overhead, manual traceability, reporting, or detailed requirements.
Initially introduced by Scrum as a product backlog, the term “backlog” has evolved in our enterprise model to accommodate various levels of work. As a result, we use the term backlog in a more generalized sense. In the Big Picture, we refer to the backlog we’re discussing here as the Scaled Agile team’s local backlog.
This local backlog is the Scaled Agile team’s single, definitive source of work, containing all tasks (primarily user stories) that must be completed. Managed and maintained by the team, it serves as their repository for all identified work items, with its contents typically of little concern to others within the enterprise. The team has full autonomy over managing, tooling, and organizing their backlog to meet their iteration objectives.
The product owner, a Scaled Agile team member, is responsible for maintaining and prioritizing the backlog.
The Scaled Agile team’s backlog consists of all the team’s identified work items. In the meta-model, we generically refer to these work items as stories (or backlog items). For our purposes, we define a story as follows:
A story is a work item contained in the team’s backlog.
This simple definition encapsulates the agile approach’s focus on value delivery. The user story is a special kind that defines the system’s behavior and value for the user. We need to expand the model slightly to make the user story explicit.
With this minor addition, the backlog now consists of user stories and other work items. Other work items include refactors, defects, support and maintenance, tooling, and infrastructure work. These other work items help the team track all tasks needed to deliver value and enable better estimation of the time required to deliver user stories. We will discuss the rationale for specifically identifying these other work items later.
What is the SAFe Product Roadmap?
The SAFe Product Roadmap visually summarizes a product’s direction, highlighting upcoming features and milestones.
The Product Roadmap in SAFe outlines the anticipated journey of a product over time. It visually communicates the direction and progress of the product by displaying upcoming Features and Significant Milestones. This roadmap aids in setting expectations for stakeholders and helps align teams toward common objectives. It is a strategic tool that shows a high-level view of the product’s evolution while providing a common understanding of its future direction.
What is the composition and purpose of the Product Roadmap?
The Product Roadmap comprises planned features, milestones, and timelines to align stakeholders on a product’s future direction.
The Product Roadmap in SAFe combines planned Features, significant Milestones, and Timelines.
- Features derived from the Program Backlog represent the upcoming functionality increments.
- Milestones denote important events or achievements.
- Timelines provide a temporal context for the Features and Milestones.
The central purpose of the roadmap is to provide a shared understanding of the product’s future direction among all stakeholders. It aids expectation management, facilitates strategic decision-making, and promotes team alignment.
The Roadmap comprises a series of planned release dates, each with a theme and a prioritized set of features. Although it is mechanically simple to represent the Roadmap, determining its content is different.
The outcomes of release planning are utilized to update the (product or solution) Roadmap, which offers an understanding of how the enterprise aims to deliver increasing value over time.
How do you balance flexibility and expectation management with Product Roadmaps?
Balancing flexibility and expectation management with Product Roadmaps involves frequent revisiting, stakeholder communication, and applying a rolling wave planning approach.
Achieving the right balance between flexibility and expectation management when dealing with Product Roadmaps involves three specific activities, and they are:
- The roadmap is a living document that is revisited and updated frequently to adapt to changing circumstances.
- Regular communication with stakeholders to set and manage expectations effectively.
- Applying a rolling wave planning approach allows the teams to plan in detail for the near term while keeping a flexible outlook for the distant future. This method enables the roadmap to remain a useful strategic tool, providing direction without constraining agility.
In the SAFe Requirements Model, the Roadmap comprises a series of planned release dates, each with a theme, a set of objectives, and a prioritized feature set. The “next” release on the Roadmap is committed to the enterprise based on the work completed in the most recent release planning session. Releases beyond the next one are not committed, and their scope is somewhat vague.
Thus, the Roadmap embodies the enterprise’s current “plan of intent” for upcoming and future releases. However, it is subject to change—as development facts, business priorities, and customer needs change—therefore, release plans beyond the next release must not be used to establish external commitments.
What is the SAFe Product Vision?
SAFe Product Vision is a clear, inspiring goal representing the future state of a product.
In the SAFe Requirements Model, the Product Vision is a high-level, strategic description of the desired end state for a product or solution. The Product Vision guides Agile teams, helping them make decisions, prioritize features, and align their work with the organization’s broader objectives. Fostering a shared understanding and commitment across teams and stakeholders is essential, ensuring consistent direction throughout the product development process.
What are the key elements of the SAFe Product Vision?
The key aspects of the SAFe Product Vision include target state, customers, needs, and differentiation.
The Product Vision addresses six specific questions, and they are:
- What is this program’s strategic intent?
- What problem will the application, product, or system resolve?
- What features and benefits will it offer?
- Who will it cater to?
- What performance, reliability, etc., will it deliver?
- What platforms, standards, applications, etc., will it support?
The Product Vision in SAFe defines the ‘target state’ – a snapshot of the product’s desired future. It identifies customers or the audience who will benefit from the product. It outlines ‘needs’ – the problems or challenges the product will address. Lastly, it spells out ‘differentiation’ – how the product stands out from its competitors. Together, these components shape a comprehensive and compelling vision that informs and motivates everyone involved in the product’s development.
How is the SAFe Product vision documented?
The SAFe Product vision is documented using a vision statement, vision board, datasheet, draft press release, or vision box.
Since the product and software requirements specification documents and the like are unlikely to exist, directly communicating the Vision for the Scaled Agile program must take a different form. Agile teams take a variety of approaches to communicating the Vision. These include the following:
- Vision document
- Vision Board
- Draft press release
- Preliminary data sheet
- Backlog and Vision briefing
Documenting the Product Vision in SAFe can be approached in several ways. One common method is a ‘vision statement’ – a concise, written articulation of the product’s future state. Alternatively, a ‘vision board’ is created using images and text to represent the product’s goals visually. Another approach is a ‘vision box,’ a mock-up of the product’s packaging containing key information about the product. These methods help communicate the vision clearly and compellingly, enabling all stakeholders to align their efforts toward achieving it.
Product Vision Statement and Template
The Product Vision document in SAFe typically includes the following elements:
Field | Description |
---|---|
Purpose | Clear product goal or reason. |
Target Customers | Primary user groups or market segments. |
Key Benefits | Major advantages or value propositions. |
Differentiators | Unique features that distinguish the product. |
High-Level Scope | Overview of main components or features. |
Vision Statement | Concise, inspiring encapsulation of Product Vision. |
How do you balance the Product Vision and Timelines in SAFe?
Balancing the Product Vision and Timelines in SAFe requires continuous alignment of stakeholders, prioritizing based on value, and maintaining a sustainable pace.
Achieving equilibrium between the Product Vision and Timelines in SAFe involves three strategies, and they are:
- Regular alignment of stakeholders ensures everyone understands the product’s direction and the timelines involved.
- Prioritizing Features based on their value and dependencies ensures the most impactful work is done first.
- Maintaining a sustainable pace of development prevents burnout and ensures the team consistently delivers value over time, thereby upholding the Product Vision while adhering to the set Timelines.
What is the Architectural Runway in SAFe?
Architectural Runway in SAFe is the technical foundation that supports upcoming feature delivery without substantial redesign.
In SAFe, the Architectural Runway refers to the pre-existing, evolving technical infrastructure that enables the smooth delivery of impending features, minimizing the need for extensive, time-consuming redesigns. It’s a critical part of Agile development, ensuring readiness for future iterations, and is maintained and extended by implementing Enabler Epics and stories.
What is the Purpose of Architectural Runway?
The purpose of Architectural Runway is to ensure readiness for the implementation of upcoming features with minimal redesign.
The architectural runway is defined as follows:
A system with architectural runway contains existing or planned infrastructure sufficient to allow the incorporation of current and anticipated requirements without excessive refactoring.
The primary role of the Architectural Runway in SAFe is to provide a robust, flexible technical framework that aids in the swift and efficient delivery of impending features. Organizations can avoid the delays and resources associated with substantial system redesigns by having a well-maintained Architectural Runway, thereby promoting a smooth, continuous flow of value to the end users.
What are the Architectural Requirements in SAFe?
Architectural Requirements in SAFe are the technical prerequisites necessary for feature implementation.
Architectural requirements in SAFe denote the technical conditions that must be met to facilitate the successful deployment of new features. They define the system’s architecture, design, and infrastructure guidelines. This information directs teams when constructing or modifying the system, ensuring alignment with the system’s overall design and the company’s strategic objectives.
Architectural Runway and the Enterprise Portfolio
Addressing Crucial Technology Initiatives
In the context of an enterprise’s portfolio of products and in the face of a series of shorter, incremental releases, architectural runway answers a crucial question:
What technology initiatives need to be underway now so that we can reliably deliver a new class of features in the next year or so?
Distinguishing from Side R&D Projects
Here, we’re not discussing side R&D projects that an enterprise may use to determine technology strategies, establish feasibility, etc. Those are localized efforts and are managed by teams or system architects. Instead, we’re discussing large-scale changes to the code base necessary to support features on the current roadmap and changes that could affect most, or even all, development teams.
Examples of Large-Scale Architectural Changes
Here are some examples:
- Implement a standard install, licensing, and user authentication model across each product in the suite.
- Convert the transaction server to a microservices-based architecture.
- Redesign the operating system to support symmetrical multiprocessing.
The Importance of Timely Implementation
These changes are not simple refactors. They will involve significant, structural changes that could affect millions of lines of code and require dozens (or even hundreds) of person-years. And, if the enterprise wants to accomplish it next year or even the year after, it must start now.
To start now, this work needs to be defined and communicated to the team like any other major initiative, even though the end-user value may be a year or so down the road.
Collaborative Maintenance of the Architectural Runway
The System Architect/Engineer continuously maintains and evolves the architectural runway in collaboration with Agile teams, allowing for faster delivery of value to customers and reducing technical debt. It is critical to enable the product’s scalability, performance, and maintainability throughout its lifecycle.
How are SAFe Architectural Epics Implemented?
SAFe Architectural Epics are implemented through prioritization, analysis, implementation, and acceptance steps within the Portfolio Kanban system.
Architectural Epics in SAFe are significant initiatives that guide the evolution of the system’s technical aspects. Their implementation follows a structured approach within the Portfolio Kanban system.
- The Architectural Epic and its benefits are documented.
- Architectural Epics are prioritization based on the cost of delay or WSJF.
- Detailed analysis, including Lightweight Business Case development, follows.
- The implementation stage begins upon approval, spanning multiple Planning Intervals (PIs) if needed.
- The acceptance step concludes the process, validating that Epic’s intended benefits have been realized.
Architectural epics will be implemented incrementally in the main code line, just like any other epic. By doing so, development teams commit to a “do no harm” refactoring approach. In other words, they implement these large-scale refactors in small increments. At each PSI, they commit to “do no harm” to the systems or its users. They roll out the architectural changes piecemeal and reveal the new capabilities to the users only when there’s sufficient infrastructure to do so. It isn’t easy. It is agile. And it does work.
How is the SAFe Architectural Runway sustained?
You sustain the SAFe Architectural Runway by continuously implementing Enabler Epics and Enabler Stories.
Sustaining the Architectural Runway in SAFe involves a continual focus on implementing Enabler Epics and Enabler Stories. These elements enhance and extend the existing technical infrastructure, ensuring it stays aligned with current and future business needs. Regularly addressing the technical debt and investing in the system’s modularity, scalability, and security are other crucial aspects of maintaining a healthy Architectural Runway. This proactive approach ensures the system remains flexible and capable of supporting the swift, efficient delivery of new features.
What are the risks of neglecting the Architectural Runway?
The continuous build-out and maintenance of new architectural runways are the responsibility of all mature agile teams. Failing to do so will result in one of two negative outcomes:
- Release dates will be missed because large-scale, just-in-time infrastructure refactoring adds unacceptable risk to scheduling.
- Failure to systematically extend the architecture means teams eventually run out of runway. New features cannot be added without significant refactoring. Velocity slows. The system eventually becomes so brittle and unstable that it has to be entirely rewritten.
How is the Architecture Maintained at the Portfolio, Program, and Team Levels?
This work must happen continuously at each Portfolio, Program, and Team level.
Portfolio Level
The Scaled Agile Portfolio-level architectural runway is achieved by defining, communicating, and implementing architecture epics that drive the company’s technology vision. Some will require significant levels of investment and consume substantial resources. In the short term, some may even reduce the velocity of current and new feature implementations. Because failing to implement them will eventually compromise the company’s position in the market, architectural epics must be visible, estimated, and planned just like any other epic.
Program Level
At the Program level, product managers, system teams, project teams, and architects translate the architectural epics into architectural features relevant to each release. They are prioritized, estimated, and resourced like any other feature. And, like features, each architectural initiative must also be conceptually complete at each release boundary to not compromise the new release.
Team Level
At the Team level, refactors and design spikes are often necessary to extend the runway and are prioritized along with user stories. This way, architectural work is visible, accountable, and demonstrable at every iteration boundary. This is achieved by agreement and collaboration with system architects, product owners, and agile tech leads, who determine what spikes need to happen and when.
What are Investment Themes?
Investment themes are categories of investments aligned to SAFe’s business strategy.
In SAFe, Investment Themes are broad categories that reflect the business’s strategic objectives and are used to guide resource allocation. They serve as a way to group Portfolio Epics that align with a particular business goal or strategy. This helps the organization ensure its investments align with strategic priorities and facilitates the decision-making process for funding and resource allocation.
Themes have a longer lifespan than epics and may remain mostly unchanged for a year or more.
Investment themes (or product themes) embody the initiatives that guide an enterprise’s investment in systems, products, applications, and services. They represent crucial product or service value propositions that offer market differentiation and competitive advantage. Collecting strategic investment themes for an enterprise or a business unit within an enterprise establishes the relative investment objectives for that entity. Managers are empowered to develop the initiative in the most economically and business-sensible manner for the enterprise within the partition (budget allocation). However, they typically can only exceed the budget or borrow resources from other themes with the agreement of the relevant stakeholders. Through this process, the enterprise exercises its fiduciary responsibility by directing investment towards agreed-upon business priorities.
What is the Scaled Agile Framework (SAFe)?
The Scaled Agile Framework (SAFe) is a set of organization and workflow patterns for implementing agile practices at an enterprise scale.
SAFe is a comprehensive guideline for large-scale, complex software systems. SAFe delivers Agile practices to individual teams and across teams of teams or Agile Release Trains (ARTs). By aligning the organization around value delivery and establishing a Lean-Agile mindset, SAFe aims to increase productivity, improve product quality, and foster faster time-to-market.
Why is Scaled Agile Requirements Management Important?
Scaled Agile Requirements Management facilitates alignment, visibility, and value delivery at scale in an Agile enterprise.
Requirements management in a SAFe context is central to aligning all Agile teams to deliver customer value. It ensures the requirements are visible, understandable, and actionable across all enterprise levels – from Portfolio to Program to Team. This alignment and transparency lead to improved productivity, quality, and customer satisfaction
What are the key benefits of implementing the SAFe Requirements Model?
Implementing the SAFe Requirements Model boosts an enterprise’s alignment, transparency, agility, and customer-value delivery.
Implementing the SAFe Requirements Model presents nine specific benefits for multi-team environments, and they are:
- Enhanced Alignment: The SAFe Requirements Model aligns teams, programs, and portfolios to strategic objectives, ensuring everyone is working towards the same goals.
- Improved Transparency: By making requirements traceable and visible at all levels, the model fosters transparency and improves decision-making.
- Increased Agility: The iterative nature of the SAFe Requirements Model allows organizations to adapt quickly to changes, making them more responsive to market shifts and customer needs.
- Customer-Centric Focus: The model’s emphasis on delivering customer value ensures products and services meet customer needs, improving customer satisfaction.
- Risk Reduction: Regular feedback and iterative development reduce the risk of major failures, as issues are be identified and addressed earlier in the process.
- Higher Quality Outputs: With continuous feedback and iterative refinement, the quality of the final product or service is likely to be higher.
- Efficient Resource Utilization: With clear, traceable, and actionable requirements, teams work more efficiently, reducing wasted time and resources.
- Improved Collaboration: The model fosters a culture of collaboration and shared understanding, promoting better communication within and across teams.
- Business Success: With a focus on delivering value to customers, the SAFe Requirements Model ultimately contributes to business success by creating products and services that customers want and need.
The SAFe Requirements Model ensures that requirements are clearly understood, traceable, and actionable across all organizational levels. It promotes alignment between business strategy and technology execution, boosting efficiency and effectiveness. Fostering iterative development and continuous feedback enhances the enterprise’s agility, enabling faster response to changing customer needs. It emphasizes delivering customer value, thus improving customer satisfaction and business success.
What is the connection between SAFe and the SAFe Requirements Model?
The SAFe Framework uses the SAFe Requirements Model to structure, manage, and track requirements at all levels.
In the context of SAFe, the Requirements Model serves as a tool for organizing and understanding the diverse requirements that emerge in an enterprise context. It aids in the translation of business goals into actionable development tasks, facilitating a smoother workflow from concept to cash. It’s built to accommodate Epics, Capabilities, Features, and Stories that represent different levels of granularity in the requirements.
What is the role of the SAFe Requirements Model in modern organizations?
The SAFe Requirements Model acts as a bridge between business strategy and technology execution in modern organizations.
The SAFe Requirements Model helps translate business strategy into technological execution. Structuring requirements at different levels – Epics, Capabilities, Features, and Stories – enables better communication, clearer understanding, and more efficient implementation of strategic initiatives across the organization.
What are the disadvantages of traditional requirement management?
Traditional requirements management methods often lead to delayed feedback, limited adaptability, and misalignment between business and technology teams.
Traditional methods are often linear and rigid, expecting requirements to be fully defined upfront and rarely adapting to changes. This approach results in delayed feedback loops and a lack of agility to respond to changing business needs. Moreover, these methods often struggle to align business strategy with technology execution, leading to miscommunication, misunderstandings, and solutions that don’t meet the intended business value.
How do SAFe and Traditional Requirements Models differ?
The SAFe Requirements Model is iterative, adaptable, and focuses on delivering customer value, contrasting with traditional models, which are linear, rigid, and often business-centric.
Unlike traditional linear and fixed models, the SAFe Requirements Model allows for iterative refinement and adaptation. It promotes continuous feedback and adjustments as a project progresses, ensuring the final product meets customer needs. Moreover, it focuses on delivering customer value rather than meeting rigid business requirements. This customer-centric approach, coupled with flexibility and adaptability, differentiates the SAFe Requirements Model from traditional ones.
SAFe Requirements Model | Traditional Requirements Model | |
Approach | Iterative and adaptable | Linear and rigid |
Focus | Customer value | Business requirements |
Refinement | Allows for continuous refinement and adaptation | Typically finalized upfront with little flexibility |
Feedback Mechanism | Encourages continuous feedback throughout the project | Feedback often gathered after project completion |
Outcome | Ensures the final product meets customer needs | Often results in a final product that meets initial requirements but may not meet evolving customer needs |
How does the SAFe Requirements Model extend the Agile Requirements methods?
The SAFe Requirements Model expands traditional Agile methods to accommodate large-scale, complex enterprises.
Traditional Agile methods are excellent at the team level but struggle when scaling to larger organizations. The SAFe Requirements Model addresses this by introducing a hierarchical structure for requirements that aligns with the layered structure of large enterprises. It integrates Epics, Capabilities, Features, and Stories, ensuring that business objectives are effectively translated into actionable development tasks at all organizational levels.
What are the SAFe Core Competencies?
SAFe’s seven core competencies, including Agile Product Delivery, provide a holistic approach to delivering value in a Lean, Agile, and sustainable manner.
The Scaled Agile Framework (SAFe) defines seven core competencies, and they are:
- Lean-Agile Leadership: Inspires adoption of Agile practices.
- Team and Technical Agility: Enhances team capabilities and technical skills.
- Agile Product Delivery: Delivers customer value through fast, integrated delivery cycles.
- Enterprise Solution Delivery: Manages large-scale, complex solutions.
- Lean Portfolio Management: Aligns strategy and execution.
- Organizational Agility: Enables quick, decentralized decision-making.
- Continuous Learning Culture: Encourages innovation and improvement.
What are the SAFe Principles?
The SAFe Principles are a set of ten fundamental principles derived from Lean and Agile methodologies that guide the implementation of SAFe.
SAFe principles are guidelines derived from Agile practices and methods, Lean product development, and systems thinking to facilitate large-scale, complex software development projects. The ten principles that make up the SAFe framework are as follows:
- Take an economic view: This principle emphasizes the importance of making decisions within an economic context, considering trade-offs between risk, cost of delay, and various operational and development costs.
- Apply systems thinking: This principle encourages organizations to understand the interconnected nature of systems and components and prioritize optimizing the system as a whole rather than individual parts.
- Assume variability; preserve options: This principle highlights the importance of maintaining flexibility in design and requirements throughout the development cycle, allowing for adjustments based on empirical data to achieve optimal economic outcomes.
- Build incrementally with fast, integrated learning cycles: This principle advocates for incremental development in short iterations, which allows for rapid customer feedback and risk mitigation.
- Base milestones on an objective evaluation of working systems: This principle emphasizes the need for objective, regular evaluation of the solution throughout the development lifecycle, ensuring that investments yield an adequate return.
- Make value flow without interruptions: This principle focuses on making value delivery as smooth and uninterrupted as possible by understanding and managing the properties of a flow-based system.
- Apply cadence, and synchronize with cross-domain planning: This principle states that applying a predictable rhythm to development and coordinating across various domains can help manage uncertainty in the development process.
- Unlock the intrinsic motivation of knowledge workers: This principle advises against individual incentive compensation, which can foster internal competition, and instead encourages an environment of autonomy, purpose, and mutual influence.
- Decentralize decision-making: This principle emphasizes the benefits of decentralized decision-making for speeding up product development flow and enabling faster feedback. However, it also recognizes that some decisions require centralized, strategic decision-making.
- Organize around value: This principle advocates that organizations structure themselves around delivering value quickly in response to customer needs rather than adhering to outdated functional hierarchies.
Related Content
Mastering Agile Product Delivery with SAFe
This comprehensive guide explores Agile Product Delivery in the context of the Scaled Agile Framework (SAFe). Through it, we delve into key aspects such as Business Agility, Customer Centricity, Design Thinking, Lean UX, and the principles of Developing on Cadence and Releasing on Demand. We further examine how to manage the Agile Release Train…
Mastering Team and Technical Agility with SAFe
Dive into this comprehensive exploration of Team and Technical Agility - a crucial element in contemporary organizations. This blog post intricately discusses its significance, association with the Scaled Agile Framework (SAFe), and the pivotal role it plays in achieving optimal business agility. Delve into the transformation from traditional to…
Mastering SAFe PI Planning
The SAFe planning process, particularly the Program Increment (PI) planning, is critical to achieving agile and efficient product development. By working together, key stakeholders ensure alignment and a shared understanding of product objectives and goals. Preparation activities for PI planning, the two-day PI planning event, and the outputs of…
Implementing Essential SAFe
Discover how to effectively manage programs in a SAFe environment by understanding essential elements like Agile Release Trains, customer-centric strategies, and critical metrics to drive continuous improvement.