Building a School Space Program: A Worked Example
"We need twelve classrooms, a library, a canteen, admin offices, and it has to fit the site." That sentence — or one just like it — is how most projects actually begin: a client's list, half wishes and half requirements, with no areas attached and no sense of how the pieces relate.
The instinct, especially early in your career, is to start sketching. Resist it. Between the brief and the first plan sits a discipline that saves weeks of redesign: the space program (or schedule of accommodation, depending on where you trained) — a structured account of every space the project needs, how big each should be, and which spaces must sit near which. Get it right and your first sketch is already roughly the right size and shape. Skip it and you'll discover during design review that the building is 30% over budget or the kindergarten shares a corridor with the loading dock.
Let's build one properly, using a small school as the worked example — first the method, then the same exercise in a free browser tool that turns the list into a live adjacency diagram.
Step 1: Extract spaces from the brief
Go through the client's brief and convert every stated and implied need into a named space. The stated ones are easy: 12 classrooms, library, canteen, admin. The implied ones are where juniors get caught: a canteen implies a kitchen; a school implies toilets sized to occupancy; deliveries imply storage and service access; staff imply a staff room. List everything, and group spaces into departments — Teaching, Learning Resources, Administration, Dining & Services — because departments are how you'll reason about the plan later.
For our school, the extraction gives roughly: 12 classrooms; science lab; library; computer room; principal's office; general admin office; staff room; clinic; canteen seating; kitchen; storage; toilets (pupils and staff); plant/utility space.
Step 2: Assign areas from standards, not guesses
Every space gets a target net area — the usable floor inside its walls. Never invent these numbers; anchor them. Sources, in order of authority: local regulatory minimums (education departments and building codes often prescribe area-per-pupil), published planning standards for the building type, and benchmark data from comparable projects.
Illustrative allocations for our example (verify against your local standards — education norms vary by country): classrooms at ~1.4–2.0 m² per pupil, so a 30-pupil classroom lands around 50–60 m²; a science lab larger, ~85 m², because benches and safety clearances consume space; a library for this scale around 90–120 m²; canteen seating sized by shifts — if pupils eat in two sittings, you size for half the school at ~1.1–1.5 m² per diner, plus a kitchen at roughly 35–45% of the seating area.
Attach a per-space note recording where each number came from. Six months later, when someone asks "why is the library 100 m²?", the answer should be a standard, not a shrug.
Pro tip: Sizing by occupancy shifts — the canteen trick above — is one of the highest-value moves in programming. Spaces used sequentially (dining halls, assembly, prayer rooms, changing rooms) are routinely oversized by 50–100% when sized for peak simultaneous use that never actually occurs. Interrogate the schedule of use before accepting any large space at face value.
Step 3: Gross it up
Net areas are not the building. Circulation, wall thicknesses, structure, risers, and plant inflate net into gross floor area — and the inflation is substantial. The multiplier is the grossing factor, and for schools it typically runs 1.35–1.55 (i.e., circulation and support add 35–55% to net), driven by corridor-heavy layouts and egress requirements.
If our worked example nets out at, say, 1,450 m², a 1.4 grossing factor puts the building at ~2,030 m² gross. That single multiplication is the moment the space program earns its keep: it's the first honest answer to "does this fit the site?" and "can the client afford it?" — available before a single wall is drawn. Cross-check it against the site's allowable envelope (if you haven't established that yet, run a site feasibility check first) and against cost per square metre benchmarks.
Step 4: Define adjacencies — the relationships, not the shapes
The final ingredient: which spaces need to be near each other, which merely benefit from it, and which must be kept apart. Classrooms want the library nearby; the kitchen must adjoin canteen seating and needs service access; the clinic wants admin nearby and pupils' areas reachable; plant and deliveries stay away from teaching. Capture these as explicit pairwise relationships — required, desirable, neutral, separate — rather than vague arrows in your head.
This is the step most often skipped, and it's precisely the one that prevents the "kindergarten next to the loading dock" class of error. A written adjacency set is also your defence in design review: when someone proposes moving the staff room to free up a corner, you can show what that move breaks.
The same exercise in SpaceFlow
Doing all this in a spreadsheet works until step 4, where spreadsheets go blind — a grid of areas can't show you relationships. SpaceFlow runs the whole method in your browser and turns the adjacency set into a live bubble diagram. It's free, needs no account, and — like every DSYNTEC tool — processes everything locally, so a confidential brief stays on your machine.
1. Enter departments and spaces
Create the departments, then add each space with its name, target area, and any requirements notes (occupancy, daylight, service access). The program builds as a structured list with department subtotals updating as you type.
Work through the space pairs and mark each relationship's strength. This is the written adjacency set from step 4, captured in a form the tool can draw.
SpaceFlow lays the spaces out as a force-directed bubble diagram: each space a bubble scaled to its area, pulled together or apart by the relationships you defined. Strongly linked spaces cluster; separated ones drift apart. What emerges is the building's organisational logic — you'll see the teaching cluster, the admin cluster, and the service zone resolve themselves before you've drawn anything.
Drag bubbles to test arrangements, spot the space with too many competing pulls (that's your future corridor junction), and adjust areas as the client's numbers firm up — totals and the diagram update together. When the program stabilises, export it as the brief-stage deliverable and the reference against which every subsequent plan gets checked.
The bubble diagram isn't a floor plan — it deliberately has no geometry, no walls, no site. That's its power: it lets you resolve relationships while they're still cheap to change, so that when you do start sketching, the sketch inherits an organisation that already works.
New to the concepts behind this workflow? The space programming primer in our Knowledge Base covers the fundamentals in ten minutes.
Try it with your own brief
Take the messiest client list on your desk and turn it into a program this afternoon:
Open SpaceFlow → — free, no account, runs entirely in your browser.
Area standards and grossing factors in this article are illustrative. Verify space requirements against the regulations and education standards applicable in your jurisdiction, and have the final program reviewed by a licensed architect before it informs design or budget commitments.