Adornment Plan 4, Wave 4: the tail — 13 skills, 18 files

Ten second-domain examples:
- jobs-to-be-done, pol-probe, user-story-mapping, user-story-splitting
  (Northfield): two job performers who share a product and share no
  jobs; probes that are physical because you cannot ship a fake door to
  a plant floor; a backbone spanning days, sites, and organizations;
  and why the component split is especially costly when firmware
  release windows are infrequent
- pestel-analysis, recommendation-canvas, company-research
  (Brightwater): Legal as the gating category rather than context; an
  AI line drawn on accountability rather than accuracy; and zero
  revenue read as a finding, not a red flag
- product-sense-interview-answer: a diagnostic question, structurally
  opposite to the existing improvement question - the pair exists to
  teach that using the wrong shape is the failure mode
- altitude-horizon-framework, executive-onboarding-playbook: career
  skills vary org shape, not industry. Horizon set by supply chain
  lead times; a product org that is not the company's main event

Three Group A skills completed:
- stakeholder-identification, stakeholder-mapping: templates plus both
  domains. Both examples land the most-affected, least-powerful group
  in Monitor on the first grid and correct it on the second, which
  suggests the mismatch is structural
- skill-authoring-workflow: template plus one worked example (meta-skill
  carve-out), documenting a real build where Preflight nearly stopped it

Plan 4 COMPLETE. Single-domain gap 21 -> 0 excluding the three
documented carve-outs. Every Component and Workflow skill now ships a
template and two-domain examples.

Guardrail verified across all Brightwater files.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Dean Peters
2026-08-10 11:46:41 -04:00
parent f9916cc88f
commit 27f739c582
19 changed files with 1894 additions and 1 deletions
@@ -1,6 +1,20 @@
# Adornment Plan 4 — Back-Catalog Backfill
**Status:** Approved Aug 10, 2026. Not started.
**Status:** **COMPLETE — Aug 10, 2026.** All four waves shipped.
**Final state:** every Component and Workflow skill in the library ships a `template.md` and
worked examples from two business domains, except the three documented carve-outs below.
Verified by sweep: 1 skill without examples (`finance-metrics-quickref`, carve-out) and
1 single-domain (`skill-authoring-workflow`, carve-out).
| Wave | Scope | Result |
|---|---|---|
| 1 | 4 template-only fixes | ✅ |
| 2 | 7 core artifacts | ✅ |
| 3 | 4 workflows | ✅ Brightwater debuts |
| 4 | 10 single-domain + 3 Group A | ✅ |
Single-domain gap: **21 → 0** (excluding carve-outs).
**Predecessor:** `docs/maintenance/2026-07-17-adornment-and-docs-plan.md` (Plans 1-3, shipped)
Bring the back catalog up to the "fully adorned" standard in CLAUDE.md: every Component and
@@ -0,0 +1,112 @@
# Altitude & Horizon Example — Hardware Org
The `sample.md` example follows a Director in a SaaS company. This one follows the same transition
in a **hardware organization** — Northfield Automation, which builds retrofit control systems.
**Why the org shape matters more than the industry:** altitude and horizon are shaped by how far
ahead your organization is forced to think. In SaaS a Director's horizon is quarterly because
releases are continuous. In hardware, tooling lead times and certification windows push the
planning horizon out to eighteen months *whether or not the Director is ready for it* — and the
most common failure is a newly promoted Director still operating on a release-cycle horizon.
---
## Example 1: Cascading Context Map in a hardware org
### Scenario
Priya was promoted from PM to Director of Product at Northfield six months ago. Company leadership
has stated a priority: *"Consolidate onto one control platform by 2028."* Her three teams — platform
firmware, I/O modules, and service tooling — have been asking what that means for their work.
Nobody above her has translated it.
### Completed Context Cascade
```markdown
## Context Cascade: Control Platform Group — FY2027
**Company Priority:** "Consolidate onto one control platform by 2028."
**Business Unit Translation:** Controls BU stops investing in NFA-200 capability and
moves the installed base to NFA-500 without losing service revenue during the wind-down.
**Product Portfolio Translation:** NFA-500 must cover the full range the NFA-200 covered —
including the high-channel-count jobs it currently can't — before we can stop selling
the 200.
**Team Accountabilities:**
- Platform firmware: remote update and fault isolation, so a growing installed base is
serviceable without a growing field team
- I/O modules: close the high-channel-count gap. This is the gate on End of Sale.
- Service tooling: migration and commissioning tooling so integrators can move without
re-learning everything
**Why this matters:** the End of Sale date is not ours to move — manufacturing needs the
line. What IS ours is whether customers have somewhere to land when it happens.
**What I'm still unsure about:** whether "one platform by 2028" includes the SmartLink
gateway or only controllers. I've asked; I don't have an answer. Planning as if it's
controllers only, and I'll say so if that changes.
```
### Why this is strong
- **It translates a slogan into three team accountabilities**, each traceable to the company line.
- **It names the gate.** "This is the gate on End of Sale" tells the I/O module team their work
paces everyone else's — the single most useful sentence for a team that would otherwise optimize
locally.
- **It names what's fixed and what's theirs.** The EOS date is immovable; the landing place is
theirs. That's the difference between a team feeling steamrolled and a team feeling accountable.
- **The unresolved question is stated, with a working assumption.** Priya didn't wait for clarity
and didn't manufacture it. Both are Director behaviors; waiting is the PM habit.
- **It fits on one page** for a group spanning three teams and an eighteen-month horizon.
---
## Example 2: Anti-Pattern — the horizon that didn't move
### Scenario
Six weeks earlier, Priya's I/O module team hit a supplier problem on a component for the
high-channel-count module. Her instinct — a good PM instinct — was to dig in: get on calls with the
supplier, evaluate substitutes, rebuild the schedule.
### Director response (weak)
She spent three weeks largely inside that problem. She was effective; the substitute part was
found and the schedule was rebuilt.
**What it cost:** during those three weeks, the tooling decision for the module housing went
unmade. The tooling vendor's August slot was given to another customer. The module — the gate on
End of Sale — slipped a full quarter, which pushed the EOS date the company had already committed
to manufacturing.
### What the framework says
- **Altitude:** she operated at feature/team level on a component sourcing problem her senior PM
could have run with support
- **Horizon:** she spent a sprint-shaped three weeks while the decision that mattered lived on a
14-week lead time. **The horizon failure is the expensive one.** In SaaS, three weeks of Director
attention in the weeds costs three weeks. Here it cost a year, because the thing she wasn't
watching had a lead time.
- **Hero Syndrome trigger:** a hard, concrete, solvable problem — exactly the kind that feels like
contribution — appearing while the important decision was ambiguous and slow.
### Stronger response
Assign the supplier problem to the senior PM with a clear escalation trigger. Spend her own time on
the tooling decision, because it is the one with an external clock she can't restart and no one
below her has the authority to make.
---
## What this example teaches that the SaaS one can't
- **Horizon is set by your supply chain, not your calendar.** A Director's planning horizon in
hardware is defined by the longest external lead time in the portfolio, and it doesn't wait for
the Director to grow into it.
- **Hero Syndrome is more expensive when lead times are long.** The same three weeks of misplaced
attention costs three weeks in SaaS and a year here.
- **"What's fixed vs. what's ours" is the most valuable line in the cascade.** When a date is
genuinely immovable, saying so — and naming what the team *does* control — is what keeps a team
accountable rather than resentful.
@@ -0,0 +1,111 @@
# Company Research Example — Life Sciences
A research brief on **Brightwater Biologics**, a clinical-stage biotech, prepared by a PM ahead of
an interview for a product role on its Trialpath platform team.
**Why this domain changes the research:** a biotech's public record is unusually rich — trial
registries, regulatory filings, conference presentations — and unusually misleading if you read it
as a software company. Revenue may be zero by design. Headcount growth may signal a trial phase,
not commercial traction. The signals mean different things.
---
```markdown
## Executive Insights Company Profile: Brightwater Biologics
### 1. What This Entity Is
Clinical-stage biotech developing therapies in a specialty indication. Pre-commercial:
no approved product, no product revenue. Funded by venture rounds and a partnership.
~180 employees, roughly a quarter in clinical operations.
[FACT — company site, public funding announcements]
### 2. How It Makes Money
It does not, yet. Capital comes from investors and partnership milestones. The economic
model is: spend years generating evidence, then either commercialize or license.
[FACT — funding disclosures]
**Why this matters for a PM:** every internal product competes with the trial program
for the same capital. "Is this worth building" is really "is this worth NOT spending on
the program." [INFERENCE]
### 3. Who It Serves
Two distinct populations. Externally: patients, investigators, regulators.
Internally, for Trialpath: study coordinators at sites, CRA monitors, CRO partners.
The internal users do not work for Brightwater — sites are independent organizations.
[FACT — trial registry lists participating sites]
### 4. What It Sells or Delivers
Currently: evidence. The deliverable is a data package that supports a regulatory
submission. Trialpath exists to make producing that package faster and cleaner.
[INFERENCE from the trial-stage profile]
### 5. Key Product Lines
- Lead therapeutic program (the company's actual product)
- Trialpath, internal platform — recently the subject of external licensing interest
[FACT — job postings reference "platform productization"]
### 6. Business and Market Pressures
- Trial timelines drive everything; a delayed readout moves the funding calendar
- Site staffing shortages slow enrollment industry-wide
- Small-sponsor funding is rate-sensitive
[FACT/INFERENCE mix — see sources]
### 7. Competitors and Alternatives
For the therapy: other programs in the indication. For Trialpath: incumbent trial
platforms, and the status quo of spreadsheets plus email at small sponsors.
[INFERENCE — no public statement on platform competitors]
### 8. Important Trends and Risks
- Decentralized trial designs shifting coordinator workflows
- AI-assisted document review maturing, regulatory acceptability unsettled
- **Concentration risk:** one lead program. A trial setback is a company event, and the
platform team's funding is downstream of it [INFERENCE — high confidence]
### 9. Strategic Signals
- **Hiring:** three product roles posted in six months, all platform-facing, none
therapeutic. Language emphasizes "multi-tenant" and "validation documentation"
[FACT — job postings, dated]
- **Leadership:** a VP Product hired last year from a trial software vendor, not from
pharma [FACT — public announcement]
- **Conference activity:** presentations focus on operational efficiency, not
clinical results — consistent with a program in an interim period [INFERENCE]
**Read together:** a hire from a software vendor, plus "multi-tenant" and "validation
documentation" in postings, plus operational-efficiency messaging, suggests Trialpath
productization is being seriously explored rather than idly considered. [INFERENCE —
three independent signals converging]
### 10. What This Means for Product Management
- You would be building for users employed by other organizations. Access is scheduled,
bounded, and mediated by site leadership
- Validation documentation is likely the gating work item, not a compliance follow-up
- The role's scope may hinge on a licensing decision that is not yours to make
- **Interview question worth asking:** "Is Trialpath a product, an internal tool, or
undecided — and who decides?" The answer defines the job
### 11. Sources and Confidence
- Company site, funding announcements, trial registry, job postings, conference agenda
— all public, all dated
- **Confidence: Medium-High** on structure and signals; **Low** on strategic intent,
which is inferred from hiring language rather than stated anywhere
- **Thin:** no public information on Trialpath's current scale or internal satisfaction
```
---
## What this example teaches that the SaaS one can't
- **Zero revenue is a finding, not a red flag.** Reading a clinical-stage biotech through a SaaS
lens produces "pre-revenue, high risk" and stops. The useful read is that capital allocation, not
revenue, is the tension every internal product lives inside.
- **Job postings did the heaviest lifting.** "Multi-tenant" and "validation documentation" in
postings for an *internal* tool is the strongest available signal that productization is real. No
press release said it.
- **Three weak signals converging beat one strong claim.** The hire, the posting language, and the
conference focus each mean little alone. Section 9 states the convergence explicitly and labels it
Inference.
- **Section 10 produced an interview question, not a summary.** "Is Trialpath a product, an internal
tool, or undecided — and who decides?" is the question the whole brief exists to surface.
- **The confidence section admits what it doesn't know.** Low confidence on strategic intent, and
"thin" on platform scale. A brief that claims uniform confidence across eleven sections hasn't
been read critically by its own author.
@@ -0,0 +1,135 @@
# Executive Onboarding Example — Life Sciences
The `sample.md` example follows a VP Product into a SaaS company. This one follows the same
playbook into **Brightwater Biologics**, a clinical-stage biotech whose product team builds
Trialpath, the platform its trial sites and monitors run on.
**Why the org shape changes the onboarding:** the product organization is not the company's main
event. The therapy program is. A product leader here has to establish what product work is *for*
before establishing how it should run — and the answer determines whether the role is real.
---
## Context
Marcus was hired as VP Product at Brightwater after eight years in enterprise SaaS. ~180 employees,
roughly a quarter in clinical operations, no approved product, no product revenue. He inherits a
team of four PMs and a platform two CRO partners have asked to license.
---
## Phase 0 (Before Day 1): Pre-Entry Checks
**Inputs gathered before accepting**
The five questions, and what the CEO's answers revealed:
- *First 90 days / first year?* — "Get Trialpath ready to sell." **Specific, and alarming.** Nobody
had assessed whether it could be sold.
- *All-stars?* — Named two PMs, both described in terms of responsiveness to clinical operations
rather than product outcomes. **Signal about what the org currently rewards.**
- *Gaps?* — "The team is reactive." Marcus noted this as a hypothesis to test, not a finding —
reactive teams are usually a structural symptom.
- *Constraints?* — Engineering capacity is shared with the trial data pipeline. **The real
constraint, stated plainly and early.**
- *Success at one year?* — "Three external customers on Trialpath."
**Risk signals identified**
- Success defined as an outcome (three customers) that depends on a regulatory gate nobody had
assessed — vendor-grade validation documentation
- Shared engineering with the trial program means every product decision is a capital allocation
decision against the company's actual mission
- No product leadership predecessor; the function was run out of clinical operations
**Decision**
Accepted — with one negotiated change: the one-year goal was restated as *"a validated,
sellable platform with a demonstrated pilot,"* not three signed customers. Marcus's reasoning:
he could commit to the work, not to a sales outcome gated by an unassessed regulatory question.
**Why this matters:** taking the original goal would have meant owning a number whose feasibility
nobody had established. The negotiation *was* the diligence.
---
## Phase 1 (Month 1): Diagnose
**Actions**
- 30-minute conversations with four PMs, the clinical ops director, the head of engineering, the
CFO, and — critically — two study coordinators at partner sites who use Trialpath daily
- Included site coordinators deliberately: they're the users, they don't work for Brightwater, and
no previous product leader had spoken to them
**Pattern signals (3+ independent sources)**
- Trialpath's roadmap is set by whichever clinical operations request is loudest that month
- "Validation documentation" surfaced in every engineering conversation and none of the leadership
ones
- Coordinators at both sites had built spreadsheet workarounds for the same workflow
**Single-source, held loosely**
- One PM's assertion that the CRO partners "will definitely sign." Incentive noted: he had sourced
the conversations.
**Things he wanted to fix and did not**
| What | Why it looks broken | What he didn't yet know |
|---|---|---|
| No roadmap process | Requests go straight to backlog | Whether that's dysfunction or a rational response to a trial program that genuinely reprioritizes |
| Team labeled "reactive" | Matches the CEO's account | Whether the structure permits anything else |
---
## Phase 2 (Month 2): Validate
- **Hypothesis: the team is reactive by disposition.** *Broke.* The PMs had twice attempted
quarterly planning; both times a trial timeline change invalidated it within weeks. **They're
responding rationally to genuine volatility.** The CEO's diagnosis was wrong, and Marcus now had
evidence rather than an opinion.
- **Hypothesis: validation documentation is a compliance task.** *Broke.* Regulatory confirmed it's
a prerequisite for selling to anyone, and no one had scoped it. **This is the gate on the CEO's
entire one-year goal.**
- **Unwritten strategy:** the company optimizes for the trial program, correctly. Product's real job
is to make trials run better; licensing is a possibility, not a mandate. Nobody had said this out
loud, and the stated goal implied the opposite.
---
## Phase 3 (Month 3): Act with Evidence
**Shared assessment (to CEO and team):**
- The team is not reactive by disposition — it's structurally unable to hold a quarterly plan
against trial volatility. Fixing it means changing the planning cadence, not the people
- Vendor-grade validation is the gate on external licensing, unscoped, and estimated at two
engineer-quarters
- Recommendation: **treat licensing as a funded pilot with a kill criterion, not a commitment.**
Assess validation first; decide after
**Changes underway (three, not twenty):**
1. Six-week planning cycles instead of quarterly, matching the volatility the team actually faces
2. Validation scoping as the first funded workstream
3. Standing monthly contact with two site coordinators — the users nobody was talking to
**People:** the PM described as an all-star was strong at clinical-ops responsiveness and had never
been asked for product judgment. Given the validation workstream as a stretch assignment.
---
## What this example teaches that the SaaS one can't
- **The Phase 0 negotiation was the highest-leverage act of the whole onboarding.** Restating the
one-year goal from a sales outcome to a delivery outcome prevented owning a number gated by an
unassessed regulatory question. That happened before day one.
- **The CEO's people diagnosis was wrong, and evidence — not diplomacy — resolved it.** "Reactive"
was structural. Acting on the CEO's framing in Month 1 would have targeted the wrong problem and
probably the wrong people.
- **The product org isn't the main event, and pretending otherwise fails.** Product's real job is to
make trials run better. Naming the unwritten strategy out loud reframed licensing from mandate to
option.
- **The users didn't work for the company.** Site coordinators had never been interviewed by a
product leader. In SaaS your users are a support ticket away; here reaching them is a deliberate
act that has to be built into the cadence.
@@ -0,0 +1,112 @@
# Jobs-to-be-Done Examples — Industrial
JTBD analysis from **Northfield Automation**, whose retrofit control systems keep aging production
lines running.
**The industrial twist:** the person doing the job and the person paying for it are different
people with different jobs. Analyze the wrong one and you build a product that demos well and gets
worked around on the floor.
---
## Example 1: Retrofit Control Platform (Good JTBD Analysis)
### The job performer: maintenance technician
**Functional Jobs:**
- Get a stopped line running again without making the fault worse
- Determine whether the fault is the controller, a sensor, the wiring, or the machine
- Replace the failed part without re-commissioning everything around it
- Finish the shift without a callback
**Emotional Jobs:**
- Feel competent rather than made to look slow by the tool
- Avoid the exposure of calling the OEM, which reads as "I couldn't fix it"
- Trust the equipment enough to sleep after a night shift
**Social Jobs:**
- Be the person on the crew who can fix anything
- Give the shift supervisor an honest answer to "how long?"
- Pass knowledge to the next tech the way it was passed to them
### The job performer: plant operations manager
**Functional Jobs:**
- Commit to delivery dates the plant can actually hit
- Decide whether to fund a controls refresh or defer it another year
- Attribute downtime to a cause specific enough to act on
**Emotional Jobs:**
- Feel confident defending a capital request with something better than anecdotes
- Stop feeling at the mercy of vendors who all claim the same fix
**Social Jobs:**
- Be seen by the plant manager as someone whose numbers hold up
- Not be the person who approved the upgrade that made things worse
---
### Pains
**Technician:**
- One fault light meaning seventeen things
- Diagnostics requiring software on a laptop that can't come to the panel
- Guessing wrong and losing two hours re-commissioning
- Being blamed for downtime they diagnosed correctly and fast
**Operations manager:**
- Downtime logged as duration and line number, with no cause
- Vendor claims that can't be verified before purchase
- Capital requests judged against anecdote
### Gains
**Technician:**
- Knowing which part failed before touching anything
- Swapping one module instead of a controller
- Not being phoned at 2am for the same fault twice
**Operations manager:**
- Downtime attributable to a cause, in a report
- A refresh decision defensible with plant data
---
## Why this analysis works
- **Two performers, analyzed separately.** They share a product and share almost no jobs. Merging
them produces "our customer wants reliability," which guides nothing.
- **The emotional jobs are the honest ones.** "Avoid the exposure of calling the OEM" explains
behavior that functional analysis can't — why a tech spends 40 minutes with a meter rather than
20 seconds on the phone.
- **The social job predicts adoption.** "Be the person who can fix anything" means a tool that makes
the tech look replaceable will be resisted no matter how well it performs. Position it as
amplifying expertise, not substituting for it.
- **The manager's job explains the sale.** Downtime attribution isn't a technician feature at all —
it's what turns a floor-level improvement into a funded purchase.
---
## Example 2: Bad JTBD Analysis (same product)
**Functional Jobs:**
- Reduce downtime
- Improve efficiency
- Increase productivity
**Emotional Jobs:**
- Feel confident in their equipment
**Social Jobs:**
- Be seen as a modern operation
**What breaks:**
- **"Reduce downtime" is an outcome, not a job.** Nobody wakes up hiring a product to reduce
downtime — they hire it to *find out which module failed* so the line restarts. The job is the
work being done; downtime is what improves if you do it well.
- **No performer named.** These could belong to the tech, the manager, the integrator, or the
plant manager. Since they belong to no one specific, they generate no design constraint.
- **"Feel confident in their equipment"** is a greeting card. Compare to "avoid the exposure of
calling the OEM," which tells you something you could build for.
- **It fits any industrial product ever sold**, which is the reliable signal that a JTBD analysis
has said nothing.
@@ -0,0 +1,96 @@
# PESTEL Analysis Example — Life Sciences
**Brightwater Biologics** runs multi-site clinical trials and builds **Trialpath**, the platform its
coordinators, monitors, and CRO partners use.
**Why this domain changes PESTEL:** in most markets, Legal and Political are background conditions.
Here they are the *product constraints* — they determine what can ship, to whom, and after what
documentation. A PESTEL that treats regulation as context rather than as design input has missed
the point.
---
```markdown
## PESTEL Analysis: Trialpath — Clinical Trial Operations Platform
### Political
- Public funding priorities for clinical research shift with administrations, moving trial
volume between therapeutic areas on a multi-year lag
- Cross-border data movement between trial sites is increasingly politically contested,
independent of the legal frameworks that formalize it
- **So what:** trial volume by therapeutic area is not something we forecast well. Platform
design should be therapeutic-area agnostic, and we should resist optimizing for the mix
we happen to serve today
### Economic
- Small-sponsor funding is rate-sensitive; a tightening cycle thins the segment we identified
as our best fit
- Site staffing costs rise faster than trial budgets, pushing sponsors toward
coordinator-efficiency tools
- CRO consolidation concentrates buying power in fewer, larger organizations
- **So what:** our target segment shrinks in exactly the conditions that make our value
proposition strongest. Plan for a smaller, more motivated market rather than a growing one
### Social
- Coordinator turnover at sites runs high, so institutional knowledge leaves regularly
- Patient expectations around participation convenience are rising, pushing decentralized
and hybrid trial designs
- Trust in clinical research varies sharply by community, affecting recruitment
- **So what:** high turnover makes "learnable in a day" a durable requirement, not a nice-to-have.
Any design that assumes an experienced coordinator degrades within a year
### Technological
- Electronic data capture is table stakes; differentiation has moved to workflow and integration
- AI-assisted document review is maturing, with unresolved questions about its acceptability
in regulated submissions
- Decentralized trial tooling is fragmenting into many point solutions
- **So what:** the AI opportunity is real and the acceptability question is unanswered. Build
where AI assists a human who remains accountable; avoid anything that would need to be
defended as an autonomous decision in a submission
### Environmental
- Site travel for monitoring visits is a growing reporting concern for large sponsors
- Sustainability reporting is entering vendor selection for enterprise buyers
- **So what:** remote monitoring capability has a second, non-obvious buyer rationale.
Low priority for our current segment, rising for the segment above it
### Legal
- Regulatory expectations for computerized systems in trials require validation
documentation from the vendor, not just the user
- Data protection regimes differ by jurisdiction and by trial, and both apply simultaneously
- Audit trail requirements are non-negotiable and shape data model decisions
- **So what:** **this is the gating category.** Vendor-grade validation documentation is the
entry ticket to selling at all — it is not a compliance task that follows a product decision,
it IS the product decision. Audit trail requirements constrain the data model before a
single feature is designed
```
---
## Assumptions this analysis exposed
- **We assumed our best segment was growing.** Economic analysis says it thins under exactly the
conditions that make us most valuable. That reframes the opportunity from "growth market" to
"small motivated market" — which changes what a sensible investment looks like.
- **We assumed AI document review was a roadmap question.** It's an acceptability question first,
and nobody has answered it. Building AI that assists an accountable human is safe; building AI
that decides is a bet on a regulatory position that doesn't exist yet.
- **We assumed validation documentation was a compliance workstream.** It's the gate. This single
finding reordered the roadmap.
---
## Why Legal carries the analysis here
In most PESTEL work, Legal is a paragraph acknowledging that laws exist. Here it produced the
constraint that determined the product's sequencing, its data model, and whether the business is
viable at all.
**The tell that you've done this right in a regulated domain:** at least one "so what" should
change something already on your roadmap. If every conclusion is "keep monitoring," you've written
a description of the industry rather than an analysis of your position in it.
**The trap on the other side:** treating every regulation as a blocker. Environmental here is
honestly low-priority for the current segment, and saying so is more useful than manufacturing
urgency to make the section feel complete. A PESTEL where all six categories are equally critical
is a PESTEL that hasn't prioritized.
@@ -0,0 +1,96 @@
# PoL Probe Examples — Industrial
Proof-of-Life probes from **Northfield Automation** during NFA-500 development.
**The industrial twist:** you can't ship a fake door to a plant floor. There's no feature flag, no
5% rollout, no "we'll revert if it goes badly." That makes cheap physical probes *more* valuable —
because the real experiment costs a tooling cycle and takes a year.
---
## ✅ Good: Task-Focused PoL Probe
**Hypothesis:** "A technician can identify which I/O slot faulted from the front panel in under 30
seconds, wearing work gloves, in plant lighting."
**Probe:** A printed card mounted at panel height showing the proposed front-panel layout. Nine
technicians at three sites were given a simulated fault ("slot 4 has failed — show me how you'd
know") and timed.
**Cost:** Two days, a color printer, and site visits already scheduled for other work.
**What we learned:**
- 7 of 9 identified the slot in under 20 seconds. Two took over a minute — both at the site with
the dimmest panel lighting
- All nine reached for the card with a gloved hand and none attempted a precise touch
- Four asked "does it tell me *what* failed or just *where*?" — a question nobody on the team had
thought to answer
**What changed:** The touchscreen concept was dropped. Indicator height increased for low-light
legibility. A fault-type code was added beside the slot number, from a question we hadn't known to
ask.
**Why this is a good probe:**
- **It tested the riskiest assumption** — legibility under real conditions — not the easiest one
- **It cost nothing and could fail cheaply.** Two of nine failing was a finding, not a setback
- **It ran where the work happens.** The same card tested in an office would have passed easily and
taught nothing
- **It surfaced an unknown unknown.** The "what failed, not just where" question came from putting a
real artifact in front of a real user
---
## ✅ Good: Feasibility PoL Probe
**Hypothesis:** "Module failures show a detectable precursor signal in I/O data before they fail."
**Probe:** Pulled signal logs preceding 50 known module failures from the service database. One
engineer, one week, no new code.
**What we learned:** Precursor patterns appeared in **9 of 50**.
**What changed:** The predictive-maintenance epic was killed after three weeks and roughly zero
engineering cost.
**Why this is a good probe:** it used data that already existed to answer a question that would
otherwise have consumed two quarters. In a domain where a false "your line is about to stop" alert
destroys trust faster than no alert at all, being wrong 80% of the time was disqualifying — and the
probe found that out before anyone wrote firmware.
---
## ❌ Bad: The Probe That Couldn't Fail
**Hypothesis:** "Customers want better diagnostics."
**Probe:** Showed twelve customers a slide deck of the proposed NFA-500 diagnostics and asked
whether they'd find it valuable.
**Result:** Twelve of twelve said yes.
**Why this is a bad probe:**
- **Nobody says no to "would you like a better version of a thing you complain about."** The result
was determined before the probe ran
- **It tested enthusiasm, not behavior.** A tech saying "that'd be great" in a conference room tells
you nothing about whether they can read it at panel height with gloves on
- **It had no failure condition.** A probe that cannot come back negative isn't a probe, it's a
presentation
- **It confirmed a decision already made**, which is the most expensive form of research — it buys
false confidence at the price of real learning
**The fix:** the printed-card probe above. Same question, four days, and two of nine failed — which
is exactly what made it worth running.
---
## What hardware changes about probing
| | Software | Hardware / industrial |
|---|---|---|
| Cheapest real test | Ship to 5% and measure | Paper, cardboard, or existing data |
| Failure cost | Revert the flag | Tooling cycle, possibly a year |
| Where to test | Wherever users are | **Where the work physically happens** |
| Riskiest assumption | Usually demand | Often physical: legibility, reach, environment |
The discipline is identical; the artifacts are cheaper and more physical, and the site visit is
non-negotiable. A probe run in an office tests an office.
@@ -0,0 +1,105 @@
# Example: Diagnose a Metric Drop
**Prompt:** "Weekly active users dropped 8% last week. What do you do?"
## Why this example exists
The `improve-youtube.md` example covers an **improvement** question, where the work is
segmentation and opportunity selection. This is a **diagnostic** question, and it rewards a
different shape entirely.
Candidates who pattern-match a diagnostic prompt onto the improvement framework — segment users,
list pain points, propose features — fail it, because the interviewer isn't asking what to build.
They're asking whether you can tell a real problem from an artifact before you spend a team's
quarter on it.
**The structural difference:** an improvement question opens outward toward opportunity. A
diagnostic question narrows inward toward cause. Solutions are the last thing you reach for, and
often you shouldn't reach for them at all.
---
## Condensed Walkthrough
### 1. Clarify — establish the metric is real before explaining it
"Before I theorize, four quick questions:
1. **Is the measurement trustworthy?** Any logging changes, SDK releases, or analytics
migrations that week?
2. **What's the comparison?** Down 8% versus the prior week, the same week last year, or trend?
3. **How is WAU defined here**, and did the definition change?
4. **Is the drop uniform** or concentrated in a platform, geography, or cohort?"
**Why this comes first:** a meaningful share of real-world metric drops are instrumentation
changes, holiday effects, or definitional shifts. Explaining an artifact with a product theory is
the single most common way to fail this question — and in the real job, the most expensive.
*Assume for this answer: instrumentation is clean, it's an 8% week-over-week drop against a flat
trend, and it's concentrated in Android users in one region.*
### 2. Narrow before hypothesizing
That concentration eliminates most global explanations immediately.
Still live:
- An Android release regression
- A regional outage, carrier, or network issue
- A regional competitor or pricing move
- A local event — holiday, disruption, seasonality
- An app store or distribution change in that market
Ruled out by the concentration itself: pricing changes elsewhere, global algorithm changes,
company-wide seasonality.
**The discipline:** the shape of the drop does more elimination work than any hypothesis list. Get
the shape first.
### 3. Order hypotheses by cheapness to test, not by likelihood
| Hypothesis | How to test | Time |
|---|---|---|
| Android release regression | Compare app versions; check crash rate by version | Minutes |
| Regional outage | Check error rates and CDN status for the region | Minutes |
| App store / distribution change | Check install and update rates | Hours |
| Competitor or pricing move | Market check, app store rankings | A day |
| Local event | Calendar, news for the region | A day |
"I'd start with the top two because they're minutes of work, not because they're most likely.
Cheap tests first is how you avoid spending a week on the interesting hypothesis."
### 4. Reason to a conclusion
*Assume: crash rate on Android 4.2.1, released that week, is 6x baseline in that region only, and
the region's dominant device family maps to a specific OS version.*
"That's the cause: a release regression, device-specific, which is why it looked regional. The
fix is a rollback or patch, and the follow-up is why device coverage in that market wasn't in the
release test matrix."
### 5. Say what you'd do about the process, not just the bug
- **Immediate:** roll back 4.2.1 for affected devices; confirm recovery
- **Short-term:** add that device family to pre-release testing
- **Systemic:** alert on crash rate *by version and region*, not aggregate — the aggregate never
moved enough to page anyone
**This is the part that separates answers.** The bug is a day's work. The missing alert is why an
8% drop took a week to notice, and it will cause the next one too.
---
## What to notice
- **No feature was proposed.** The prompt sounded like a product question and was an engineering
regression. Reaching for the improvement framework would have produced a confident, irrelevant
answer.
- **Clarifying questions did real work.** "Is it uniform or concentrated?" eliminated more
hypotheses than any subsequent reasoning step.
- **Hypotheses were ordered by test cost, not plausibility.** This is the habit interviewers are
actually probing — it's what makes someone fast in the job rather than merely insightful.
- **The answer ended on the detection gap.** Aggregate alerting missed a concentrated failure.
Naming the systemic fix shows you think past the incident.
- **It stayed a diagnosis throughout.** Compare with `improve-youtube.md`, which is right to spend
most of its length on segmentation and opportunity. Same interviewer, same hour, opposite shape —
and using the wrong one is the failure mode this pair exists to teach.
@@ -0,0 +1,82 @@
# Recommendation Canvas Example — Life Sciences
An AI investment decision at **Brightwater Biologics** for **Trialpath**, the platform its
coordinators and monitors use to run clinical studies.
**Why this domain changes the AI decision:** the question isn't only "does the model work well
enough." It's "who is accountable when it's wrong, and can that answer survive an audit." A model
at 94% accuracy is excellent in most products and potentially unusable here, depending entirely on
what happens with the other 6%.
---
```markdown
## AI Query Triage Canvas — Trialpath
### The Opportunity
Monitors raise data queries against site-entered trial data. Sites currently receive them as an
undifferentiated queue and work them in arrival order. Median resolution is 11 days; the queries
that actually block database lock are indistinguishable from routine ones until someone reads
each one.
### Target Outcome
Reduce median resolution time for lock-blocking queries from 11 days to under 4, without
increasing the rate of queries closed incorrectly.
### Hypotheses
1. **If** queries are ranked by likely impact on database lock, **then** sites will resolve
blocking queries first, **because** the current queue gives them no basis to choose
2. **If** ranking is presented as a suggestion with the reason shown, **then** coordinators will
use it, **because** an unexplained ordering in a regulated workflow gets ignored
3. **If** a human remains the decision-maker on every query, **then** the capability stays within
existing validation scope
### AI Suitability
- **Good fit:** ranking and suggestion over a corpus of historical queries with known outcomes
- **Poor fit:** auto-closing queries, auto-editing data, or anything that writes to the
trial record without a person
- **The line:** the model orders work. A human does the work and is accountable for it.
### Risks
| Risk | Severity | Mitigation |
|---|---|---|
| Model deprioritizes a blocking query | **High** | Ranking never hides queries; full queue always visible and sortable |
| Coordinators over-trust the ranking | Medium | Show the reason for each rank; no confidence scores presented as certainty |
| Regulatory acceptability of AI in workflow | **High** | Suggestion-only, human-in-loop, decisions and rationale in the audit trail |
| Training data reflects historical bias | Medium | Validate ranking against a held-out set from sites not in training data |
| Model drift as protocols change | Medium | Quarterly re-evaluation; documented retraining trigger |
### Positioning
Not "AI-powered trial management." Internally and externally: *"Trialpath suggests which queries
to work first, and shows you why."* The claim is deliberately small and defensible.
### Kill Criteria
- If held-out ranking accuracy on blocking queries falls below 80%, stop
- If validation scope must expand to a full computerized-system revalidation, stop and reassess
cost against the 7-day benefit
- If coordinators in pilot ignore the ranking more than half the time, the problem isn't ranking
### Decision
**Proceed to a two-site pilot**, suggestion-only, with the validation impact assessment completed
before any model touches production data.
```
---
## What this canvas teaches that the SaaS one can't
- **"AI suitability" has a hard line, and it's drawn on accountability.** The model *orders* work;
a human *does* it. That single distinction keeps the capability inside existing validation scope
— and if it were crossed, the entire cost structure of the feature changes.
- **Two risks are rated High, and neither is model accuracy.** Deprioritizing a blocking query and
regulatory acceptability both outrank raw performance. In most products accuracy is the headline
risk; here it's a mid-tier input to a bigger question.
- **The mitigation for the top risk is a design constraint, not a model improvement.** "Ranking
never hides queries" means the worst case degrades to today's behavior. Designing the failure
mode to be the status quo is often stronger than making the model better.
- **Positioning is deliberately unimpressive.** "Suggests which queries to work first, and shows
you why" is a smaller claim than the marketing instinct wants — and it's the version that
survives an auditor asking what the system does.
- **A kill criterion targets the mechanism, not just the metric.** If coordinators ignore the
ranking, the problem isn't ranking quality — it's that ordering wasn't the constraint. That
criterion prevents a year of model tuning against the wrong bottleneck.
@@ -0,0 +1,115 @@
# Skill Authoring Example
A real build from this repository: `lifecycle-play-advisor`, the Interactive skill that diagnoses
whether a fading product should be extended, replaced, or retired.
**Why this one:** it shows the Preflight phase doing the work it exists to do — nearly stopping the
build — and it shows the Component + Interactive pairing decision that this repo prefers over one
large skill.
---
## Phase 1 — Preflight
```bash
./scripts/find-a-skill.sh --mode trigger "product lifecycle decline extend replace"
# -> No matching skills found
```
Then a wider check, because "no matches" often means the query was wrong rather than the gap real:
```bash
grep -rl "Product Life Cycle\|product lifecycle\|PLC" skills/*/SKILL.md
# -> company-intel, eol-readiness-advisor, eol-process (references only, no PLC skill)
```
**Overlap found:** `organic-growth-advisor` and `ansoff-matrix` both cover growth options.
**Why not extend one of those?** They ask *where does growth come from.* This asks *what do we do
with this specific product at the decline inflection.* Different question, different entry point,
different user state. The honest boundary: when the answer here is "extend," it hands off to
`organic-growth-advisor` for which growth path the variant serves.
**Type decision:** the source material contained both a framework (PLC grid, three plays, seven
replacement hazards, a risk register) and a diagnostic flow. That's the classic signal for the
repo's preferred pairing:
- `product-lifecycle-plays`**Component**, the reusable framework
- `lifecycle-play-advisor`**Interactive**, the guided triage
**Rejected alternative:** one large skill holding both. It would have buried the framework inside a
conversation flow, making it unusable as reference for someone who just wants the hazard list.
---
## Phase 2 — Generate draft
Written by hand. The source was workshop material with a strong internal structure already, so
`add-a-skill.sh` would have flattened it. **Rule of thumb:** use the generator when source material
is unstructured, write by hand when the structure is the value.
---
## Phase 3 — Tighten
What the review pass changed:
- **Added a "when NOT to use."** The first draft only said when to use it, which meant it read as
applicable to every product question.
- **Added "nothing yet" as a real outcome.** The draft always produced a play. A mature product
throwing off margin doesn't need a project, and a skill that always recommends action is a skill
that generates busywork.
- **Made the extension test mandatory rather than optional.** Extension is the cheapest play and the
most frequently skipped; leaving the test optional guaranteed it would be skipped.
- **Added two conversation-flow examples** (Interactive skills substitute these for the usual
worked artifacts) — one where the recommendation contradicts the user's stated plan, because a
triage skill that only confirms is worthless.
- **Cut a "Benefits of Lifecycle Thinking" section.** Pure filler. Nothing under it changed a
decision.
---
## Phase 4 — Validate
```bash
bash scripts/test-a-skill.sh --smoke skills/lifecycle-play-advisor/SKILL.md
# PASS conformance
# PASS linked skill paths
# PASS smoke checks
python3 scripts/check-skill-triggers.py
# All skills pass trigger-readiness checks.
```
**A real failure caught here on the sibling workflow skill:** `eol-process` failed smoke with
*"section 'Application' is empty."* Cause: an H2 phase header (`## Phase 1: Decide`) directly
following `## Application`, so the parser saw no content between them. Fix: a lead-in paragraph,
the same way `discovery-process` does it.
---
## Phase 5 — Integrate
- README: new "Aging products" nav block, plus the pack table row
- `marketplace.json`: entries added by hand, alphabetically — **nothing automates this**, and
`check-library-drift.py` is what catches you forgetting
- Cross-references added in both directions with `eol-readiness-advisor`,
`organic-growth-advisor`, and `ansoff-matrix`
- `generate-catalog.py`, then `build-dist.sh`, then `check-dist-freshness.py`
- `validate-skills.sh` — 77 skills, no drift
---
## What to notice
- **Preflight nearly killed the build, and that's the point.** Two existing growth skills looked
like overlap. Articulating the boundary — *where does growth come from* versus *what do we do with
this product* — is what justified a new skill and produced the cross-references.
- **The pairing decision came from the source material's shape**, not from preference. Framework
plus flow means Component plus Interactive.
- **Tightening removed a section and added a non-answer.** "Nothing yet" as a valid outcome is worth
more than most features, because it stops the skill from manufacturing work.
- **The validator caught a structural bug no human review would have.** An empty-looking Application
section is invisible when you're reading the file top to bottom.
- **Integration is the phase people skip.** Marketplace, catalog, and dist are all hand-triggered.
A skill that exists in `skills/` but nowhere else is a skill nobody will find.
+126
View File
@@ -0,0 +1,126 @@
# Skill Authoring Worksheet
A per-skill tracker for the five phases, with the commands and the definition of done. Quality
checks at the bottom.
## Provenance
Dogfooded from this repo's own authoring standards — `CLAUDE.md`, `CONTRIBUTING.md`, and the
validation scripts under `scripts/`.
**Note:** this is a meta-skill about building skills in this repository, so it ships one worked
example rather than the usual two business domains. A second "domain" here would be artificial.
---
## The tracker
```markdown
## Skill Build: [skill-name]
**Type:** [component / interactive / workflow]
**Theme:** [existing theme, or "new — justify below"]
**Source material:** [file, transcript, prompt, or "original"]
---
### Phase 1 — Preflight
- [ ] Searched for overlap: `./scripts/find-a-skill.sh --keyword "<topic>"`
- Overlapping skills found: [list, or none]
- **Decision:** [new skill / extend an existing one / merge]
- **Why not extend an existing skill?** [answer — this is the question most often skipped]
**Type rationale:**
- Component = one artifact or template
- Interactive = 3-5 adaptive questions + numbered options
- Workflow = multi-phase orchestration
- **Chosen because:** [reason]
---
### Phase 2 — Generate draft
- [ ] `./scripts/add-a-skill.sh research/<file>.md` (from source material)
- [ ] `./scripts/build-a-skill.sh` (guided prompts)
- [ ] Written by hand
---
### Phase 3 — Tighten
- [ ] Clear "when to use" — and a "when NOT to use"
- [ ] At least one concrete example; two from different business domains where the skill isn't
definitionally single-domain
- [ ] `template.md` if the skill produces an artifact — output schema as a copy/paste fill-in,
with quality checks
- [ ] At least one explicit anti-pattern, with its consequence named
- [ ] No filler, no vague consultant-speak
- [ ] Pedagogy intact — explanation is load-bearing, not decoration
---
### Phase 4 — Validate
```bash
./scripts/test-a-skill.sh --skill <skill-name> --smoke
python3 scripts/check-skill-metadata.py skills/<skill-name>/SKILL.md
python3 scripts/check-skill-triggers.py
```
- [ ] Conformance passes
- [ ] Linked skill paths resolve
- [ ] Smoke checks pass with no new warnings
- [ ] Trigger audit clean (`description` contains a literal "Use when")
---
### Phase 5 — Integrate
- [ ] Added to the correct README category table and nav block
- [ ] Added to `.claude-plugin/marketplace.json`**hand-maintained**, alphabetical
- [ ] Cross-referenced from related skills' References sections
- [ ] `python3 scripts/generate-catalog.py`
- [ ] `bash scripts/build-dist.sh`
- [ ] `python3 scripts/check-dist-freshness.py`
- [ ] `bash scripts/validate-skills.sh` — the CI path
---
### Frontmatter check
- [ ] `name` matches the folder name exactly
- [ ] `description` ≤200 chars, contains a literal "Use when"
- [ ] `intent`, `type` present
- [ ] `theme`, `best_for`, `scenarios`, `estimated_time` present
- [ ] YAML values containing colons are quoted
```
---
## Quality checks
**Preflight**
- [ ] You genuinely searched before building. Duplicate skills are the most common waste in this repo
- [ ] "Why not extend an existing skill?" has a real answer
**Anatomy**
- [ ] Sections in order: Purpose, Input, Key Concepts, Application, Examples, Common Pitfalls,
References
- [ ] The Input section reads as invitation, never as a gate — "Works best with," plus reassurance
that arriving empty-handed is fine
- [ ] No bare `$ARGUMENTS` anywhere in the body (validation fails on it, and the stance is
deliberate)
**Pedagogy — the one that matters most here**
- [ ] Anti-patterns are present and explain the *consequence*, not just the mistake
- [ ] Examples show reasoning, not only output
- [ ] Nothing was cut purely to tighten copy. **Stripping learning scaffolding is a defect in this
repo, not an improvement**
**Workflow skills specifically**
- [ ] `## Application` has a lead-in paragraph before the first phase header — an H2 phase header
immediately after it makes smoke report the section as empty
**Integration**
- [ ] Marketplace entry added — nothing else adds it for you
- [ ] Catalog and dist regenerated, freshness check passing
@@ -0,0 +1,101 @@
# Stakeholder Identification Example — Industrial
**Initiative:** Northfield Automation is adding remote firmware update to the NFA-500. A controller
in a customer's panel can be updated from a service console hundreds of miles away.
---
## Step 1: Brainstorm (unfiltered)
Field service technicians · plant maintenance staff · plant operations managers · controls
engineers at integrators · the 8 channel partners · plant IT and OT security · Northfield firmware
engineering · Northfield service org · Regulatory (UL/CE) · Legal · insurers of customer plants ·
plant safety officers · customers running validated processes · the tooling vendor · competitors
---
## Step 2: Categorize
| Stakeholder | Ally | Audience | Influencer |
|---|---|---|---|
| Northfield field service | ✓ | ✓ | ✓ |
| Plant maintenance staff | | ✓ | ✓ |
| Plant operations managers | | ✓ | ✓ |
| Plant OT security | | ✓ | ✓ |
| Channel partners (8) | ✓ | ✓ | ✓ |
| Regulatory (UL/CE) | | | ✓ |
| Plant safety officers | | ✓ | ✓ |
| Validated-process customers | | ✓ | ✓ |
**The overlap that mattered:** channel partners are all three. They benefit (fewer support
escalations), they're affected (their service revenue includes site visits this feature removes),
and they influence what their customers adopt. **Ally and threatened party simultaneously.**
---
## Step 3: R/P/D
| Stakeholder | R | P | D | Notes |
|---|---|---|---|---|
| Regulatory body | — | ✓ | — | Listing impact determines whether this ships at all |
| Plant OT security | — | ✓ | — | Can refuse to open the network path, per site |
| Plant operations manager | — | ✓ | ✓ | Decides enrollment for their plant |
| Northfield VP Engineering | ✓ | — | ✓ | Funds and prioritizes |
| Channel partners | — | ✓ | — | Effectively gate adoption at accounts they service |
**Gap found:** **plant OT security** holds P at every single site and appeared eleventh in the
brainstorm. A remote update path is a network ingress into an operational-technology environment —
the exact thing OT security exists to refuse. Missing them wouldn't have delayed launch; it would
have made the feature unadoptable one site at a time, invisibly.
---
## Step 4: Equity lens
- **Who bears cost without power?** **Plant maintenance staff.** A controller on their line can now
change state initiated by someone off-site. If an update goes wrong at 2am, they are the ones
standing at the panel — and they have no say in enrollment.
- **Whose perspective is missing because we assumed someone represents them?** We assumed the
operations manager speaks for maintenance staff. On "who can change my equipment remotely," that's
not a safe assumption.
- **Third-degree affected?** Plant safety officers, who own the incident review if an update
contributes to an unplanned stop.
**Added:** plant maintenance staff and safety officers, both promoted from mentions to real
stakeholders.
---
## Step 5: Bias check
- **Who did we default to naming?** People inside Northfield, then the buyer. Seven of the first
ten names were ours or the person who signs.
- **Who was absent, and why?** OT security and safety officers — because we think of this as a
product feature and they think of it as a change to a controlled environment.
- **What did we assume?** That "the customer" is the operations manager. On this feature, OT
security can veto and maintenance staff bear the consequence.
---
## Step 6: Priority targets
| Name | Category | R/P/D | What we need to learn |
|---|---|---|---|
| Plant OT security | Audience + Influencer | P | What network path, authentication, and audit evidence they'd require before permitting ingress — and whether any would refuse outright |
| Plant maintenance staff | Audience + Influencer | — | What they need to trust a remote change: notification, veto, rollback visibility, or something else |
| Channel partners | Ally + Influencer | P | Whether removing site visits threatens their service revenue enough to slow adoption, and what would make it a win for them |
---
## What to notice
- **The gap test found the true blocker.** OT security holds Permission at every site and surfaced
eleventh. Nothing about the schedule would have flagged it; the R/P/D pass did.
- **The equity lens found the people who absorb the risk.** Maintenance staff live with the
consequences of a remote change and have no say in whether their plant enrolls.
- **A stakeholder is an ally and a threatened party at once.** Channel partners benefit and lose
revenue simultaneously. Naming both makes the third priority question honest — "what would make
this a win for them" rather than "how do we get them on board."
- **The bias pattern matches the SaaS example.** Both teams defaulted to builders and buyers, and
both missed a Permission-holder who could stop the work. That's the pattern the check exists to
surface, and it appears to be domain-independent.
@@ -0,0 +1,96 @@
# Stakeholder Identification Example — SaaS
**Initiative:** Fieldlight is adding a customer-facing arrival-window feature to Next Scheduling —
technicians' ETAs become visible to the end customer whose home or site they're visiting.
---
## Step 1: Brainstorm (unfiltered)
Dispatchers · field technicians · service business owners (our buyer) · the end customer receiving
the service · Fieldlight support · Fieldlight sales · CS · engineering · SMS/notification vendor ·
Legal · the technicians' union at two enterprise accounts · competitors · app store reviewers ·
insurance carriers for our customers · integrators who resell Fieldlight
---
## Step 2: Categorize
| Stakeholder | Ally | Audience | Influencer |
|---|---|---|---|
| Service business owners (buyer) | ✓ | ✓ | ✓ |
| Dispatchers | ✓ | ✓ | |
| Field technicians | | ✓ | ✓ |
| End customers | | ✓ | ✓ |
| Fieldlight support | | ✓ | ✓ |
| Legal | | | ✓ |
| Technicians' union (2 accounts) | | ✓ | ✓ |
| Notification vendor | | | ✓ |
**The overlap that mattered:** field technicians are an audience *and* an influencer. They don't buy
Fieldlight, but they tell their employer what's unusable — and a tracked-location feature is exactly
the kind of thing they escalate.
---
## Step 3: R/P/D
| Stakeholder | R | P | D | Notes |
|---|---|---|---|---|
| Service business owner | — | ✓ | ✓ | Decides adoption per account |
| Fieldlight CPO | ✓ | — | ✓ | Funds and prioritizes |
| Legal | — | ✓ | — | Location-data disclosure review |
| Notification vendor | ✓ | — | — | Delivery infrastructure |
| Technicians' union | — | ✓ | — | Effectively holds P at two enterprise accounts |
**Gap found:** Legal and the union both hold **P** and neither appeared in the first two minutes of
Step 1. They were added late — which is the finding. The team's default is to name people who build
and buy, not people who can stop it.
---
## Step 4: Equity lens
- **Who bears cost without power?** **Field technicians.** The feature makes their location visible
to a third party. They don't buy the product, can't opt out, and weren't consulted.
- **Whose perspective is missing because we assumed someone represents them?** We assumed the
business owner speaks for technicians. On a surveillance-adjacent feature, that assumption is
clearly wrong.
- **Third-degree affected?** End customers' household members, who may be home when a tracked
technician arrives.
**Added:** field technicians promoted from a passing mention to a priority stakeholder.
---
## Step 5: Bias check
- **Who did we default to naming?** Buyers and builders. The first eight names were all people who
pay us or work here.
- **Who was absent, and why?** Technicians and Legal. Technicians because they're not the buyer;
Legal because we think of them as a late gate rather than a stakeholder.
- **What did we assume?** That "the customer" means the business owner. Three different people in
this initiative could be called the customer.
---
## Step 6: Priority targets
| Name | Category | R/P/D | What we need to learn |
|---|---|---|---|
| Field technicians | Audience + Influencer | — | Where the line sits between "customer knows when I'll arrive" and "my employer tracks me all day" |
| Legal | Influencer | P | What disclosure and consent are required, and whether consent must come from the technician or the employer |
| Service business owners | Ally + Influencer | P, D | Whether they'd adopt if technicians push back, and whether they've promised customers this already |
---
## What to notice
- **The equity lens changed the plan.** Field technicians went from a footnote to a priority target,
and that single move probably prevented shipping a feature that gets escalated as surveillance.
- **The gap test earned its place.** Two P-holders were missed in the initial brainstorm. Both could
have blocked launch after build.
- **The bias check was specific.** "We default to buyers and builders" is actionable; "we should be
more inclusive" isn't.
- **Three priority targets, each with a real question.** "Where the line sits between knowing an ETA
and being tracked all day" is a research question. "Understand technician needs" is not.
@@ -0,0 +1,127 @@
# Stakeholder Identification Template
Six steps, one worksheet each. Quality checks at the bottom.
## Provenance
Adapted from `prompts/` in the
[product-manager-prompts](https://github.com/deanpeters/product-manager-prompts) repo.
---
## Step 1: Brainstorm without filtering
Four to six minutes, silent if in a group. Do not evaluate yet — evaluating during generation is
what produces a list of the same eight people every time.
```markdown
## Stakeholder Brainstorm: [Initiative]
Individuals, teams, organizations, and groups:
- [name or role]
- [name or role]
```
---
## Step 2: Categorize
A stakeholder can appear in more than one column. **The overlaps are the interesting part** — an
ally who is also a gatekeeper is a different relationship than either alone.
```markdown
| Stakeholder | Ally | Audience | Influencer |
|---|---|---|---|
| [who] | ✓ | | ✓ |
```
- **Allies** — actively support this, or benefit from its success
- **Audiences** — impacted by the outcome, directly or indirectly
- **Influencers** — shape decisions, opinion, or adoption without participating directly
---
## Step 3: R/P/D marking
```markdown
| Stakeholder | R (Resources) | P (Permission) | D (Decision) | Notes |
|---|---|---|---|---|
| [who] | budget/data/access | approval/sign-off | final say | |
```
**The gap test:** anyone holding **P** or **D** who wasn't in your Step 1 list is a gap that will
surface later as a blocked launch. Add them now and note that you missed them — the pattern of who
you forget is itself information.
---
## Step 4: Equity lens
```markdown
### Equity Lens
- Who experiences a significant consequence — financially, professionally, or personally?
- Who bears the product's costs or risks **without power to shape its design**?
- Whose perspective is missing because we assumed someone else represents them?
- Primary users? Secondary users? Affected in the third degree?
**Added by this lens:**
- [who, and what consequence they bear]
```
Stakeholders surfaced here usually land in Q1 of a stakeholder map — high impact, low power — and
are the ones most likely to be discovered late.
---
## Step 5: Bias and assumptions
```markdown
### Bias Check
- Who did we default to naming first? [answer]
- Who is absent, and why? [answer]
- What did we assume about who counts as a stakeholder? [answer]
```
Record the answers. They shape the research plan and recruitment strategy, not just this list.
---
## Step 6: Narrow to priority targets
Two or three. More than that isn't prioritization.
```markdown
### Priority Stakeholders
| Name | Category | R/P/D | What we need to learn |
|---|---|---|---|
| | | | |
```
Choose from:
- Highest-power decision-makers whose buy-in is required
- Highest-impact users whose needs are least understood
- Most likely blockers or skeptics
---
## Quality checks
**Generation**
- [ ] Step 1 ran without filtering — no one was excluded during brainstorm
- [ ] The list includes people outside your organization where relevant
**Coverage**
- [ ] Every P and D holder appears; any late additions are noted as gaps
- [ ] Overlaps between categories are marked rather than forced into one column
- [ ] The equity lens actually added someone. If it added nobody, it wasn't run honestly
**Honesty**
- [ ] The bias check names a real default, not "we were thorough"
- [ ] Someone who bears cost without power is on the list
**Prioritization**
- [ ] Two or three priority targets, not eight
- [ ] Each has a specific "what we need to learn," not "understand their needs"
- [ ] At least one is a likely skeptic or blocker
@@ -0,0 +1,92 @@
# Stakeholder Mapping Example — Industrial
**Initiative:** Northfield Automation's remote firmware update for the NFA-500.
Continues from the `stakeholder-identification` industrial example, which surfaced plant OT security
as a Permission-holder at every site.
---
## Grid 1: Power × Interest
| | **High Interest** | **Low Interest** |
|---|---|---|
| **High Power** | **Manage closely**<br>· Northfield VP Engineering<br>· Plant operations managers | **Keep satisfied**<br>· Regulatory (UL/CE)<br>· Northfield CFO |
| **Low Power** | **Keep informed**<br>· Northfield field service<br>· Channel partners | **Monitor**<br>· Plant OT security<br>· Plant maintenance staff<br>· Plant safety officers |
Read alone: co-design with ops managers and engineering, brief Regulatory, inform field service and
partners, ignore the rest.
---
## Grid 2: Impact × Power
| | **High Power** | **Low Power** |
|---|---|---|
| **High Impact** | **Q2**<br>· Plant operations managers<br>· **Plant OT security**<br>· Channel partners | **Q1 — elevate deliberately**<br>· **Plant maintenance staff**<br>· Plant safety officers |
| **Low Impact** | **Q4**<br>· Northfield CFO<br>· Regulatory (UL/CE) | **Q3**<br>· Notification/telemetry vendor |
---
## The comparison
| Stakeholder | Power×Interest | Impact×Power | Tension |
|---|---|---|---|
| **Plant OT security** | Monitor | **Q2** | Holds Permission at every site and is deeply affected. Low expressed interest only because they haven't been told a network ingress is coming |
| **Plant maintenance staff** | Monitor | **Q1** | A controller on their line changes state remotely; they stand at the panel when it goes wrong, with no say in enrollment |
| Plant safety officers | Monitor | **Q1** | Own the incident review if an update contributes to an unplanned stop |
| Regulatory | Keep satisfied | Q4 | High power, low impact — a gate, and correctly treated as one |
| Channel partners | Keep informed | **Q2** | Higher stakes than grid 1 suggests: the feature removes billable site visits |
**Q1 and misplaced-Q2 voices to elevate:**
- **Plant OT security** — the most consequential correction. Four conversations across pilot sites
*before* the design is fixed, on what network path, authentication, and audit evidence they would
require. They can refuse silently, site by site, and you'd never see a single "no."
- **Plant maintenance staff** — what they need to trust a remote change: notification, veto,
rollback visibility.
- **Plant safety officers** — what evidence they'd need in an incident review.
**The mismatch that matters most:** plant OT security. Grid 1 puts them in *Monitor* — low power,
low interest. Grid 2 puts them in **Q2**, high impact and high power, because they hold Permission
at every site. Acting on grid 1 alone would have shipped a feature that quietly fails to be
adoptable, one refused network request at a time, with no visible rejection anywhere.
---
## Engagement plan
| Stakeholder | Quadrant | Engagement | Cadence | Owner |
|---|---|---|---|---|
| Plant OT security | Q2 | Design consultation on network path and audit evidence | 4 sessions pre-spec | PM + Eng lead |
| Plant maintenance staff | Q1 | Interviews, then review of the notification/veto design | Twice pre-launch | PM |
| Plant safety officers | Q1 | Review of the incident-evidence trail | Once pre-launch | PM |
| Plant operations managers | Q2 | Co-design, pilot cohort | Biweekly | PM |
| Channel partners | Q2 | Commercial conversation on service-revenue impact | Monthly | Channel lead |
| Regulatory | Q4 | Listing impact assessment | At spec, at launch | Regulatory |
---
## Quadrant migration
| Stakeholder | From | To | Why | How |
|---|---|---|---|---|
| Plant OT security | Monitor (P×I) | Manage closely | They are a silent veto at every site; involving them early converts a blocker into a specification | Bring them into design before the network path is fixed, and give them the audit evidence they ask for |
| Channel partners | Keep informed | Manage closely | The feature removes billable visits; unaddressed, they slow adoption at accounts they service | Commercial conversation about what replaces that revenue, before launch, not after |
---
## What to notice
- **The most dangerous stakeholder was in *Monitor*.** OT security has no interest in your product
and absolute authority over whether it can reach a plant. A single grid puts them last; the
comparison puts them first.
- **A silent veto is worse than a loud one.** OT security doesn't escalate — they decline a firewall
change. Adoption just never materializes, and nobody can point at a rejection. That's what makes
the mismatch expensive rather than merely wrong.
- **Channel partners moved quadrants for commercial reasons, not process ones.** The feature removes
revenue they currently earn. The engagement is a commercial conversation, not a briefing.
- **Q1 here is about consequence, not convenience.** Maintenance staff and safety officers absorb
the risk of a remote change to equipment they're responsible for. Neither has a vote in enrollment.
- **The same pattern as the SaaS example, different stakes.** Both initiatives put the most affected,
least powerful group in *Monitor* on the first grid. Running the second grid is what corrected it
in both cases — which suggests the mismatch is structural, not a one-off oversight.
@@ -0,0 +1,88 @@
# Stakeholder Mapping Example — SaaS
**Initiative:** Fieldlight's customer-facing arrival windows in Next Scheduling — technician ETAs
become visible to the end customer.
Continues from the `stakeholder-identification` SaaS example, which surfaced field technicians as a
priority stakeholder.
---
## Grid 1: Power × Interest
| | **High Interest** | **Low Interest** |
|---|---|---|
| **High Power** | **Manage closely**<br>· Service business owners (the buyer)<br>· Fieldlight CPO | **Keep satisfied**<br>· Legal<br>· Fieldlight CFO |
| **Low Power** | **Keep informed**<br>· Dispatchers<br>· Fieldlight support<br>· CS | **Monitor**<br>· Field technicians<br>· End customers<br>· Notification vendor |
Read alone, this grid says: co-design with business owners, brief Legal, keep dispatchers in the
loop, and largely ignore technicians and end customers.
---
## Grid 2: Impact × Power
| | **High Power** | **Low Power** |
|---|---|---|
| **High Impact** | **Q2**<br>· Service business owners<br>· Dispatchers | **Q1 — elevate deliberately**<br>· **Field technicians**<br>· **End customers** |
| **Low Impact** | **Q4**<br>· Fieldlight CFO<br>· Legal | **Q3**<br>· Notification vendor |
---
## The comparison
| Stakeholder | Power×Interest | Impact×Power | Tension |
|---|---|---|---|
| **Field technicians** | Monitor | **Q1** | Their location becomes visible to a third party. They have no power, low expressed interest — because nobody has told them |
| End customers | Monitor | **Q1** | The feature exists for them; they have no voice in its design |
| Legal | Keep satisfied | Q4 | High power, low impact — a gate, not a participant |
| Dispatchers | Keep informed | Q2 | Higher stakes than grid 1 implies — they field the calls when a window is missed |
**Q1 voices to elevate:**
- **Field technicians** — six interviews across three accounts, conducted without their employer in
the room. Employer-present interviews on a surveillance-adjacent feature produce agreement, not
information.
- **End customers** — five interviews recruited through two accounts, asking what window precision
they'd actually use versus what they'd say they want.
**The mismatch that matters most:** field technicians. Grid 1 says *Monitor.* Grid 2 says
**Q1 — the most affected, least powerful group in the initiative.** Acting on grid 1 alone would
have shipped a location-visibility feature without ever speaking to the people whose location it
makes visible.
---
## Engagement plan
| Stakeholder | Quadrant | Engagement | Cadence | Owner |
|---|---|---|---|---|
| Field technicians | Q1 | Research interviews, then a design review with 3 techs | Twice pre-launch | PM |
| End customers | Q1 | Concept test on window precision | Once pre-launch | Researcher |
| Service business owners | Q2 / Manage closely | Co-design, beta cohort | Biweekly | PM |
| Dispatchers | Q2 | Workflow walkthrough | Monthly | PM |
| Legal | Q4 / Keep satisfied | Disclosure and consent review | At spec and at launch | PM |
| Notification vendor | Q3 | SLA confirmation | Once | Eng lead |
---
## Quadrant migration
| Stakeholder | From | To | Why | How |
|---|---|---|---|---|
| Field technicians | Monitor (P×I) | Keep informed → consulted | They can kill adoption by escalating to their employer; consulting early converts a likely objection into design input | Two design reviews, plus naming their input in launch comms so the change is visible to them |
---
## What to notice
- **The two grids disagreed about the most important stakeholder.** That disagreement is the entire
reason to run both. One grid would have produced a confident, wrong plan.
- **Low interest was a symptom, not a preference.** Technicians showed low interest because nobody
had told them. Treating low interest as informed disinterest is how Q1 stakeholders stay invisible
until launch.
- **The Q1 elevation method is specific and slightly awkward.** "Without their employer in the room"
is the detail that makes the research worth doing.
- **Legal sits in Q4 and that's correct.** High power, low impact — a gate to satisfy, not a
participant to co-design with. Not every powerful stakeholder needs deep engagement.
- **The migration names a mechanism.** Two design reviews plus visible credit in launch comms, not
"build a relationship."
+108
View File
@@ -0,0 +1,108 @@
# Stakeholder Mapping Template
Two grids, then the comparison that makes running both worthwhile. Quality checks at the bottom.
## Provenance
Adapted from `prompts/` in the
[product-manager-prompts](https://github.com/deanpeters/product-manager-prompts) repo.
---
## Grid 1: Power × Interest — how to engage
```markdown
## Power × Interest: [Initiative]
| | **High Interest** | **Low Interest** |
|---|---|---|
| **High Power** | **Manage closely** — co-design, frequent touchpoints<br>· [who] | **Keep satisfied** — exec briefings, strategic framing<br>· [who] |
| **Low Power** | **Keep informed** — demos, newsletters, transparency<br>· [who] | **Monitor** — light touch<br>· [who] |
```
---
## Grid 2: Impact × Power — whose voice to elevate
```markdown
## Impact × Power: [Initiative]
| | **High Power** | **Low Power** |
|---|---|---|
| **High Impact** | **Q2** — impacted and empowered; manage closely<br>· [who] | **Q1** — impacted but marginalized; **elevate deliberately**<br>· [who] |
| **Low Impact** | **Q4** — gatekeepers; manage the relationship<br>· [who] | **Q3** — monitor, minimal investment<br>· [who] |
```
**Impact is not power.** A frontline support agent has high impact and low power. An executive two
levels removed has high power and low impact. Collapsing them into one axis is what makes a single
grid misleading.
---
## The comparison — why you ran both
```markdown
### Grid Comparison
| Stakeholder | Power×Interest | Impact×Power | Tension |
|---|---|---|---|
| [who] | Monitor | **Q1** | Low interest, high impact — they don't know this is coming |
| [who] | Manage closely | Q4 | High power, low impact — engaged but not affected |
**Q1 voices to elevate:** [who, and how you'll reach them]
**The mismatch that matters most:** [the one stakeholder whose two placements
disagree most, and what you'll do about it]
```
**The most common and most costly mismatch:** *Monitor* on Power×Interest and *Q1* on Impact×Power.
That's someone deeply affected who has no power and hasn't engaged — usually because nobody told
them. The first grid alone says ignore them. The second says they'll bear the consequences.
---
## Engagement plan
```markdown
| Stakeholder | Quadrant | Engagement | Cadence | Owner |
|---|---|---|---|---|
| | | [co-design / brief / inform / consult] | | |
```
---
## Quadrant migration (optional)
For stakeholders you intend to *move* rather than merely serve.
```markdown
| Stakeholder | From | To | Why | How |
|---|---|---|---|---|
| [who] | Keep satisfied | Manage closely | Their sponsorship unlocks budget | Bring them into design review |
```
Migration is a deliberate strategy, not a hope. If you can't name the *how*, you're not migrating
anyone.
---
## Quality checks
**Both grids**
- [ ] Both were actually built — a single grid hides the mismatch that matters
- [ ] Nobody was placed by seniority as a proxy for power
- [ ] Impact was judged by consequence borne, not by attention paid
**The comparison**
- [ ] Every stakeholder appears on both grids
- [ ] At least one genuine tension is named. If both grids agree everywhere, one was copied
- [ ] Q1 (high impact, low power) is populated — an empty Q1 usually means you looked only at
people with titles
**Action**
- [ ] Q1 voices have a specific elevation method, not "gather feedback"
- [ ] Every engagement has a named owner and a cadence
- [ ] Any migration names a concrete mechanism
**Honesty**
- [ ] Someone in *Monitor* who is genuinely high-impact has been reconsidered
- [ ] The plan is executable by the people named, at the cadence named
@@ -0,0 +1,73 @@
# User Story Map Example — Industrial
A story map for **Northfield Automation's** NFA-500 commissioning experience — the work a systems
integrator does to get a controller installed, configured, and running on a customer's line.
**The industrial twist:** the backbone spans days and sites, not minutes and screens. Some steps
happen in a shop, some in a plant, and some at 2am. And release slices are constrained by physical
delivery — you can't ship half a controller.
---
```markdown
## User Story Map: NFA-500 Commissioning
### Backbone (integrator's workflow, left to right)
Specify -> Configure in shop -> Install on site -> Commission -> Hand off -> Support
### Walking Skeleton (release 1 — the thinnest path that works end to end)
| Specify | Configure | Install | Commission | Hand off | Support |
|---|---|---|---|---|---|
| Select I/O modules for channel count | Build config on a laptop | Mount in panel with standard kit | Verify each I/O point | Print point list for plant | Read fault codes at panel |
### Release 2 — reduce rework
| Specify | Configure | Install | Commission | Hand off | Support |
|---|---|---|---|---|---|
| Validate module mix against panel space | Import config from a previous job | Verify wiring before power-up | Auto-test all points in sequence | Generate handoff doc | Export fault history |
### Release 3 — scale across jobs
| Specify | Configure | Install | Commission | Hand off | Support |
|---|---|---|---|---|---|
| Quote generator from line survey | Config templates by machine type | Guided install checklist | Remote witness for sign-off | Plant training mode | Remote firmware update |
---
### Detail under one backbone step: Commission
**Verify each I/O point** (R1)
- Toggle output and confirm at the device
- Trigger input and confirm at the controller
- Record pass/fail per point
**Auto-test all points in sequence** (R2)
- Run the full point list unattended
- Flag failures with slot and point number
- Produce a signed test record
**Remote witness for sign-off** (R3)
- Customer engineer observes the test remotely
- Test record signed without a second site visit
```
---
## What this map teaches that the SaaS one can't
- **The walking skeleton is genuinely thin, and it's still a real job.** Release 1 commissions a
controller manually, point by point, with a printed list. Slow, and it works end to end — which
is the test of a walking skeleton. A SaaS map can slice thinner; here the floor is "the line runs."
- **Release slices follow economics, not screens.** R2 targets rework (the expensive failure in
commissioning), R3 targets scale across jobs. Neither is a feature grouping.
- **One backbone step spans two locations and two organizations.** "Commission" happens on the
customer's floor, performed by an integrator, witnessed by a plant engineer. Mapping it as a
single actor's task would have hidden the sign-off step entirely — which is where R3's value is.
- **The last column is where the product lives longest.** Support runs for a decade after
commissioning ends. Story maps that stop at "hand off" systematically under-serve the phase with
the most cumulative user-hours.
- **Remote witness (R3) is a workflow change disguised as a feature.** It removes a site visit from
the customer's engineer, not the integrator's. Mapping across both actors is what made that
visible.
@@ -0,0 +1,104 @@
# User Story Splitting Examples — Industrial
Splitting oversized stories on **Northfield Automation's** NFA-500 platform.
**The industrial twist:** the usual tempting split — frontend/backend, or firmware/console — is
especially wrong here, because a firmware-only slice ships nothing a customer can use and a
console-only slice has nothing to talk to. Worse, firmware releases are expensive and infrequent, so
a bad split can strand a half-feature in the field for a quarter.
---
## Example 1: Splitting by Workflow Steps
**Original Story:**
```markdown
As a field service technician, I want to manage firmware across my installed base
so that units stay current without site visits.
```
Too big: spans enrollment, visibility, updating, and rollback.
**Split:**
1. **See firmware version** for each enrolled unit in the service console
2. **Enroll a unit** in remote management during commissioning
3. **Push an update** to one enrolled unit during a maintenance window
4. **Push to a group** of units on the same schedule
5. **Roll back automatically** when an update fails mid-apply
**Why this works:** each slice is independently useful. Slice 1 alone answers "which units are
behind?" — a question techs ask weekly — and it ships without touching firmware at all.
**The sequencing trap:** slice 5 looks like error handling to defer. It cannot be. Slice 3 must not
ship without it, because a failed update on an un-rolled-back controller stops a production line.
**In this domain the failure path is part of the walking skeleton, not a follow-up.**
---
## Example 2: Splitting by Business Rule
**Original Story:**
```markdown
As a technician, I want the controller to refuse unsafe operations
so that I cannot accidentally stop a running line.
```
**Split by rule:**
1. Refuse firmware push when the line is **running**
2. Refuse firmware push when the unit reports an **active fault**
3. Refuse configuration change when the unit is in a **safety-interlocked state**
4. Allow **override with explicit confirmation** for units in maintenance mode
**Why this works:** each rule is independently testable and independently valuable. Rule 1 alone
prevents the most likely accident.
**Note on rule 4:** an override is a separate story on purpose. Bundled into rules 1-3, "refuse
unless overridden" gets built as one permissive path and the refusal becomes advisory. Split out,
the refusal ships strict first and the override arrives as a deliberate decision with its own
review.
---
## Example 3: Splitting by Hardware Variant
A split that has no clean SaaS equivalent.
**Original Story:**
```markdown
As a technician, I want fault isolation on the front panel
so that I know which module failed.
```
**Split by variant:**
1. Fault isolation on the **4-slot base unit** (the highest-volume configuration)
2. Fault isolation on the **8-slot expanded unit**
3. Fault isolation for **third-party modules** in a mixed configuration
**Why this works:** slice 1 covers the majority of the installed base and can ship on the existing
panel hardware. Slice 2 needs a display change. Slice 3 depends on data third parties may not
expose — genuinely risky, and worth isolating so it can't sink the first two.
**The trap this avoids:** "support all configurations" as one story means the hardest variant sets
the timeline for the easiest, and the highest-volume customers wait on an edge case.
---
## ❌ The Split to Avoid: By Component
**Tempting split:**
1. Firmware: detect and report slot-level faults
2. Console: display fault data
3. Panel: add slot indicators
**Why this is wrong:**
- **No slice delivers anything alone.** Firmware that reports to nothing, a console with no data,
indicators with nothing driving them
- **Nothing is demonstrable** until all three land, so you learn nothing until you've spent
everything
- **It's especially costly here.** Firmware release windows are infrequent; shipping slice 1 alone
means a firmware revision in the field that does nothing observable, and you'll need another
revision to make it useful
- It splits by **who does the work**, not by what a user gets — the most common splitting mistake in
any domain, and the most expensive one in this one
**The fix:** Example 3's variant split. Every slice crosses firmware, console, and panel together
for a narrower set of hardware — thin in scope, complete in function.