A managed early-access program where selected users test new features before general availability.
A beta program is a structured releaseReleaseProduct SpecificationA shipped version of the productView reference → to a defined group of real users, run before general availability, to surface defects and validate fit under genuine conditions. It is a de-risking mechanism with a feedback loop attached, governed by entry criteria, a cohortCohortGrowthA group of users sharing a common characteristicView reference →, and exit criteria. Calling any early-access list a beta is where the discipline leaks away.
The vocabulary predates software. The alpha/beta convention comes from IBM hardware testing, in use by the 1950s and arguably earlier on punched-card tabulating machines. As Centercode documents, IBM's scheme ran an "A" test to verify a product before public announcement and a "B" test to verify it before manufacturing release, with the B test conducted by people other than the developers. When software grew into IBM's business, the same labels carried over: alpha for the pre-announcement check, beta for the readiness check ahead of general availability. The software release life cycle inherited the terms and kept them long after IBM itself dropped them in the 1960s.
The meaning widened as distribution changed. Shipping physical media made a beta a discrete, high-stakes event; one bad master meant an expensive recall. The web turned beta into something closer to a posture. Google famously kept Gmail in beta from 2004 to 2009, where the label signalled continuous iteration with no implied finish line. Modern practice has split the idea into deliberate shapes: a closed beta, invitation-only and tightly instrumented, versus an open beta, public and self-selecting, each trading control against scale of signal.
The current understanding treats a beta as a structured experimentExperimentValidationA test designed to validate a hypothesisView reference →, not a coupon for early access. A serious beta defines what it is testing, who is in the cohort, what evidenceEvidenceValidationData supporting or refuting a hypothesisView reference → counts, and the bar that has to be cleared before general availability. Without those, it is a marketing soft-launch wearing the word.
A fintech team is shipping an automated reconciliation featureFeatureProduct SpecificationA product capability or featureView reference → and treats the beta as a de-risking instrument. They recruit a closed cohort of forty finance teams, chosen to span transaction volume from hundreds to tens of thousands per month. Entry criterion: at least one live bank connection. Exit criteria, set before launch: reconciliation accuracy above 99.5% across the cohort, fewer than five severity-one bugsBugProduct SpecificationA defect or unexpected behaviourView reference → open, and a usable-rating median of four out of five.
Three weeks in, the beta earns its keep. Accuracy sits at 99.7% for low-volume teams but drops to 97% for the highest-volume ones, exposing a pagination bug that batch-tested data never triggered. Structured feedback also reveals that nobody trusts the auto-match without a visible audit trail. Both findings would have become support fires at general availability. The team holds the launch, fixes the cause, and ships once the exit bar is met.
In the Unified Product Graph, a beta program sits in the feedback domain. The product owns it through ProductrunsBeta Programhierarchy, and the standing feedback apparatus contains it through product_runs_beta_programFeedback ProgramhasBeta Programhierarchy, which places the time-boxed beta inside the always-on programme. The tests it hosts attach via feedback_program_has_beta_programBeta ProgramrunsExperiment Runcross-domain, separating the container (the beta) from the individual controlled tests inside it. That separation keeps the concepts from collapsing: a beta with no experiment runs and no link to a release is recognisable as early access in disguise, which is exactly the dilution the structure guards against.beta_program_runs_experiment_run
Type-specific fields on BaseNode
beta_typestringAccess model for the beta
participant_countnumberNumber of users participating in the beta
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
4 phases — initial: recruiting
3 edge types connected to this entity.
product_runs_beta_programfeedback_program_has_beta_programbeta_program_runs_experiment_run