An allocation of people or budget
Resource allocation is the decisionDecisionStrategyA recorded decision with context, rationale, and consequencesView reference → about where people and budget go: which teams, which initiativesInitiativeStrategyA large coordinated effort to achieve a strategic goalView reference →, which work gets the capacity that exists and which goes without. It is a portfolioPortfolioPortfolioA grouping of products by strategic axisView reference →-level act of prioritisation expressed in headcount and money. The tension that defines it is that allocation is always a choice against something else, so the interesting question is never what to fund but what to starve.
Allocation as a formal discipline comes from operations research and capital budgeting, where finite resources were assigned across competing projects to maximise return. Product organisations inherited the problem at portfolio scale: a fixed engineering headcount, more worthwhile initiatives than it can staff, and a quarterly ritual of dividing the first across the second.
The thinking matured once teams noticed a recurring failure. Allocating every available person to committed work, aiming for full utilisation, reliably made delivery slower. Donald Reinertsen's The Principles of Product Development Flow (2009) gave the reason from queueing theory: as utilisation climbs, queues grow exponentially, so an organisation allocated to 100% has no slack to absorb variability and work piles up waiting. Allocation and utilisation pulled apart as concepts. You can allocate people to initiatives without committing them to constant full load, and the gap between the two is where flow lives.
Practice now treats allocation as a continuous portfolio decision, revisited as bets pay off or fail, with deliberate slack built in. The annual carve-up gave way to a standing question.
A 40-engineer organisation runs three programmes: core platform, a new mobile surface, and a growth experimentExperimentValidationA test designed to validate a hypothesisView reference → track. Demand for the next quarter, summed across requests, would needNeedUserA user need, pain, desire, or constraintView reference → 58 engineers. The allocation decision divides the 40: 22 to platform, 12 to mobile, 6 to growth, none of which can fully satisfy its programme.
The naive move is to load each engineer to 100% of the allocation. The team that has read its queueing theory holds two engineers in reserve and targets roughly 80% committed load, because the growth track is volatile and unplanned incidentsIncidentDevOps & PlatformA production incidentView reference → are certain. Two quarters on, the reserved capacity is what lets them respond to a competitorCompetitorMarket IntelligenceA competing product or companyView reference →'s launch without freezing every other programme. The allocation held; the deliberate under-commitment is what made it deliverable.
In the Unified Product Graph, Resource AllocationProgram ManagementAn allocation of team capacity sits in the programme-management region and connects to its subject through resource_allocationProgramresourced viaResource Allocationhierarchy, a hierarchical edge from program_resourced_via_resource_allocationProgramProgram ManagementA program coordinating multiple projectsView reference → to the allocation that staffs it. That placement frames allocation as a property of a programme rather than a standalone spreadsheet, and it sits beside programCapacity PlanTeam & OrganisationA plan for allocating team capacityView reference → and capacity_planTeamTeam & OrganisationA cross-functional teamView reference → so the portfolio question stays answerable: which programmes are resourced, which teams carry the load, and where the committed total has quietly outrun the capacity that exists to deliver it.team
Type-specific fields on BaseNode
resource_typestringKind of resource being allocated
allocation_percentagenumberPercentage of the resource allocated (0-100)
start_datestringStart date of the allocation (ISO format)
end_datestringEnd date of the allocation (ISO format)
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
1 edge type connected to this entity.
program_resourced_via_resource_allocation