Chapter 30
Let production redesign the system
Treat friction and bypasses as evidence that the system or its environment changed.
On this page
For years, the common tools lived in one large bag.
In the old garage, that was the right design. The workshop was in the walkout part of a basement. Fetching a tool meant doors and stairs. One bag traveled to the work and paid that access cost once.
Then the access pattern changed. The new shop sat steps from the house. The bag had accumulated weight. Carrying it cost more than retrieving one tool. It stayed on the bench while individual tools moved in and out.
The intended workflow was being bypassed.
That could be read as a discipline problem: put every tool back in the bag and remember to carry it. Instead, the repeated behavior was treated as evidence. Frequently used tools moved to a pegboard. Workflow-specific tools moved into smaller bags. Some tools were duplicated where the cost of walking exceeded the cost of another copy.
The original design had not been foolish. Its environment changed underneath it.
Friction is telemetry
Users route around expensive paths. Operators leave difficult-to-store tools on the bench. Developers call a vendor directly when the approved adapter is painful. Teams keep shadow spreadsheets when the canonical system cannot answer their operational question.
The bypass may be unsafe. It may need immediate containment. It is still evidence.
Start with the behavior before assigning blame:
| Field | Tool-bag record |
|---|---|
| Repeated behavior | bag remained on bench; individual tools traveled |
| Original contract | one canonical kit travels to distant work |
| Changed environment | shop became nearby; bag grew heavy; access path changed |
| Coordination cost | carrying whole inventory exceeded fetching one tool |
| Design change | pegboard for hot tools; small workflow bags; deliberate local copies |
| What must remain true | tools remain findable and accurate; copies need no synchronized state |
| Next proof | retrieval and return remain cheaper under repeated real use |
Original contract: one complete kit travels to distant work.
Changed contract: hot tools live at the point of use.
This is a telemetry-to-decision record. It keeps a redesign from rewriting history as "the old system was bad." It also keeps observation from jumping straight to a preferred solution. The changed contract and coordination cost have to be named.
Production reassigns a job
The reloading body plan changed the same way.
The first belief was that the Dillon would replace the Lee. Military primer crimps made that too simple, so the Lee came back as a dedicated decapping path while the progressive press was incomplete. For a time, the new map said the Lee owned volume decapping and the Dillon should preserve its production setup.
Then the Dillon .223 dies arrived. Clean, still-primed brass went through the case feeder. The station-one die decapped and full-length sized in one pass, and the spent-primer system preserved the removed primers as a separate visible output. The handoff through the Lee no longer bought quality or clarity.
Production reassigned the primary job:
earlier working map
Lee: volume decap -> RCBS swage -> size and trim elsewhere
Dillon: future ammunition production
current observed map
Dillon case-processing configuration: feed -> decap + full-length size
-> headspace inspection -> RCBS swage -> remaining prep as measured
Lee: fallback -> diagnosis -> experiments -> controlled single-stage work
The first map was not bad architecture. It isolated one operation and let the system learn before the Dillon configuration existed. It became wrong when a combined pass removed a handoff and made the same facts more visible.
The workflow changed around the tools too. About twenty calibration cases became scrap before sizing settled. The bounded fifty-case run then produced forty-eight initial headspace acceptances and two rework exits. Accepted replacements restored the set before swaging. A source block and a destination block made each hand-work station resumable: the move became the commit.
Finally, clean split under use. The first cleaning removes range dirt before
processing. A planned second cleaning must remove lubricant and preparation
residue before loading, followed by complete drying and final inspection.
Similar mechanism, different boundary, different contract.
The first draft assigned jobs to tools. Production reassigned them to the flow.
Duplication can be cheaper than coordination
There are roughly six tape measures serving different hot paths: one near the saw, one in a drill bag, one in the kitchen drawer where Norma knows she can find it.
They share a capability. They do not share state that must remain synchronized. The kitchen tape measure's contract is narrow: be in the known place and measure accurately. It does not need to know which tape measure was last used at the saw.
A single canonical tape would remove duplication and charge a walking cost on every use. Local copies charge purchase, storage, and replacement costs. The trade favored copies here.
DRY is a coordination trade, not a moral rule.
The limit is load-bearing. Duplicate a policy table, customer balance, or security decision whose copies must agree and coordination returns as drift. Duplication is cheap only when the contracts are independent or the cost of eventual inconsistency is explicitly acceptable.
Before consolidating two similar software objects, ask:
- Do they share data that must remain synchronized?
- Do they change for the same reason?
- Does one source reduce total coordination, or merely move it into every caller?
- Can a local copy keep a narrower, more stable contract?
Duplication is easier to recover from than the wrong abstraction. That does not make all duplication wise.
Duplicate configuration, not authority
Commissioning the 5.56 sizing path exposed another coordination cost. Rebuilding dies and powder settings for every caliber change would repeatedly discard a known configuration and create more opportunities for setup error.
Before loading 7.62 or 9mm, I plan to buy dedicated toolheads and powder systems. The XL750 chassis remains shared. Each caliber preserves more of its configured line as a module.
That is intentional duplication, but not duplication of authority. The load specification remains the source for what the line must do. The modules keep local mechanical settings that do not need to agree across calibers. More equipment and storage buy lower changeover cost.
The decision is still a plan, not installed capability. A preserved module can reduce retuning. It cannot carry trust across installation or changeover. Every configuration still has to prove its output.
Capacity models fail in both directions
A second storage cabinet stood unused. Returning it remained a live option. Talking through the garage beside the cabinet exposed demand the inventory model had missed: a shelf could move to the garden, its tools could move into the cabinet, and other tools still had no home. The cabinet was built and filled. Two saws went on top because behind the cabinets would have made them stored but unusable.
The model predicted excess capacity. Reality showed named unmet demand.
This is not permission to fill every empty shelf. Empty capacity attracts unresolved decisions as readily as real demand. The cabinet earned its place because the users, material, and access paths named what it would hold before the option to return it was spent.
The old garage demonstrated the other direction. Abundant space let stalled projects and unresolved placement decisions persist without immediate pain. Scarcity in the new garage forced previously independent systems to negotiate. The constraint did not make every old decision wrong. It changed which costs the environment would subsidize.
Temporary workarounds are repriced
The freezer's extension cord did not change. The garage did.
At move-in, the cord bridged a broken outlet. As the garage returned to daily use, the route it crossed became the route Norma and Sean walked. A workaround priced against a low-traffic space became a live safety liability. The outlet was repaired and the cord removed while the rest of the build continued.
Every temporary workaround has a carrying cost, and its environment reprices that cost:
- a feature flag survives a migration and now splits two data models;
- a manual job becomes critical as traffic grows;
- a TODO sits on an authentication path after the threat model changes;
- one expert's memory becomes a bottleneck after the team expands.
Not every workaround is due immediately. Carrying some is correct. The useful record names what would move the due date: safety path, volume, team shape, regulation, dependency change, or incident evidence.
Let the next user make the easy change
The lawn shelf moved beside the freezer. The first change grouped the system enough that Norma could see and make the next optimization, arranging the components used together.
The result did not require every future improvement to be predicted by the first designer. It changed the conditions so the next useful change became visible and cheap to another person.
That is a stronger test of a maintainable body plan than whether the original author can keep extending it. Can someone else see the joints, understand the current contract, and make the next local improvement without asking where everything went?
The preserved limit matters: the shelf had not yet completed a full retrieval-and-put-away cycle when recorded. Findability survived the move. Retrieval efficiency had not been proven.
Turn one friction signal into a decision
Complete the record for a repeated bypass or workaround:
| Field | Evidence |
|---|---|
| Repeated behavior | |
| Original contract | |
| Changed environment or demand | |
| Current coordination cost | |
| Safety or correctness risk | |
| Proposed change | |
| What must not be synchronized | |
| Explicit residue | |
| Next proof and review date |
Do not begin with "users should." Begin with what they repeatedly do and what the intended path costs. Do not begin with "deduplicate." Begin with the state that must agree and the coordination each design charges.
What friction does not tell you
Behavior is evidence, not a verdict. A bypass may reveal a poor workflow, an unmet need, inadequate training, or a malicious attempt to avoid a real control. The investigation still has to determine which.
Production telemetry also arrives after a design decision has been exposed to one environment. The right response may be to change the system, change the environment, restore a violated boundary, or accept the cost. The lesson is not to obey every friction signal. It is to stop treating recurring friction as noise produced by defective users.
The final two chapters turn back to the tutorial itself: how tests drove the software body plan, and how to remove the reloading bench so the reader's own system has to stand.