A distinct piece of product functionality that delivers value to users. Features are the building blocks of the product experience.
A feature is a distinct piece of product functionality that a user can recognise and that delivers value on its own. It is the unit teams commit to, ship, and announce, which is exactly why it is so easy to mistake for the goal. The enduring tension is that a feature is a means, the customer cares about what it lets them do, yet the feature is the thing that appears on the roadmapRoadmapProduct SpecificationA strategic plan of features and milestonesView reference →, the releaseReleaseProduct SpecificationA shipped version of the productView reference → note, and the team's sense of progress.
Feature is older than agile and entered software planning as the obvious answer to "what does the product do?". Its sharpest framing came from outside engineering, in the marketing distinction between a feature and a benefit: a feature is an attribute of the product, a benefit is the change it produces for the person using it. Teams that confuse the two ship attributes nobody asked for and wonder why adoption is flat.
Two bodies of practice pushed the definition forward. Marty Cagan, in *Inspired* and then *Empowered*, drew the line between a "feature team" that is handed features to build as output and an empowered product team measured on the customer and business problems it solves. The feature stops being the deliverable and becomes one possible solutionSolutionDiscoveryA proposed approach to address an opportunityView reference →, kept or discarded on the evidenceEvidenceValidationData supporting or refuting a hypothesisView reference →. Ryan Singer's Shape Up attacked the open-ended feature from another angle, with the appetite: the team fixes how much time a piece of functionality is worth, typically a six-week cycle, then shapes the work to fit that budget so an unbounded feature cannot consume whatever it takes.
The field has largely converged on a discipline around the word. The feature remains the natural unit of shippable value, and the surrounding practice exists to keep it tied to an outcomeOutcomeStrategyA desired business or user outcomeView reference →, so the question shifts from "did we ship the feature?" to "did the feature move the thing it was meant to move?".
A team ships a feature: saved filter views in an analytics product. It is distinct, a user can name it, and it delivers value alone. The trap would be to call it done at launch. The empowered framing attaches the feature to the problem it was meant to solve, that analysts rebuild the same query every morning, and to a measurable result, the share of sessions that start from a saved view.
Shaped against a four-week appetite, the team builds the core save-and-recall path and deliberately drops view sharing and scheduled exports, parking them as separate bets. Three weeks after release, forty per cent of returning analysts open a saved view on login and average time-to-first-chart drops by half. That outcome is what justified the feature; the saved view itself was the mechanism.
In the Unified Product Graph the feature is the anchor of the Product & Delivery region, chosen as the entity that answers the narrowest version of "what did we commit to?". It decomposes downward through Featuredecomposed intoEpichierarchy into the work-breakdown spine, and its boundary edges are what keep it honest. feature_decomposed_into_epicFeatureaddressesJobcross-domain ties it to the user needNeedUserA user need, pain, desire, or constraintView reference → it serves, feature_addresses_jobFeaturedrivesKey Resultcross-domain connects it to the outcome it is meant to move, and feature_drives_key_resultOutcomedelivered byFeaturecross-domain lets strategy point back the other way. Because every feature node can be traced to a jobJobUserJob To Be Done: what the user is trying to accomplishView reference → and a result, the graph makes the Cagan critique structural: a feature wired to functionality but to no job and no key resultKey ResultStrategyA measurable result tied to an objectiveView reference → is, by construction, output without evidence of value.outcome_delivered_by_feature
Type-specific fields on BaseNode
prioritystringTask-level priority
ownerstringResponsible person or team
start_datestringISO date work begins
target_datestringISO date work completes
healthstringDelivery health
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
4 phases — initial: proposed
52 edge types connected to this entity.
product_builds_featureoutcome_delivered_by_featurecapability_implemented_by_featurefeature_area_contains_featurerelease_contains_featuretheme_groups_featureproduct_area_contains_featuresolution_becomes_featurebug_affects_featureroadmap_item_references_featurejourney_step_realised_by_featurescreen_surfaces_featureservice_powers_featureroot_cause_affects_featurebounded_context_contains_featuretechnical_debt_item_blocks_featureapi_endpoint_serves_featuredesign_component_implements_featureprototype_validates_featurewireframe_specifies_featureuser_flow_requires_featuretest_suite_covers_featureqa_session_targets_featurea11y_audit_covers_featureeval_benchmark_measures_featureagent_skill_extends_featurelaunch_ships_featurecompetitor_feature_inspires_featurepricing_tier_includes_featuretrial_config_unlocks_featurepaywall_gates_featureknowledge_base_article_documents_featureprompt_template_powers_featuredocument_describes_featuretutorial_explains_featuredeliverable_ships_featurecompliance_requirement_constrains_featuremarketplace_listing_extends_featurefeature_addresses_jobfeature_drives_key_resultchangelog_includes_featureconstraint_constrains_featurelearning_informs_featureexperiment_run_tests_featurefeature_tests_hypothesisincident_affects_featurefeature_flag_gates_featurefeature_addresses_needassumption_concerns_feature7 frameworks use this entity type.