How to track student project milestones without chasing anyone
Most supervision problems are visible weeks before they become emergencies. A student who misses the proposal deadline by ten days is very likely to miss the draft deadline too. The information is there. It just isn't reaching anyone in time to matter.
Milestone tracking is how you surface that early. Done badly it becomes bureaucracy nobody fills in. Done well it is mostly automatic.
Pick a milestone count you will actually enforce
The common mistake is too many stages. A twelve-milestone plan looks thorough and gets abandoned by week five, because every stage needs someone to check and mark it.
For a one-semester project, five to seven gates is usually right:
- Topic and supervisor confirmed
- Proposal submitted
- Literature review / background chapter
- Methodology and initial results
- Full draft
- Final submission
For a two-semester thesis, add a mid-point progress seminar and a pre-submission review. Beyond that you are tracking activity rather than progress.
The test for whether a milestone belongs: would you act differently if a student missed it? If not, it is a note, not a gate.
Make each gate require an artefact
A milestone that is marked complete by opinion will drift. A milestone that requires a file cannot.
Each gate should have:
- A deliverable — a document, dataset, or demo that is actually uploaded
- A date — fixed at project creation, not negotiated per student
- An outcome — approved, revision requested, or rejected, with a reason recorded
The third one matters more than it looks. "Revision requested" with a comment attached is a supervision record. A green cell in a spreadsheet is not.
Let the deadline do the chasing
The single highest-leverage change most departments can make is automating reminders. Not because students forget the date, but because a reminder converts a private worry into a shared one.
A schedule that works in practice:
- 7 days before — first notice, informational
- 3 days before — second notice, with a link to submit
- 1 day before — final notice
- On the deadline — supervisor is notified of who has not submitted
That last one is what actually changes outcomes. It moves the supervisor from discovering a problem to being told about it, on the day it happens rather than a month later.
In Bangladesh specifically, SMS reaches students far more reliably than email. If your reminders only go by email, assume a meaningful fraction never arrive.
Handle lateness explicitly, not informally
Every project has extensions. The question is whether they are recorded.
An informal extension — agreed verbally, never written down — is indistinguishable from a missed deadline six months later. So make the request a first-class action:
- The student requests an extension, with a reason and a proposed new date
- The supervisor approves or declines, and that decision is stored
- The revised deadline replaces the original, with the original still visible
This costs nothing at the time and settles every "but you said it was fine" conversation permanently.
Track progress as a computed number, not a judgement
Once every milestone has a deliverable and an outcome, progress stops being an opinion. It is:
approved milestones ÷ total live milestones
That number is comparable across students, across supervisors, and across cohorts. It updates itself. And when a coordinator asks "who is at risk?", it is a filter rather than a meeting.
One caveat worth building in: milestones that are deleted or cancelled mid-project should drop out of the denominator, otherwise cancelling a stage makes a student look less complete than before.
What good looks like
You know the structure is working when:
- No one has to ask "where is everyone?" — the answer is a page
- Late work is visible on the day it is late, not at the viva
- Every extension has a written reason attached
- A new coordinator can pick up the cohort without a handover meeting
None of that requires more supervision effort. It requires the structure to carry the information instead of people carrying it.
Supervizo runs milestones as a state machine with automated SMS and email reminders at 7, 3, and 1 day, and logged extension requests. See the workflow.

