SAFe describes a hierarchy of artifacts that describe systems behavior: Epics, Features and Stories.
A feature is a description of a desired service of behavior of a system that addresses one or more user needs. The development of business features is the responsibility of the Product Manager. Assistance is available from train level business analysts and teams. A feature should be sized such that it could be completed within a Program Increment.
Enabler Features are meant to enable and support the development of business initiatives. These are generally created by system architects.
Features and enablers are prioritized and sized using Cost of Delay and WSJF techniques; and are the primary input to Program Increment Planning. A feature is only used through the end of the PI in which it is completed.
The goal is to have sufficient detail in the feature to enable the agile team to break it down into stories. The following information is typically captured for a feature as well as for recommendations for capturing and working with features:
Title: The title briefly conveys the intended business purpose or outcome, using business terms. The title should not specify a particular technology or solution (unless its inclusion is necessary for understanding). It should complete the sentence “I wish the system would …” and should start with a verb. An example is: Provide 2017 SBC Template. Prefixes can be used if they aid in sorting and grouping of features within an epic. Use brackets [] to distinguish prefixes when used.
Description: This provides more detail about the business purpose of the work, within the constraints of the scope of the feature. One format is: The purpose of this feature is to <insert high level business requirement> so that… <business outcome or benefit>. Additional business requirement details and benefits should follow within the description.
Benefits hypothesis: Describe the value expected from the business from this feature (not the entire epic). This should be in the form of a hypothesis - we think we want this, but we don't necessarily know this. It should include both tangible and intangible outcomes. If the value is only pertinent in conjunction with other features – that should be articulated. If available: include pertinent quantitative information about number of users impacted, dollars saved, FTE savings, etc. This is the place to reference, or provide a link to, any pertinent ROI or tangible benefits from the epic business case, if applicable.
Acceptance Criteria: Describes how we know the feature is done; it describes the expected result in a way that can be verified. This field is often referenced to reflect the scope of the desired end result of the feature. It is used by system architects and agile teams in their estimating.
Epic / Portfolio Item: This field ties the feature to the associated epic which is often a way of describing the funding source (e.g. project).
Additional considerations to include in the description field:
Critical dates: Dates may be driven by compliance, contracts or other business events. Clarify between ‘must have’ dates and other types of deadlines.
Risk reduction and Opportunity Enablement: What else does this feature do for the business? Does it reduce the risk of this or a future delivery? What else does this feature do for the business? Is there value in the information we would generate when we work this feature? Will the feature open up new business opportunities?
Dependencies: Include any known dependencies: this can include other features, enablers or vendors
Line(s) of business impacted
Not all features will be perfect: Judgement is needed to evaluate what is ‘good enough’.
If the feature requests updates to an existing process, program or interface – include any detail you have, such as interface number. However, this is not required.
If the feature is an upgrade – indicate what environments are impacted (likely to need system architect involvement)
Clarify whether the intent is to migrate all the way to production or some other integrated environment.
Indicate if training or knowledge transfer is part of the acceptance criteria
Determine if the end user area wants to perform User Acceptance Testing (UAT) before a feature is considered done.
Unordered List ItemCan the feature be released on its own, or will it be bundled with others for UAT and/or deployment?