A batch goes on hold pending quality inspection. The inspection happens. The release decision, though, lives in someone's head until they get around to updating whatever tracker is in use. Meanwhile the batch sits, and nobody downstream knows whether it's stuck on inspection, stuck on a decision, or already released and nobody updated the board.
Give the hold explicit stages
Hold, inspection, disposition, and release are four distinct decisions, not one blob of 'quality review.' Modeling them as separate stages means anyone downstream can see, in real time, exactly which one a batch is sitting in, rather than a single ambiguous 'in QC' status.
Let a failed disposition branch, instead of forcing one path
Not every batch that fails inspection needs the same next step. Some go to rework, some go to scrap, and forcing both down an identical review path adds delay for no reason. A process that can branch based on the actual disposition, rather than treating every outcome the same, keeps the ones that need less handling moving faster.
Make time-in-hold a trended number
The real value here isn't just tracking a single batch. It's that once hold and release are stages with real timestamps, time-in-hold becomes a number you can trend over weeks and months. If one stage is habitually where batches slow down, that stops being an invisible cost and starts being the kind of thing that actually gets fixed, because it shows up in the data instead of hiding in someone's inbox.
