A proposed approach or design that addresses one or more opportunities. Solutions describe how the product will deliver value, without committing to implementation details.
A solution is a proposed approach for addressing a validated opportunityOpportunityDiscoveryA validated gap worth solvingView reference →: a candidate way to close the gap, held lightly until evidenceEvidenceValidationData supporting or refuting a hypothesisView reference → earns it the right to be built. The defining discipline is plurality. A healthy discovery process generates several competing solutions for one opportunity and commits to none of them on sight, because the first idea is rarely the best and falling for it forecloses the rest. A solution is a bet you have not yet placed.
The idea that you should diverge before you converge predates product management; it is the spine of design thinking. In the ideation stage, teams are coached to generate as many candidate approaches as possible in a judgment-free space, then narrow with convergent thinking to the strongest few. IDEO built its practice around iterative prototyping and rapid generation of alternatives, and the broader design-thinking literature frames divergence as a deliberate guard against premature commitment.
Product discovery absorbed this and gave it structure. In Teresa Torres's Opportunity Solution Tree, solutions are the third layer: each opportunity branches into multiple candidate solutions, and each solution branches into the assumptionsAssumptionStrategyA belief taken as true that underpins a strategyView reference → that must hold for it to work. The tree makes the plurality rule visible. An opportunity with a single solution hanging off it signals that the team stopped exploring too early, or that the "opportunity" was a solution all along. Solutions stay provisional until assumption tests survive contact with users, at which point one graduates into something the team actually builds.
The field's settled view is that the cost of a wrong solution is paid in build time, so the cheapest place to be wrong is on paper, among several options, before a line of code. Generating alternatives is insurance against the sunk-cost gravity of the first plausible idea.
Take the activation opportunity "I want to see the product working with my own data without waiting on my IT team." Instead of jumping to a build, the team puts three solutions on the tree. A delegated-invite flow that lets a trial user request a one-click connection from their admin. A read-only demo workspace pre-loaded with a realistic dataset. A guided CSV import for users who can export their own data. Each carries a riskiest assumption: that admins respond in time, that demo data feels real enough to convince, that users can find an export button. The team runs cheap tests on all three over a fortnight. The demo workspace lifts perceived value but not real conversion; the delegated invite stalls on slow admins; the CSV import quietly converts. Two solutions die honestly, one survives the evidence, and only that one becomes a featureFeatureProduct SpecificationA product capability or featureView reference →.
solution_becomes_featureSolutionbecomesFeaturecausal, marking the moment a bet stops being provisional.solution_proposes_hypothesisSolutionproposesHypothesiscausal.solution_materialises_as_prototypeSolutionmaterialises asPrototypehierarchy, so the throwaway artefact never gets mistaken for the committed approach.The solution lives in the Discovery, Research & Validation region as a container, fed by its opportunity through OpportunitydrivesSolutioncausal. Its outbound edges trace the full path from idea to validated bet: opportunity_drives_solutionSolutionproposesHypothesiscausal exposes the assumption, solution_proposes_hypothesisSolutionmaterialises asPrototypehierarchy makes it testable, solution_materialises_as_prototypeSolutionaddressesNeedcausal ties it to the user, and solution_addresses_needSolutionbecomesFeaturecausal carries the survivor across the border into the Product & Delivery region. Modelling solutions as their own entities, plural beneath each opportunity, is what lets the graph show at a glance whether a team explored the option space or committed to the first idea it had.solution_becomes_feature
Type-specific fields on BaseNode
timelinestringEstimated delivery or target timeline
reachobjectHow many users this solution reaches (1 = few, 5 = most)
impactobjectExpected impact on the target outcome (1 = minimal, 5 = transformative)
confidenceobjectHow confident the team is in this solution (1 = speculative, 5 = proven)
effortobjectLevel of effort required to implement (1 = trivial, 5 = very large)
rice_scorenumberComputed: (reach × impact × confidence) / effort
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
4 phases — initial: proposed
10 edge types connected to this entity.
opportunity_drives_solutionsolution_proposes_hypothesissolution_materialises_as_prototypesolution_measured_by_metricsolution_becomes_featurecompetitor_feature_inspires_solutioninsight_informs_solutionlearning_validates_solutionsolution_addresses_needassumption_concerns_solution2 frameworks use this entity type.