NEWProduction Web Themes & Turnkey ArchitecturesGet Lifetime Pass ($199) →
KNKomal Nakrani
Get All Access
ThemesDocsAll-Access PassGet All Access ($199)
Book overview
18/Forward Deployed Engineering

Turn Field Evidence Into Product Leverage

Classify customer-specific work and propose reusable code, configuration, service, architecture, playbook, documentation, testing, or product feedback only when field evidence earns the abstraction.

The first successful customer implementation is evidence of one context, not a platform mandate.

Product leverage begins by separating the repeated invariant from customer-specific workflow, data, authority, integration, and workaround. “DRY” is a code smell heuristic, not product strategy.

Employer evidence shows FDEs may codify field learning into building blocks, playbooks, and product feedback. It does not provide a universal abstraction threshold. [CLM-166]

Close the bounded outcome review

For Orchid record:

  • outcome/guardrail/adoption observations and attribution limits;
  • current scope, cohorts, failures, support, open risks;
  • stable customer ownership and revoked/bounded FDE access;
  • one-off code/config/data/operations;
  • repeated seams observed elsewhere, if any;
  • proposals, rejected/deferred ideas, owners, next evidence.

Do not turn observed use or satisfaction into proof of transferable product value. [CLM-175]

Run the review as a bounded argument

An outcome review is not a celebration document and not a product request queue. It is a versioned argument about what changed, what probably contributed, what remains unknown, and what can legitimately travel beyond the engagement.

Start with the exact OA-03 contract. For each outcome and guardrail, place the baseline, current observation, cohort, evidence window, known confounders, and data-quality limitation beside one another. Then add adoption and support evidence from Chapter 17. A measure belongs in the review only if a reader can trace its definition and provenance. A favorable number with a changed definition or unrepresented cohort is not comparable.

For fictional Orchid, assume the bounded cohort shows shorter evidence-search time and fewer inventory calls for the covered pump family. That observation is useful, but several explanations remain possible: the curated manual set improved, the selected technicians were more experienced, the ticket mix was easier, the inventory API was faster during the window, or the suggestion path actually helped. The review can say that the combined deployment coincided with the observed improvement. It cannot assign the improvement to a reusable model or interface seam without a design that supports that attribution.

Review guardrails with the same seriousness. Suppose no prohibited suggestion was approved, but qualified reviewers inspected only a small number of rare critical cases. The correct entry is not safe. It is no observed prohibited approval in the stated sample; critical-case coverage remains limited. That limitation affects both rollout and reuse. A product proposal built on thin critical-segment evidence inherits the gap.

The outcome review should finish with four sets:

  • supported: observations whose definitions, cohorts, provenance, and limitations are clear;
  • plausible: explanations worth another test but not yet distinguished from alternatives;
  • unsupported: attractive stories that the evidence cannot carry;
  • open decision: a named owner, consequence, next evidence, and review trigger.

This structure prevents two common distortions. The delivery team cannot turn every favorable signal into credit, and the product team cannot dismiss bounded field evidence merely because it is not a controlled experiment. The review preserves useful evidence at its actual strength.

Maintain a pattern ledger

Each entry contains:

  • observation/problem and affected workflow;
  • contexts and frequency;
  • invariant and variance;
  • consequence and current workaround;
  • evidence quality/limits;
  • customer/data/contract isolation;
  • candidate leverage type;
  • maintenance/compatibility/security/support cost;
  • disconfirming evidence;
  • next validation and owner.

The ledger and abstraction test are original synthesis. [CLM-165]

Reuse ladder from isolated customer-specific material through configurable pattern, stable shared contract, operational playbook, and product proposal, with evidence gates at every transition.
F18.1 - Reuse must be earned across contexts. Isolation, variance, maintenance, compatibility, ownership, validation, and disconfirmation gate every step.

The companion rejects an entry that omits disconfirming evidence and defers one-context patterns. [CLM-167]

Distinguish a pattern from a pile of anecdotes

Count alone is weak. Ten customer requests can share a phrase while describing different workflow states, authorities, data semantics, and consequences. Two contexts can reveal a strong invariant if the same contract failure appears under meaningfully different implementations.

For every candidate, ask what is invariant at the decision boundary. Consider three fictional observations:

  1. Orchid needs a stable intent identifier because an inventory reservation may complete after the client loses the response.
  2. A constructed document workflow needs a stable submission identifier because a filing may be accepted after a gateway timeout.
  3. A read-only analytics deployment retries a metadata lookup whose result has no external effect.

The first two support a possible invariant: a caller must reconcile an externally consequential intent whose completion can become unknown. The third is superficially similar at the transport layer but does not carry the same state or consequence. Treating all three as retry handling would create an abstraction too broad to be useful and too weak to be safe.

A pattern ledger entry should therefore contain negative cases. Record where the proposed invariant did not apply, where variance required a different authority or recovery rule, and what evidence would make the common seam uneconomic. Disconfirmation is not pessimism. It is how a reusable design avoids becoming a collection of hidden customer switches.

Work a ledger entry end to end

For the intent and reconciliation candidate, the entry might read:

  • observation: Orchid inventory reservation can be accepted while the final response is lost;
  • affected workflow: technician review must not reserve twice or report false failure;
  • contexts: Orchid plus one constructed filing workflow; a third independent write context is required;
  • invariant: one semantic intent has one identity, equivalent retries replay a recorded result, different semantics conflict, and unknown completion reconciles before another effect;
  • variance: resource identifiers, finality evidence, cancellation, retention, authority, and compensation differ by provider and workflow;
  • consequence: duplicate external effect, incorrect user state, or blocked work;
  • current workaround: provider-specific lookup and manual reconciliation;
  • evidence quality: executable synthetic tests and two bounded context models, no representative third integration;
  • isolation: customer payloads, identifiers, permissions, and provider rules remain behind adapters;
  • candidate leverage: contract plus reference state machine and test harness, not a universal service yet;
  • maintenance cost: versioned public semantics, storage/retention, adapter conformance, migration, observability, and support;
  • disconfirmation: contexts have incompatible intent identity/finality, or support cost exceeds duplicated local implementation;
  • next validation: implement the contract against a third independent write boundary and run failure/reconciliation tests;
  • owner: integration product lead, with security/data authorities for retained state.

Notice the proposed reusable object is smaller than the complete Orchid integration. That is usually healthy. Field leverage often comes from a seam whose semantics can be stated and tested, not from lifting the surrounding application into a platform.

Use the reuse ladder

  1. customer-specific implementation/data mapping;
  2. configurable adapter or local template;
  3. reusable library/contract/test harness;
  4. shared service or reference architecture;
  5. playbook/documentation/evaluation pattern;
  6. product capability or roadmap proposal.

Move only as far as evidence supports. Reuse can be non-code. [CLM-172]

Classify before you generalize

Use a three-pass classification for every artifact.

First, identify embedded customer specificity:

  • customer or user identifiers;
  • workflow states and names;
  • regional or contractual rules;
  • qualifications and decision rights;
  • data-retention and privacy assumptions;
  • environment, topology, and dependency behavior;
  • thresholds learned from one cohort;
  • support and operating ownership.

Second, identify the smallest portable behavior. It might be an interface contract, validation rule, test fixture pattern, decision record, diagnostic tree, runbook structure, or reference boundary. Remove the customer values, but do not erase the semantic constraint that made the artifact useful.

Third, decide the leverage form. A playbook is often safer than shared runtime code when variance is high. A test harness can spread a failure lesson without imposing one implementation. A reference architecture can communicate boundaries without creating a supported service. Product feedback can be correct even when no reusable implementation exists.

Twelve-artifact Orchid exercise

Classify these artifacts and write the reason, isolation rule, owner, and next evidence:

Artifact Initial disposition Reason
Orchid equipment-family mappings reject from reusable package customer semantics and data
regional qualification matrix reject from generic policy formal authority and local rules vary
ticket adapter implementation local adapter provider schema and operational behavior
canonical ticket contract candidate interface template portable fields only if semantics remain explicit
inventory intent/reconciliation harness defer as reusable module promising invariant; third context missing
approved-manual fixture generator reusable test utility synthetic and customer-free with clear limits
deterministic eligibility engine shape reference architecture actual rules remain authority-owned configuration
model/prompt bundle local versioned artifact evidence and behavior are task/context specific
critical-segment evaluation structure reusable evaluation pattern criteria/data stay context specific
recovery rehearsal record reusable playbook/template process structure transfers; targets do not
ownership acceptance checklist reusable template customer roles/access/evidence must be filled locally
observed time reduction product feedback evidence bounded outcome observation, not reusable code or prevalence

The table is a starting hypothesis, not the final decision. For example, a fixture generator may still reveal confidential schema shapes. A reusable template remains unsafe until its sample values, field descriptions, license, provenance, and distribution path have been reviewed.

Orchid classification

  • equipment identifiers, regional mappings, qualification rules: customer-specific configuration/authority;
  • ticket/manual/inventory adapters: reusable interface shape, provider-specific implementations;
  • intent/conflict/reconciliation ledger: candidate reusable module after independent contexts validate the invariant;
  • deterministic model/policy/evaluation seams: reusable test/architecture pattern, not universal policy;
  • recovery/readiness/ownership records: portable playbook/templates;
  • Orchid data, manuals, outcomes: never reusable product data.

Customer-specific data, IDs, permissions, and assumptions must remain isolated. [CLM-168]

Test abstraction timing

Ask:

  • Are contexts genuinely independent?
  • Is the invariant stable and consequential?
  • Is variance understood/configurable rather than hidden?
  • Can customer specifics be isolated and removed?
  • Does a reusable contract reduce total risk/cost?
  • Who maintains, versions, secures, documents, supports, migrates, and deprecates it?
  • What evidence would disconfirm/reverse the proposal?
  • Is a playbook/test/document enough instead of shared runtime code?

A public contract creates compatibility/maintenance obligations. [CLM-169] Semantic Versioning can signal declared API compatibility but cannot choose the abstraction. [CLM-170]

Premature abstraction hides meaningful differences and multiplies support burden. [CLM-174]

Price the contract you are creating

Shared code is not free code. The decision creates future promises even when nobody writes them down.

For a proposed library, service, or public contract, make the promise explicit:

  • which inputs and semantics are supported;
  • which compatibility changes require migration or deprecation;
  • how tenant, identity, region, and customer data remain isolated;
  • which performance and availability behavior is actually owned;
  • how security fixes and dependency changes are delivered;
  • who answers integration failures and ambiguous behavior;
  • how usage, failure, and cost are observed without leaking data;
  • how consumers test upgrades;
  • how the capability is retired.

If there is no owner or budget for those obligations, the proposal is not ready. That does not mean the learning is discarded. Keep it as a playbook, test suite, or reference implementation until the operating model exists.

Compare two options for the reconciliation seam.

Option A: shared service. Central state can simplify consistent finality and observability, but introduces a new availability, latency, tenancy, retention, and incident boundary. Every consumer depends on its semantics and operational health.

Option B: contract and test harness. Each deployment keeps local state behind a common behavior suite. This reduces central runtime dependency but permits implementation drift and distributes maintenance.

The right answer depends on consequences, context count, operational capacity, isolation, and change rate. Shared is not inherently more mature than local.

Use a reversible abstraction decision

Record the decision as a hypothesis with stages:

  1. observe: preserve context, variance, and negative cases;
  2. describe: state the smallest candidate invariant;
  3. simulate: build customer-free fixtures and failure tests;
  4. validate: apply against an independent context;
  5. pilot: expose a bounded consumer with compatibility/support ownership;
  6. promote: declare and version the supported contract;
  7. reassess: measure maintenance, exceptions, disconfirming contexts, and total cost;
  8. retire or narrow: remove a harmful abstraction rather than protecting sunk cost.

Version the evidence and decision at every stage. A candidate can move down the ladder when new variance appears. Reversibility is a sign of disciplined product learning, not failure. [CLM-176]

Distinguish repeated pattern from severe gap

A single deployment can expose a severe safety, security, accessibility, reliability, or workflow gap worth immediate product attention. That is a priority argument, not a prevalence claim. [CLM-171]

Label the packet accurately: “high-consequence gap observed in one bounded deployment; validate breadth” rather than “customers need.”

Two different product conversations

Suppose Orchid reveals that a prohibited suggestion can appear valid when evidence provenance is visually hidden. Even one verified high-consequence occurrence can justify urgent review of the product’s evidence-display boundary. The packet should say why the consequence is severe, where the defect can exist, what immediate containment is available, and what product owner must decide. It should not claim the problem is common.

Now suppose three integrations each implement semantically identical unknown-completion reconciliation behind different providers. That supports a repeated-pattern conversation. The question is whether a stable contract and test harness reduce risk and cost across contexts.

The first argument is consequence-led. The second is recurrence-and-invariant-led. Mixing them produces bad prioritization: serious single-context defects can be ignored for lack of frequency, while frequent low-value similarities can become unnecessary platforms.

Write the field-to-product packet

Field-to-product packet from problem and bounded evidence through workaround, invariant and variance, proposal and reuse type, isolation, impact, uncertainty, maintenance cost, owner, validation and decision.
F18.2 - A field observation is not yet a product claim. The packet preserves evidence, variance, cost, uncertainty, ownership, and a next validation decision.

The companion requires every field, including maintenance and compatibility. [CLM-173]

Fill the packet with decision-grade evidence

A useful field-to-product packet can be reviewed without replaying the entire engagement. It contains:

  1. Decision requested. For example: fund a third-context validation of the intent/reconciliation contract; do not approve a shared service yet.
  2. Workflow problem. State the user decision and external effect, not only an API timeout.
  3. Bounded evidence. Link the exact contexts, traces/tests, outcome or incident observations, and evidence limitations.
  4. Current workaround. Include operating burden, failure modes, and who carries it.
  5. Invariant and variance. Separate stable semantic behavior from provider, customer, authority, and data differences.
  6. Proposed leverage. Name library, service, adapter, configuration, reference architecture, playbook, documentation, evaluation, test, or feedback.
  7. Isolation. Explain how customer data, identifiers, policy, permissions, and contract constraints stay out.
  8. Expected impact. State the decision or failure expected to improve and how it will be observed.
  9. Cost and obligations. Compatibility, maintenance, security, operations, support, migration, documentation, and deprecation.
  10. Uncertainty and disconfirmation. Say what would cause defer, narrow, reject, or retire.
  11. Owner and authority. Product owns roadmap priority; relevant technical and specialist owners review their boundaries.
  12. Validation plan. Name next context, artifact, pass criteria, review date, and decision trigger.

Review the proposal from four positions

The deployment engineer asks whether the packet represents field evidence accurately. The product owner asks whether the capability belongs in product strategy and opportunity cost. The platform or service owner asks whether the contract can be operated and evolved. Security, privacy, safety, legal, accessibility, or other designated specialists decide formal questions in their scope.

The FDE should not obtain roadmap authority by writing a persuasive memo. The role is to make the problem, evidence, boundary, options, and consequences unusually clear.

Example disposition:

Defer platformization of Orchid’s complete adapter stack. Propose validation of the intent/reconciliation contract across a third independent write integration. Preserve provider/resource semantics as adapters. Reject reuse of Orchid equipment mappings/data. Owner: integration product lead. Disconfirm if read-only/transaction-specific semantics dominate or support cost exceeds duplicate local implementations.

The statement contains three decisions rather than one vague request:

  • reject copying the complete customer integration;
  • defer a shared runtime platform;
  • propose a bounded validation investment for a smaller semantic seam.

That precision lets a product leader accept one action without accidentally approving the others.

Failure modes and repairs

DRY becomes the product strategy

The team sees duplicated adapter code and centralizes it before comparing semantics.

Repair: compare workflow decisions, authority, failure state, and maintenance burden. Share a test or interface only at the earned invariant.

Configuration hides customer forks

A generic engine accumulates dozens of flags whose combinations are not tested or owned.

Repair: expose the actual variance, define supported combinations, isolate true customer extensions, and reject a shared runtime when configurability merely conceals incompatibility.

The happy customer becomes market evidence

One favorable deployment is used to claim broad demand or value.

Repair: preserve the bounded outcome and attribution limit; ask for independent contexts and disconfirming evidence. [CLM-167] [CLM-175]

Customer material leaks into the reusable package

Fixtures, logs, prompt examples, mappings, or documentation retain customer identifiers or assumptions.

Repair: apply data/provenance review, synthetic reconstruction, semantic isolation, access control, and customer/contract approval where required. If the insight cannot be separated safely, do not distribute it. [CLM-168]

Maintenance is assigned to the platform team

The proposal names no actual owner, compatibility policy, support path, or budget.

Repair: keep the artifact local or documentary until ownership is explicit. Include retirement and escalation, not only creation.

A severe gap waits for pattern count

A high-consequence defect is dismissed because only one customer exposed it.

Repair: route a consequence-led product/risk decision while keeping prevalence unknown. [CLM-171]

The abstraction cannot be reversed

Consumers depend on undocumented behavior and customer-specific extensions before validation finishes.

Repair: stage the contract, bind versions, constrain consumers, test compatibility, and maintain a narrow/retire path.

Conduct the chapter exercise

Take twelve artifacts from a completed deployment. For each, produce:

  • current context and evidence;
  • customer-specific elements;
  • candidate invariant and known variance;
  • leverage form and ladder position;
  • isolation and provenance rule;
  • compatibility/maintenance/security/support consequence;
  • owner and authority;
  • next validation and disconfirmation;
  • disposition: reuse, propose, defer, reject, or retain local.

Then write one field-to-product packet and one explicit reject/defer record. Ask a reviewer who did not work on the deployment to identify the decision being requested and the evidence that would reverse it. If that reader cannot, the packet is not decision grade.

Completion evidence is not the number of artifacts labeled reusable. It is the quality of the distinctions, including work correctly kept local or stopped.

Adapt leverage to organizational maturity

In a fictional early-stage founding-FDE team, the same engineer may own customer integration, core product seams, and the initial pattern ledger. Speed is real, but the decision record still separates customer-specific material, declared product contracts, and temporary local code. A small team cannot avoid maintenance obligations by omitting the owner; it should choose smaller leverage forms it can actually support.

In a mature multi-role organization, product, platform, security, legal/privacy, support, and customer teams may review the packet separately. More roles do not guarantee a better abstraction. The FDE must preserve one evidence record so each review does not reinterpret the field observation. Decision authority and maintenance ownership can be distributed while the invariant/variance and customer-isolation facts remain shared.

The transferable method is the same. Organizational maturity changes who reviews, implements, operates, and funds the proposal; it does not convert one context into prevalence.

Run the product-learning review

Use a 45-minute decision agenda:

  1. restate the workflow problem and bounded evidence;
  2. show the candidate invariant, variance, and negative cases;
  3. confirm customer/data/contract isolation;
  4. compare leverage forms, including no shared runtime;
  5. price compatibility, maintenance, security, operations, support, and retirement;
  6. review disconfirmation and next validation;
  7. choose propose, defer, reject, retain local, or escalate a severe gap;
  8. name owner, authority, date, and evidence trigger.

Do not spend the meeting redesigning the complete product. The output is the next bounded decision. If the group cannot state what evidence would reverse the proposal, return the packet for repair.

Preserve rejected learning

A rejected platform proposal can still yield a regression test, contract checklist, migration lesson, support taxonomy, or design warning. Record why the runtime abstraction was rejected and which smaller artifacts remain valuable. This prevents a future team from repeating the same failed generalization while avoiding maintenance of an unsupported component.

Complete OA-11 product layer

The dossier adds outcome review, pattern ledger, twelve-artifact classification, one bounded proposal, one defer/reject record, and field-to-product memo.

Reuse decisions remain versioned/reversible as evidence changes. [CLM-176]

The Chapter 18 gate

  • evidence/attribution limits explicit;
  • invariant/variance/contexts/frequency recorded;
  • customer data/assumptions isolated;
  • reuse type chosen rather than default “platform”;
  • compatibility/maintenance/security/support cost ownered;
  • disconfirmation/validation defined;
  • roadmap authority remains product-owned;
  • one-customer prevalence claims absent;
  • companion leverage tests pass.

Chapter 19 will allocate attention across deployments and growth using bounded evidence rather than loudness, title, or false numeric certainty.