docs(qfd,quality-house): make quality-house.md own §3 matrix and §4 roof
Drop the duplicated 13x15 strength matrix and 15x15 roof tables from qfd.md; the same data already lives in quality-house.md's TikZ source. qfd.md §3/§4 keep the narrative reading (priority list, conflict list) and point to quality-house.md for the cells and basement sums. Both files' regenerate/maintenance notes flipped to reflect the new contract.
This commit is contained in:
62
docs/qfd.md
62
docs/qfd.md
@@ -14,9 +14,11 @@ with the v0.2–v1.0 trajectory ([README](../README.md),
|
||||
glossary at [`../CONTEXT.md`](../CONTEXT.md).
|
||||
|
||||
Format inspired by the classic House of Quality, kept compact. Strength
|
||||
weights: **9** strong, **3** medium, **1** weak, blank none. A TikZ
|
||||
rendering of §1–§4 (plus a guessed competitor perception zone) lives in
|
||||
[`quality-house.md`](quality-house.md).
|
||||
weights: **9** strong, **3** medium, **1** weak, blank none. The §3
|
||||
matrix and §4 roof — plus a guessed competitor perception zone — live
|
||||
in [`quality-house.md`](quality-house.md); this file owns the WHAT/HOW
|
||||
catalogues (§1, §2), the narrative reading of the numbers (§3, §4), and
|
||||
the downstream sections (§5–§8).
|
||||
|
||||
---
|
||||
|
||||
@@ -70,26 +72,11 @@ shows what "better" looks like (↑ higher, ↓ lower, → fixed).
|
||||
|
||||
## 3. House of Quality — WHATs × HOWs
|
||||
|
||||
Reading: row × column cell is how strongly the function (H) advances the
|
||||
requirement (W). Importance at the bottom is `Σ(weight × strength)` — the
|
||||
weighted vote on which functions deserve the most engineering attention.
|
||||
|
||||
| | H1 lat | H2 area | H3 cad | H4 boot | H5 soak | H6 push% | H7 push s | H8 dura | H9 heap | H10 bin | H11 stk | H12 wifi | H13 mA | H14 mod | H15 build |
|
||||
| ------- | :-----: | :-----: | :-----: | :-----: | :-----: | :------: | :-------: | :-----: | :-----: | :-----: | :-----: | :------: | :----: | :-----: | :-------: |
|
||||
| W1 (10) | **9** | 9 | 3 | | 3 | | | | 1 | | 1 | | | | |
|
||||
| W2 (9) | | | | | | **9** | 3 | | 9 | | | 9 | | | |
|
||||
| W3 (10) | | | | | | | | **9** | | | | | | | |
|
||||
| W4 (7) | | | | | | 3 | | | | | | 3 | | 1 | |
|
||||
| W5 (6) | | | | **9** | | | | | | 3 | | | | | |
|
||||
| W6 (9) | 3 | | 3 | | **9** | 3 | | 3 | 9 | | 3 | 3 | | | |
|
||||
| W7 (8) | 3 | 3 | 3 | | | | | | | | | | 3 | 1 | |
|
||||
| W8 (7) | 1 | 9 | **9** | | | | | | | | | | | | |
|
||||
| W9 (8) | | | | | | | | | | 1 | 1 | | | **9** | 3 |
|
||||
| W10 (5) | | | | | | | | | | 3 | | | 1 | 3 | 1 |
|
||||
| W11 (4) | | | | | | | | | | | | | **9** | | |
|
||||
| W12 (5) | | | | | | 1 | | 3 | | | | | | 3 | |
|
||||
| W13 (7) | | | | | | | | | 3 | | | | | | |
|
||||
| **Σ** | **148** | **177** | **144** | **54** | **111** | **134** | **27** | **132** | **193** | **41** | **45** | **129** | **65** | **117** | **29** |
|
||||
The matrix (row × column = how strongly function H advances requirement
|
||||
W) and its Σ row — the weighted vote `Σ(weight × strength)` on which
|
||||
functions deserve the most engineering attention — live in
|
||||
[`quality-house.md`](quality-house.md). The Σ totals quoted below are
|
||||
from its basement row.
|
||||
|
||||
### Top engineering priorities (from importance)
|
||||
|
||||
@@ -129,25 +116,10 @@ before the runtime decision does.
|
||||
|
||||
The roof shows where pushing one function pushes another the wrong way.
|
||||
Classical QFD single-character symbols: **`◎`** strong reinforcement,
|
||||
**`○`** mild reinforcement, **`×`** mild conflict, **`⊗`** strong conflict.
|
||||
|
||||
| | H1 | H2 | H3 | H4 | H5 | H6 | H7 | H8 | H9 | H10 | H11 | H12 | H13 | H14 | H15 |
|
||||
| ------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| **H1** | — | ◎ | × | | ○ | | | | | | | | × | | |
|
||||
| **H2** | | — | ◎ | | | | | | | | | | ○ | | |
|
||||
| **H3** | | | — | | | | | | | | | | ○ | | |
|
||||
| **H4** | | | | — | | | | | | × | | | | | |
|
||||
| **H5** | | | | | — | ○ | | ○ | ⊗ | | | | | | |
|
||||
| **H6** | | | | | | — | ○ | | ⊗ | | | ◎ | | | |
|
||||
| **H7** | | | | | | | — | | × | | | ◎ | | | |
|
||||
| **H8** | | | | | | | | — | | | | | | | |
|
||||
| **H9** | | | | | | | | | — | ⊗ | | | | | |
|
||||
| **H10** | | | | | | | | | | — | | | | | ⊗ |
|
||||
| **H11** | | | | | | | | | | | — | | × | | |
|
||||
| **H12** | | | | | | | | | | | | — | | | |
|
||||
| **H13** | | | | | | | | | | | | | — | | |
|
||||
| **H14** | | | | | | | | | | | | | | — | × |
|
||||
| **H15** | | | | | | | | | | | | | | | — |
|
||||
**`○`** mild reinforcement, **`×`** mild conflict, **`⊗`** strong
|
||||
conflict. The 15×15 roof matrix lives in
|
||||
[`quality-house.md`](quality-house.md); the cells that actually shape
|
||||
the design are called out below.
|
||||
|
||||
### Conflicts that actually shape the design
|
||||
|
||||
@@ -396,8 +368,10 @@ tall edit region and is not load-bearing.
|
||||
- When a spike returns numbers, update §6's "Target" or "Watched on"
|
||||
columns — this is the doc that _should_ feel out of date if measured
|
||||
reality drifts from estimates.
|
||||
- The WHATs change rarely; the HOWs change with each release; the
|
||||
matrices are recomputed when either side changes.
|
||||
- The WHATs (§1) change rarely; the HOWs (§2) change with each release.
|
||||
When either changes, re-score the matrix and recompute the basement Σ
|
||||
in [`quality-house.md`](quality-house.md); then check the §3 priority
|
||||
list and §4 conflict list here still match the new picture.
|
||||
|
||||
[ADR-001]: adr.md#adr-001-language-and-runtime--rust-on-esp-idf-rs-std
|
||||
[ADR-002]: adr.md#adr-002-ui-strategy--custom-widgets-on-embedded-graphics-not-ratatui
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
# Quality House
|
||||
|
||||
Visual rendering of [`qfd.md`](qfd.md) — the same 13 WHATs × 15 HOWs as a
|
||||
classical House of Quality. The roof carries function-vs-function
|
||||
correlations from §4; the basement carries v0.1 targets (§2) plus the
|
||||
weighted-vote sums and relative weights from §3.
|
||||
The 13 WHATs × 15 HOWs House of Quality. The roof carries function-vs-
|
||||
function correlations; the basement carries v0.1 targets (mirrored from
|
||||
[`qfd.md`](qfd.md) §2) plus the weighted-vote sums
|
||||
(`Σ = Σ(W weight × cell strength)`) and rounded relative weights. The
|
||||
narrative reading of these numbers lives in `qfd.md` §3 (priority list)
|
||||
and §4 (conflict list).
|
||||
|
||||
`qfd.md` is authoritative — this file lags it. Regenerate when the matrix
|
||||
or roof changes; if numbers diverge, trust `qfd.md`.
|
||||
This file is the authoritative source for the matrix cells, the roof
|
||||
correlations, and the basement Σ + relative weights. WHATs (§1) and HOWs
|
||||
(§2) are mirrored here from `qfd.md`; if those diverge, trust `qfd.md`.
|
||||
|
||||
Out of scope here: §5 component mapping (would need a second house),
|
||||
§6 critical performance budget (already a curated rank), §7 tradeoffs
|
||||
@@ -589,17 +592,24 @@ picture.
|
||||
|
||||
## Regenerating
|
||||
|
||||
When `qfd.md` §1–§4 change, re-derive:
|
||||
The matrix cells (`\node[qfdrel/{S,M,W}]`), roof symbols (`C-i-j` slots),
|
||||
and basement Σ + Rel% are native to this file — re-score directly in the
|
||||
TikZ source, then update the §3 priority list and §4 conflict list in
|
||||
`qfd.md` to match the new picture.
|
||||
|
||||
When `qfd.md` §1 or §2 changes:
|
||||
|
||||
1. Importance column → §1 weight column.
|
||||
2. HOW titles + targets → §2 (v0.1 target column).
|
||||
3. Relation cells → §3 matrix strengths (9 → `S`, 3 → `M`, 1 → `W`).
|
||||
4. Roof symbols → §4 (◎→`++`, ○→`+`, ×→`−`, ⊗→`−−`).
|
||||
5. Basement Σ + Rel% → §3 bottom row, divided by the new total.
|
||||
6. Perception scores are **not** derived from `qfd.md` — they live only in
|
||||
this file. Update them when (a) a competitor ships a relevant change,
|
||||
(b) measurement replaces a guess, or (c) a WHAT is added/removed in
|
||||
§1. Each score should keep its one-line rationale in the table above.
|
||||
2. HOW titles + v0.1 targets → §2 target column.
|
||||
3. Recompute basement Σ for any HOW whose column changed: per-cell
|
||||
contribution = `(W weight) × (cell strength: 9 / 3 / 1 / 0)`.
|
||||
4. Recompute relative weight: each Σ ÷ total Σ × 100, rounded to integer
|
||||
percent.
|
||||
|
||||
Perception scores are **not** derived from `qfd.md` — they live only in
|
||||
this file. Update them when (a) a competitor ships a relevant change,
|
||||
(b) measurement replaces a guess, or (c) a WHAT is added/removed in §1.
|
||||
Each score keeps its one-line rationale in the table above.
|
||||
|
||||
If a renderer rejects the `tikz` fence, the file is still readable as
|
||||
source — the placement comments name each WHAT, HOW, and cell. The
|
||||
|
||||
Reference in New Issue
Block a user