01The Problem
A team of people working on a shared queue of items, with the queue itself living nowhere. Requests came in through chat, email and conversation. Assignment happened verbally. Progress was known only by asking.
Two failure modes kept repeating: items that quietly stalled because everyone assumed someone else had them, and items finished twice because nobody could see the first attempt.
02The Old Process
- Work assigned in conversation, with no record of when or to whom
- A shared spreadsheet that people edited over each other
- Status updates requested individually, usually at the worst moment
- No way to see how long something had been sitting
- Handovers announced manually, or not at all
The spreadsheet had already been tried. It failed for a specific reason worth naming: a spreadsheet cannot tell you that a row changed. Without that, every handover still needs a human to announce it.
03The Objective
Make three things true at once: every item has one named owner, every stage change is recorded with a timestamp, and the person who needs to act next is told automatically.
And keep it simple enough that people actually use it. The previous attempt had failed partly from being too elaborate.
04My Approach
I started by ruling out the obvious option. Excel has no row-change trigger and no row-level permissions, which meant it could never do the notifying — the single thing the process most needed. So the tool choice was decided by the requirement rather than by habit.
I moved it to a SharePoint list, which does fire on item change. Then I deliberately kept the columns minimal: item, owner, assigned date, stage, notes. I was asked for more and said no. Every extra field is a field somebody has to fill in, and the fastest way to kill a tracker is to make updating it feel like paperwork.
On visibility I chose filtered views over locked permissions. Everyone can technically see everything; each person gets a default view of their own work. Accountability comes from version history and stage notifications instead of from hiding things — which performs better and reassigns more easily.
05The System
| Element | How it works |
|---|---|
| Staged lifecycle | Five stages including a Returned path that sends work back to the start and notifies the original owner |
| Named ownership | A person column, not a text field — so notifications can actually reach someone |
| Automatic timestamps | Stage changes write their own date and time; nobody records them by hand |
| Append-only notes | Each person’s note is added and timestamped rather than overwriting the last one |
| Attachments | Screenshots go in the item’s attachments, because images pasted into rich-text fields silently disappear on save |
| Personal views | Each person opens straight into their own work, without a separate list to maintain |
One detail that took real debugging: all timestamps had to read in the client’s local time. The fix was to set the site’s regional time zone rather than convert inside the flow — SharePoint stores dates in UTC and converts on display, so writing local time into a date column double-converts and shows hours ahead.
06The Tools
| Tool | Role in the system |
|---|---|
| SharePoint Lists | The record itself, plus per-person views and version history |
| Power Automate | Stage stamping, notifications and the return path |
| Outlook & Teams | Delivery of the notifications |
| Excel | Export and summary reporting where leadership preferred a sheet |
07The Workflow
- Item created → owner assigned, stage set to the first step
- Stage moved forward → timestamp written, next role notified by email
- Stage set to Returned → original owner notified, item sent back to the start
- Final stage reached → quality checkers notified for review
- Any change → version history records who and when, automatically
The one non-obvious piece of engineering is a loop guard. A flow triggered by “item created or modified” will re-fire on its own update and run forever. Each flow keeps a hidden copy of the last stage and only acts when the current value differs — then writes the new value back.
08The Result
Handovers stopped needing an announcement. The stage change is the announcement.
Work stopped stalling invisibly, because an item sitting at a stage is now something you can see rather than something you have to remember to ask about. Duplicated effort ended, since the queue is shared.
Two questions stopped being asked: who has this, and where is it. Both now have an answer that does not require interrupting anybody.
09What this means for a CEO
You get an honest answer to “where is that?” without interrupting anybody to get it. That sounds small. In practice it removes a recurring tax on everyone’s attention, including yours.
It also changes what a manager does with their week. Chasing is replaced by reviewing — the exceptions surface themselves, so attention goes to the two things that are stuck rather than the twenty that are fine.
And it is defensible. Every change carries a name and a time, so a disagreement about what happened has an answer instead of two recollections.