Program operations

How to run a growing program without adding more admin work

A practical guide to replacing scattered forms, spreadsheets and email threads with one clear workflow for your team and participants.

8 min read · 12 February 2026

Every program starts the same way: a form, a spreadsheet, and a shared inbox. That combination works beautifully for the first cohort, holds together for the second, and quietly becomes the job itself by the fourth. Nobody decided to spend their week forwarding attachments. It just happened, one reasonable shortcut at a time.

The instinct at that point is to hire. Often the real problem is that your program has no single place where its state lives, so every question has to be answered by a person reading an inbox. This is a guide to fixing that without adding headcount, and without a six-month migration.

Find the work that is really admin

Before changing anything, spend one week labelling what you actually do. Not in detail — just a tally. Most program teams find their time splits into four buckets:

  • Chasing — asking for a missing document, a signature, a reply.
  • Relaying — telling someone something the system already knows: whether they were accepted, when the session is, what stage their application is at.
  • Transcribing — moving data from a form into a sheet, from a sheet into a deck, from an email into a record.
  • Deciding — reviewing, scoring, choosing.

Only the last one is your program. The first three are symptoms of information living somewhere participants cannot see. Every hour you spend relaying is an hour someone could have answered themselves.

Give every participant a status they can read

The single highest-leverage change is also the least glamorous: let people see their own state. "Did you get my application?" is the most expensive question in program operations, because it arrives one at a time, out of hours, and the answer is always yes.

A status does not need to be elaborate. Applied, Under review, Interview, Decision. What matters is that it is accurate without anyone updating it by hand — which means the status has to be a property of the record, not a label someone remembers to change.

Collect once, in a shape you can use later

Most admin pain is created at intake. A form that collects a CV as an email attachment guarantees a human will open, rename and file it. A form that collects structured fields — with the file attached to the record rather than to a message — is the same work for the applicant and none of the work for you.

Two rules keep intake clean:

  • Ask for anything you will sort, filter or report on as its own field, never inside free text. "Which city are you based in?" as a dropdown is a filter. The same answer inside a paragraph is a reading exercise.
  • Do not ask for anything you will not use this round. Every optional question lowers completion and gives you a column nobody maintains.

Let reviewers work where the data is

Reviewing in a spreadsheet means every reviewer sees every other reviewer's scores, which quietly anchors them. Reviewing over email means you are the merge function. Neither scales past a few dozen applications.

What works: reviewers see the applications assigned to them, score against the same criteria, and cannot see each other's scores until they have submitted their own. Then scores aggregate automatically. The decision stays human; the arithmetic does not.

Automate the reminders, not the judgement

Chasing is the easiest category to remove entirely, because the trigger is always a date or a missing field. A deadline in three days and an incomplete application is a reminder. A signed agreement that has not come back after a week is a reminder. None of this needs a person, and a person is worse at it — they forget, or they feel rude.

Resist the temptation to automate decisions at the same time. Automated nudges fail gracefully; an automated rejection fails loudly, in public, to someone who will tell others.

Write down who sees what, once

Programs accumulate roles: participants, mentors, reviewers, funders, your own team. The usual approach is a different spreadsheet per audience, which means the same fact gets maintained in four places and disagrees with itself within a month.

A better default is one record with per-role visibility. An applicant sees their own status and nothing else. A reviewer sees the submissions assigned to them. A funder sees aggregate numbers and no names. Nothing is duplicated, so nothing can disagree.

Keep the cohort between cohorts

The quiet cost of spreadsheet programs is that each round starts empty. Alumni become a tab nobody opens; the waitlist for the next intake becomes an email folder. By round three you have lost the institutional memory that makes a program worth joining.

Whatever you build, make sure last year's participants are still there this year, reachable and labelled. The next round should start warm.

What to do first

If you only change one thing this quarter, publish a status every participant can check without emailing you. It removes the largest single category of inbound, and it forces the underlying record to be accurate — which is the foundation everything else needs anyway.

Then move intake into structured fields, and let reminders fire on dates instead of on your memory. Those three changes typically take a week to set up and give back the afternoon you have been losing to forwarding attachments.

← All articles