River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Process Map and Rework Register

Four sheets and four documents that carry the two things a swimlane cannot show: where the elapsed time goes, and what comes back.

Free download  ·  No account needed

Step Register

Larkspur Print and Packaging, order to dispatch

Measured from260 jobs, six months to 30 September
Steps and lanes13 steps across 6 lanes, one of them the customer
Touch time as a share of elapsed7%

Two numbers per step, never added together

#StepLaneWorkWait beforeElapsed to here
1Order received and checkedCustomer Service15 min015 min
3Artwork received and checkedStudio30 min2 d2 d 2 h
5Prepress impositionPrepress45 min6 h2 d 11 h
7Proof approvedCustomer03 d 5 h5 d 17 h
9Press make-readyPress1 h 301 d 12 h7 d 10 h
11Die-cutting and gluingFinishing4 h8 h8 d 1 h
13Pack and dispatchDispatch1 h4 h8 d 7 h
all13 steps6 lanes14 h 357 d 17 h8 d 7 h

Why the columns stay apart

Step 3 is thirty minutes of work behind a two-day queue. It is not a two-day step, and the queue and the work get fixed in completely different places by completely different people.

Seven rows of thirteen shown. Zero and blank mean different things here: zero is a step that runs straight into the next one, blank is a wait nobody has timed yet.

Every result for this search is a diagramming tool. A canvas, a shape library, swimlanes, an export. Drawing was never the hard part. Look at what the notation can actually hold: in BPMN 2.0's own minimal element set, a task carries exactly two attributes, an id and a name, and a sequence flow carries its two endpoints. There is nowhere to write how long a step took, and nowhere at all to write how long the work waited.

So every arrow is the same length and the gap between two boxes reads as nothing. In a process crossing six teams, the gaps are where the time is. Every step in this pack carries two numbers in separate columns, the work inside it and the wait before it, never added together. The filled example runs fourteen hours thirty-five of touch time across eight days seven hours of elapsed time. Touch time is seven percent of the total, and that ratio is the finding.

Then the loops, which are the other half. Nobody narrating their own job says that a third of them come back to them, so rework is structurally invisible to a walkthrough and only surfaces from records. Send River the walkthrough and the status histories, or take the sheets blank, alongside the matrix that says who owns each step, the procedures those steps refer to and the plan for when a step's system is gone.

Thirteen steps, five loops, one quantity keyed five times

The map is drawn from the Step Register rather than beside it, so the picture and the numbers cannot drift apart.

The map, with the waits drawn at their real size

Illustrative figures for a fictional folding-carton printer, Larkspur Print and Packaging. One block is six hours of queue. A dot is a wait under six hours.

LaneStepWait beforeWorkComes back
Cust Service1 Order receivednone15 min
Cust Service2 Spec sheet raised· 40 min25 minL5 18% to 1
Studio3 Artwork received░░░░░░░░ 2 d30 min
Studio4 Artwork corrected· 20 min2 h
Prepress5 Imposition░ 6 h45 minL1 34% to 4
Prepress6 Proof produced· 1 h30 min
Customer7 Proof approved░░░░░░░░░░░░░ 3 d 5 h0L2 22% to 4
Prepress8 Plates made· 4 h40 min
Press9 Make-ready░░░░░░ 1 d 12 h1 h 30
Press10 Print runnone3 h
Finishing11 Die-cut and glue░ 8 h4 h
Finishing12 Quality check· 1 h30 minL3 6% to 10
Dispatch13 Pack and dispatch· 4 h1 hL4 4% to 1

The same eight days at one scale, one block per eight hours

Work█ 14 h 35
Waiting░░░░░░░░░░░░░░░░░░░░░░░ 7 d 17 h

Two waits are three quarters of the process. The customer finding print-ready files, and the customer approving a proof. Neither is anybody internal's step, which is exactly why the customer has to be a lane.

At a scale where the whole process fits on one line, all the work is one block. That is what a uniform-arrow diagram hides.

Rework Loop Register

Counted in records, then confirmed with the lanes. Never the other way round. Denominator is 260 completed jobs.

LoopRateCounted inCauseDays addedCaused by
L1 imposition back to studio34%88 of 260, prepress reject logFiles arrive with no bleed or in RGB and nothing checks them against the die line1.5L5, in part
L2 proof back to studio22%58 of 260, proof email threadsColour was never set at order, so the customer meets the substrate at proof stage2.8L5, 9 of 58
L5 spec sheet back to order18%47 of 260, spec revision historyPaper weight and finish are not fields on the order form0.4none, first in chain
L3 quality back to press6%16 of 260, quality logRegistration drift on long runs on the older press1.0none, mechanical
L4 dispatch back to order4%11 of 260, dispatch hold notesCredit is checked at invoicing, so a hold is found at the dock3.0none

Rank by days added and the order inverts. L4 runs at four percent and adds three days per occurrence. L5 runs at eighteen percent and adds under half a day. Rate alone would send the work at the wrong loop.

Then read the caused-by column. L5 is two missing fields on the order form, and it is feeding the two biggest loops in the process from four steps upstream. Fixing L1 where it hurts buys nothing, because the next job arrives with the same gap.

L3 is genuinely mechanical and says so. Forcing every loop into a chain is as misleading as having no chains at all.

Handoff Matrix

Arrival quality answered by the receiving lane only. Senders describe their own output as fine, which is honest and useless.

CrossingQueueArrives usableWhat the receiver chases every timeVerdict
Customer to Cust Service094%A purchase order number on 6% of ordersFine
Cust Service to Studio2 d61%Paper weight and finish, never captured at orderBroken at source
Studio to Prepress6 h66%Bleed and colour space on a third of all artworkWorst crossing
Prepress to Customer1 h98%Nothing. The proof goes out cleanFine
Customer to Prepress3 d 5 h78%An answer. Nothing anywhere sends a reminderLongest wait
Prepress to Press1 d 12 h99%Nothing. Plates arrive correctFine but queued
Press to Finishing8 h88%Registration on 12% of runs, reprint on half of thoseQueue plus drift
Finishing to Dispatch4 h72%A credit release on 4%, a count discrepancy on 24%Two problems in one

Studio said ninety percent at the prepress crossing. Prepress said sixty-six. Nobody was lying, and neither team had ever seen the other number. That twenty-four point gap is the most reliable single finding in a mapping exercise.

Multiply the column and end to end usability is under half. Every crossing is individually defensible. The process is not, which is how every lane honestly reports that things are fine.

Two crossings queue for over a day at ninety-nine percent arrival quality. Queue time and quality are separate problems, so they get separate columns.

System Touchpoints

Re-keying is never a step, so it never appears on a map. It appears here.

StepSystem of recordRe-keyed fromWhere it can differVerdict
1 Order receivedPrint MISCustomer email or callFirst entry, nothing to differ from yetOrigin
2 Spec sheet raisedSpreadsheet outside the MISPrint MISSubstrate and finish exist only hereUnreconciled
3 Artwork receivedFile server foldernot re-keyedThe folder name is the only link to the jobFragile link
5 ImpositionPrepress job ticketThe spreadsheetThird entry of the substrate, differs on 7%Unreconciled
6 Proof producedEmail threadPrepress job ticketNo record in the MIS that a proof was sentInvisible to the MIS
9 Make-readyWhiteboard in the press hallPrepress job ticketFourth entry of the quantityOffline
11 Die-cuttingPaper job bag on the palletPress docketFifth entry of the quantityRe-keyed
13 Pack and dispatchPrint MISThe job bagDispatched quantity disagrees with the order on 24%Closes badly

The quantity is typed in by hand five times across five systems. One order, five chances to differ, and the disagreement finally surfaces at the dock on a quarter of all jobs, where dispatch resolves it on the phone.

That phone call is rework that stopped being counted. Nothing goes back, so no reject log records it and no interview mentions it. It is twenty minutes on a quarter of everything, and absorbing it is always the locally rational choice.

Substrate and finish live in a spreadsheet outside the system of record. That single fact is the cause behind the two largest loops on the register.

What's in the pack

01

Step Register

One row per step with the touch time inside it and the wait before it in separate columns, plus a running elapsed figure so a reader can see which single gap moved the total. Zero and blank mean different things: one is a step that runs straight into the next, the other is a wait nobody has timed.

02

Rework Loop Register

Every loop with its measured rate, the record it was counted in with the raw counts written out, the mechanism causing it, and the days it adds per occurrence. Ranking by days added rather than by rate reorders the list, which is the point of carrying both.

03

The caused-by column

Loops cause loops. A late loop is usually the visible end of a missing field four steps upstream, and the two sit in different lanes, so the register carries the chain. Fixing the last loop in a chain buys nothing, because the next job arrives with the same gap.

04

Handoff Matrix

One row per lane crossing with the queue time, the arrival quality answered only by the receiving lane, the rejection rate, and what the receiver has to chase every single time. That last cell is almost always one or two specific missing fields, and a missing field is fixable.

05

System Touchpoints

Where the same information gets entered by hand into a second, third and fifth system. Re-keying is never a step, so it never appears on any map, and it is where two records of one order quietly start to disagree.

06

The drawn map

Drawn from the Step Register rather than beside it, so the picture and the numbers cannot drift. Waits appear at their real size instead of as identical arrows, and every return path carries the share of work that takes it.

07

Mapping Standard and What a Swimlane Cannot Show

The rules on one page, plus the reference explaining why the standard picture omits both time and rework. Some notations rule sequence out on purpose: the federal function modeling standard states that its arrows do not represent flow or sequence at all.

08

Process Narrative and Handoff Notes

A filled narrative for a fictional printer with the map, the totals and the sample size, and the crossing conversations written up in the receivers' own words. Once the map holds, assigning responsibility for each step is the next piece of work.

How to use it

  1. 1

    Open in River, or take it blank

    Install the pack in River and hand it what you have, or download the four documents and four CSV sheets and fill them yourself.

  2. 2

    Fix the two edges

    The observable event that starts the process and the one that ends it. A purchase order arriving is a start point. Order intake is not.

  3. 3

    Send the walkthrough and the records

    The walkthrough gives you the sequence and the touch times. The status histories, reject logs and version counts give you everything the walkthrough cannot.

  4. 4

    Ask one question per crossing

    What share of work arriving here is usable exactly as it arrives, asked of the receiving lane. Then ask what they chase every time.

Frequently asked questions

Is this free, and what do I get?

Free, with no signup gate on the download. Four documents and four spreadsheets. The AI half is optional: send a walkthrough and whatever records show work going backwards, and River builds the register, draws the map from it and counts the loops. More in the template library.

Why not just use a diagramming tool?

Because drawing is the part that was never hard. A canvas gives you shapes and swimlanes, and then every arrow on the finished picture is the same length. A two-day queue and a step that runs straight into the next one look identical, so the improvement work goes at the boxes.

Why keep touch time and wait time in separate columns?

Because they get fixed in completely different places. Twenty minutes of work behind a two-day queue is not a two-day step. Add them together and the number tells you to make somebody faster, when what the process needs is for the queue in front of them to stop existing.

Can I not just ask people where the rework is?

You will get the happy path. Nobody narrating their own job says that a third of them come back to them, because rework is the exception in the story people tell about their work. So the loops get counted in the records first, then taken back to the lane for the cause.

Which records actually hold the rework?

Anything that marks work going backwards. Status histories that visit a status twice, file version counts, reject reason fields, revision numbers, proof email threads, a quality log, a reprint or credit note log. The filled example counts five loops against a stated denominator of 260 jobs.

Why does the customer get a lane?

Because leaving them out deletes the largest number on the sheet. In the filled example the two customer waits, finding print-ready files and approving a proof, are three quarters of the elapsed time. Neither is anybody internal's step, so on most maps neither one exists.

What do we do with the map once it holds?

Group the loops by where their fix lands rather than where they happen, and several usually resolve to the same two missing fields at step one. Then set the ownership with a matrix that survives the redesign and write up whatever procedure the changed steps now need. Where a crossing queues behind one supervisor, the span and layer analysis says whether that is structural.

Map where the time actually goes

Take the documents and CSV sheets blank, or install this pack in River and send it a walkthrough plus whatever records show work coming back.

Edit with AI