A formal request to change scope or timeline
A change request is a formal proposal to modify an agreed baseline: scope, schedule, budget, quality, or any other committed aspect of a plan. Its real function is procedural. By forcing every modification through a single recorded gate, it converts the silent drift that kills projects into a visible, costed, approvable decisionDecisionStrategyA recorded decision with context, rationale, and consequencesView reference →. The request itself is cheap. What it protects is the integrity of the original commitment.
Formal change control predates software project management; it grew out of configuration management in aerospace and defence, where an uncontrolled change to a baselined design could ground an aircraft. The Project Management Institute carried the practice into general project management and named its mechanism the change control board. In the PMBOK Guide, a change request is "a formal proposal to modify any document, deliverable, or baseline," handled inside the Perform Integrated Change Control process.
The control board is the human half of the mechanism. A change control board is a formally chartered group that reviews each request and approves, defers, or rejects it, then ensures an approved change is reflected across every affected plan so the baselines stay consistent. The word integrated matters: a scope change that does not also adjust schedule and budget is the definition of the failure mode the process exists to prevent.
That failure mode has a name. Scope creep is the uncontrolled growth of scope without matching adjustments to time, cost, and resources. The change request is the antidote because it makes the adjustment mandatory and recorded. Managed change and scope creep are the same act of adding work; the only difference is whether it passed through the gate.
A platform team has a signed-off scope for a reporting module. A sales lead asks, mid-build, for one more chart, "just a small one." Without change control, the engineer adds it, the releaseReleaseProduct SpecificationA shipped version of the productView reference → slips two days, and nobody can later explain where the two days went.
With change control, the ask becomes a written request: the chart, its estimate of three engineer-days, and its effect on the milestoneMilestoneProgram ManagementA key date or achievementView reference →. The board, a product lead and an engineering lead meeting weekly, sees that three days breaches the milestone, and chooses. They either approve it and move the date, approve it and drop a lower-value item, or defer it to the next release. The decision is logged against the request. Six small "just one more" asks that would have quietly cost a fortnight are now six visible line items, each with an owner and a verdict.
In the Unified Product Graph, a change request sits in the delivery region as a control node attached to the work it governs. Its canonical edge is Programchanged viaChange Requesthierarchy, binding the request to the program whose baseline it modifies and giving the program a queryable record of every sanctioned deviation from plan. Because the request is a first-class node rather than a comment buried in a status update, the graph can show the full chain from a proposed modification to its approving decision to the deliverable that ended up reshaped, which is the audit trail that distinguishes a controlled program from one that merely drifted.program_changed_via_change_request
Type-specific fields on BaseNode
change_typestringWhat aspect of the project is being changed
approval_statusstringCurrent approval status of the request
prioritystringPriority of the change request
impact_assessmentstringDescription of the change's impact on the project
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
5 phases — initial: proposed · template: APPROVAL
1 edge type connected to this entity.
program_changed_via_change_request