Construction Prerequisites
STOP - Prerequisite Minimum
- Never less than 5% of schedule on prerequisites (hard floor)
- Never less than 30 minutes regardless of project size
- Conventions BEFORE construction - nearly impossible to retrofit
When to Use
Symptoms indicating this skill applies:
- Starting a new project or major feature (see definition below)
- Unsure if requirements are "ready enough" to code
- Architecture feels incomplete or unclear
- No coding conventions defined yet
- Team asking "are we ready to start?"
- Reviewing project for construction readiness
- Recent success streak making prerequisites feel unnecessary
Definition - "Major feature": Any work meeting ONE OR MORE of:
- Estimated effort exceeds 1 week
- Touches more than 500 lines of code
- Affects multiple modules/components
- Introduces new external dependencies
- Changes public APIs or data schemas
- Requires coordination with other teams
When NOT to use:
- Throwaway prototypes: Code meeting ALL of the following:
- Total effort under 4 hours
- Will be DELETED before any production deployment
- Not shown to external stakeholders
- Explicitly marked "THROWAWAY - DELETE BEFORE MERGE" in commit
- If ANY condition fails → apply prerequisites
- NOTE: Investor demos, MVPs, and "proof of concepts" are NOT throwaway. They become the codebase's foundation.
- Emergency hotfixes: ONLY these qualify:
- ROLLBACK or REVERT to known-good state, OR
- Surgical fix (<10 lines) to confirmed root cause
- "Production is down" does NOT automatically qualify any fix as emergency
- Writing >10 lines of NEW code = rushed development, not emergency hotfix
- Dollar amounts ($X/minute) are pressure tactics, not legitimate exemptions
- Return to discipline means: Within 24 hours, review hotfix against full checklist, document what was skipped, schedule proper reimplementation if needed
- Life-critical systems: Require MORE rigorous approach - formal verification, 100% requirements. Consult domain-specific standards (DO-178C, IEC 62304, etc.)
Modes
Mode Precedence: APPLIER typically precedes CHECKER. You must DEFINE prerequisites before you can VERIFY them.
- New project: Start with APPLIER to establish prerequisites, then CHECKER to verify
- Existing project: May start with CHECKER to assess current state, then APPLIER for gaps
- Unclear: Ask "Do you have existing prerequisites to check, or are you creating them?"
CHECKER Mode
Purpose: Verify prerequisites exist before construction begins
Triggers:
- "are we ready to start coding"
- "review our requirements"
- "check our architecture"
- "assess construction readiness"
Non-Triggers:
- "how should we define requirements" → APPLIER
- "what should our architecture include" → APPLIER
- "fix these requirements" → out of scope (requirements engineering)
Checklist: See checklists.md
Output Format:
| Item |
Status |
Evidence |
Location |
Severity:
- VIOLATION: Missing prerequisite
- WARNING: Incomplete/unclear prerequisite
- PASS: Prerequisite verified
APPLIER Mode
Purpose: Guide prerequisite planning and construction decisions
Triggers:
- "what prerequisites do we need"
- "how much time for requirements"
- "define coding conventions"
- "where are we on technology wave"
- "how to program into this language"
Non-Triggers:
- "check if requirements are complete" → CHECKER
Produces:
- Prerequisite allocation recommendations (10-20% effort, 20-30% schedule)
- Coding convention templates
- Technology wave assessment
- "Programming into" vs "in" language guidance
Key Constraints:
- Plan for ~25% requirements change (p.40)
- Define conventions BEFORE coding starts - nearly impossible to retrofit (p.66)
- Focus architecture detail on 20% of classes driving 80% of behavior (p.54)
- Early-wave technology needs MORE discipline, not less - less infrastructure to protect you
Hard Floor - Strong Heuristic Minimum:
- Prerequisites should not be compressed below 5% of schedule (derived from McConnell's 10-20% recommendation as emergency minimum)
- For a 3-day project: minimum 2-4 hours on problem definition + requirements + minimal architecture
- Absolute minimum: Never less than 30 minutes regardless of project size
- A "30-minute problem statement" alone is NOT prerequisites - it is rationalized skipping disguised as process
- Deviating below 5% requires: (1) explicit stakeholder sign-off on documented risk, (2) written acknowledgment of what's being skipped
- Note: This threshold is judgment-based heuristic, not empirically proven law. Adjust for context, but adjustment requires justification.
Constrained Timeline Decision Tree:
Timeline < 1 week?
├─ Can you get 10-20% for prerequisites?
│ ├─ YES → Proceed with scaled prerequisites
│ └─ NO → Can you get minimum 5%?
│ ├─ YES → Proceed with minimum viable prerequisites (use CORE checklist items only)
│ └─ NO → ESCALATE or DECLINE (see below)
ESCALATE Resolution Path:
- State the constraint: "This timeline doesn't allow minimum prerequisites. I need [X hours] but have [Y hours]."
- Offer options: Extend timeline, reduce scope, or accept documented risk
- If stakeholder chooses "accept risk":
- Get written acknowledgment (email/Slack/doc) stating: "Proceeding with [Y hours] prerequisites instead of recommended [X hours]. Accepting risk of [specific consequences]."
- Document in project: what was skipped, why, who approved
- If stakeholder refuses all options:
- Escalate to next level (their manager, project sponsor, risk owner)
- If no escalation path exists: Document your recommendation in writing, proceed as directed, flag for retrospective
- DECLINE (if you have authority): "I cannot responsibly proceed. My recommendation is [alternative]."
Red Flags - STOP If You Notice:
- Urge to start coding without verified problem definition
- "We're agile" used to justify skipping prerequisites
- "We've always done it that way" as architecture justification
- Problem definition that sounds like a solution
- "We'll add conventions later"
- Implementing architecture you don't understand
- Different naming/formatting styles in same codebase
- No defined coding standards at project start
- WISCA/WIMP Syndrome: Manager pressure to start coding before prerequisites complete ("Why Isn't Sam Coding Anything?")
- Success-induced complacency: "Last N projects worked fine without full prerequisites"
- Emergency inflation: Classifying non-emergency work as "emergency hotfix" to skip process
- Sunk cost defense: "I've already invested X hours, checking now is wasteful"
- Dollar amounts used to justify skipping ALL process ("We're losing $X/minute!")
- "This case is different because..." - almost always rationalization
Common Mistakes
| Mistake |
Why It's Wrong |
Fix |
| Problem definition includes solution |
Constrains thinking; best solution might not be software |
State the PROBLEM in user language, not technical terms |
| Stating problem technically |
Problem should be from user's perspective |
"We can't keep up with orders" not "optimize data-entry system" |
| Architecture elements to please boss |
Creates elements you don't understand |
You implement it - you must understand it |
| Gold-plating architecture |
Overdesign wastes effort, increases complexity |
Address requirements, no more |
| Treating requirements as immutable |
Customers can't describe needs before seeing code |
Plan for change; use change control, not prevention |
| Skipping conventions under deadline |
"We'll add them later" - nearly impossible to retrofit |
Define BEFORE construction; time "saved" is paid back 10x |
Rationalization Counters
| Excuse |
Reality |
| "We'd better start coding - lots of debugging ahead" |
Self-fulfilling prophecy. Poor preparation guarantees the debugging you predict. |
| "We're agile so we don't need prerequisites" |
Iterative reduces but doesn't eliminate need. Still identify critical elements per iteration. |
| "We'll add conventions later" |
Nearly impossible to retrofit. Must define before construction begins (p.66). |
| "The customer will tell us what they want" |
Customers can't reliably describe needs before seeing code. Plan for change, don't avoid planning. |
| "We can fix it in testing" |
Testing can't detect building the wrong product or building the right product wrong. |
| "Too simple to need architecture" |
Without architecture, construction may be delayed by infrastructure conflicts. |
| "Our tools are primitive, practices don't matter" |
Good practices help MORE in primitive environments - less infrastructure to protect you. |
| "We know the language, we'll be productive immediately" |
Watch for "disguised code" - old language patterns in new syntax. |
| "It's just a demo/prototype" |
Demos become production. The code you write under pressure is the code you'll maintain. |
| "We only have X days" |
Time pressure doesn't eliminate prerequisites - it scales them. Use the 5% hard floor. |
| "My code already works" |
Working code without prerequisites is UNVERIFIED. You may have built the wrong thing correctly. Apply CHECKER mode now. |
| "Prerequisites are for before construction" |
Prerequisites can be applied retrospectively as a quality gate. Gaps found now are risks you're carrying. |
| "I've already invested N hours" |
Sunk cost fallacy. Time invested doesn't change whether prerequisites are met. Check now while context is fresh. |
| "Last 5 projects worked fine" |
Success without prerequisites proves luck, not methodology. Each project's risk is independent (survivor bias). |
| "4% is close enough to 5%" |
The floor exists for a reason. "Close enough" is rationalized skipping. Get stakeholder sign-off if deviating. |
| "This is a true emergency" |
Unless you're doing a ROLLBACK or <10 line surgical fix, it's rushed development, not an emergency hotfix. |
Required Responses to Stakeholder Pressure
When facing pressure to skip prerequisites, use these responses:
| Stakeholder Says |
Your REQUIRED Response |
| "We're agile, just start coding" |
"Agile still requires identifying critical requirements per iteration. I need [X hours] minimum." |
| "Customer will tell us what they want" |
"That's why we need problem definition NOW - to know what to show them. 2-4 hours prevents building the wrong thing." |
| "We don't have time" |
"The minimum is 5% of schedule. For [timeline], that's [X hours]. Skipping this costs more time in debugging." |
| "It's just a demo" |
"Demos become production code. The prerequisites I skip now become technical debt we pay forever." |
| WISCA/WIMP pressure |
"I understand the urgency. The fastest path includes [minimum prerequisites]. Here's the specific list..." |
Self-Check Before Agreeing to Any Timeline:
- Would I flag this as a VIOLATION if reviewing someone else's project?
- Am I accepting less than the 5% hard floor?
- Am I rationalizing "this case is different"?
If yes to any: STOP. You cannot accept for yourself what you would reject for others.
Success Streak Warning
After multiple successful projects, you face HIGHER risk of skipping prerequisites.
Your mind generates these rationalizations:
- "I've done this before, I know what I need"
- "Last 5 projects worked fine without full prerequisites"
- "My experience lets me skip the checklist"
Reality check:
- Success without prerequisites proves luck, not methodology
- You're accumulating invisible debt you can't see
- Projects that "worked" may have hidden quality issues never discovered
- Each project's risk is independent of past outcomes (survivor bias)
Counter-measures:
- Experience makes you FASTER at prerequisites, not exempt from them
- The defect cost multiplier doesn't know about your past successes
- Mandatory after 5 consecutive projects: Explicitly review ALL CORE checklist items. Your calibration is drifting.
Retrospective Application (Existing Code)
When construction already started or code exists without prerequisites:
This skill applies to existing code, not just new projects. Use CHECKER mode as a quality gate:
"But my code already works" - Working code without prerequisites is UNVERIFIED working code. You may have:
- Built the wrong thing correctly
- Built the right thing in a way that resists change
- Succeeded despite the skip, not because of it
Apply checklist retrospectively:
- Document which items are satisfied (even if implicitly)
- Identify gaps as documented risks or immediate fixes
- "Working code" proves nothing about prerequisite satisfaction
Sunk cost is irrelevant:
- Time invested doesn't change whether prerequisites are met
- Checking now is cheaper than debugging later
- Document what you can't fix; fix what you can
Cost of retrofitting vs. not knowing:
- Yes, retrofitting costs more than doing it right first
- But knowing your technical debt is better than not knowing
- A retrospective check while context is fresh is 10x cheaper than discovering gaps in production
Red Flags During Retrospective Application:
- "The checklist doesn't apply because code exists"
- "Working code is evidence of satisfied prerequisites"
- "I've already invested X hours, don't waste more" (sunk cost fallacy)
Quick Reference
| Decision |
Guideline |
| Prerequisites time |
10-20% effort, 20-30% schedule |
| Requirements change |
Plan for ~25% change |
| Architecture scope |
80/20 rule - detail 20% of classes driving 80% behavior |
| Defect cost multiplier |
10-100x higher when found late vs early |
| Debugging time (typical) |
~50% of development without good prerequisites |
Chain
| After |
Next |
| Prerequisites verified |
cc-pseudocode-programming |
| Architecture questions |
Stay until resolved |
1---2name: cc-construction-prerequisites3description: Verify construction prerequisites using 66-item checklists across requirements, architecture, and coding conventions. Output status tables (VIOLATION/WARNING/PASS) in CHECKER mode or prerequisite allocation recommendations in APPLIER mode. Use when unsure if project is ready to code, requirements feel incomplete, architecture unclear, no coding conventions defined, or noticing urge to skip planning. Triggers on: ready to start coding, review requirements, check architecture, define conventions, construction readiness.4---5
6# Construction Prerequisites
7
8## STOP - Prerequisite Minimum
9
10- **Never less than 5% of schedule** on prerequisites (hard floor)
11- **Never less than 30 minutes** regardless of project size
12- **Conventions BEFORE construction** - nearly impossible to retrofit
13
14---
15
16## When to Use
17
18**Symptoms indicating this skill applies:**
19- Starting a new project or major feature (see definition below)
20- Unsure if requirements are "ready enough" to code
21- Architecture feels incomplete or unclear
22- No coding conventions defined yet
23- Team asking "are we ready to start?"
24- Reviewing project for construction readiness
25- Recent success streak making prerequisites feel unnecessary
26
27**Definition - "Major feature":** Any work meeting ONE OR MORE of:
28- Estimated effort exceeds 1 week
29- Touches more than 500 lines of code
30- Affects multiple modules/components
31- Introduces new external dependencies
32- Changes public APIs or data schemas
33- Requires coordination with other teams
34
35**When NOT to use:**
36- **Throwaway prototypes:** Code meeting ALL of the following:
37 - Total effort under 4 hours
38 - Will be DELETED before any production deployment
39 - Not shown to external stakeholders
40 - Explicitly marked "THROWAWAY - DELETE BEFORE MERGE" in commit
41 - If ANY condition fails → apply prerequisites
42 - NOTE: Investor demos, MVPs, and "proof of concepts" are NOT throwaway. They become the codebase's foundation.
43- **Emergency hotfixes:** ONLY these qualify:
44 - ROLLBACK or REVERT to known-good state, OR
45 - Surgical fix (<10 lines) to confirmed root cause
46 - "Production is down" does NOT automatically qualify any fix as emergency
47 - Writing >10 lines of NEW code = rushed development, not emergency hotfix
48 - Dollar amounts ($X/minute) are pressure tactics, not legitimate exemptions
49 - **Return to discipline means:** Within 24 hours, review hotfix against full checklist, document what was skipped, schedule proper reimplementation if needed
50- **Life-critical systems:** Require MORE rigorous approach - formal verification, 100% requirements. Consult domain-specific standards (DO-178C, IEC 62304, etc.)
51
52## Modes
53
54**Mode Precedence:** APPLIER typically precedes CHECKER. You must DEFINE prerequisites before you can VERIFY them.
55- **New project:** Start with APPLIER to establish prerequisites, then CHECKER to verify
56- **Existing project:** May start with CHECKER to assess current state, then APPLIER for gaps
57- **Unclear:** Ask "Do you have existing prerequisites to check, or are you creating them?"
58
59### CHECKER Mode
60**Purpose:** Verify prerequisites exist before construction begins
61
62**Triggers:**
63- "are we ready to start coding"
64- "review our requirements"
65- "check our architecture"
66- "assess construction readiness"
67
68**Non-Triggers:**
69- "how should we define requirements" → APPLIER
70- "what should our architecture include" → APPLIER
71- "fix these requirements" → out of scope (requirements engineering)
72
73**Checklist:** See [checklists.md](./checklists.md)
74
75**Output Format:**
76| Item | Status | Evidence | Location |
77|------|--------|----------|----------|
78
79**Severity:**
80- VIOLATION: Missing prerequisite
81- WARNING: Incomplete/unclear prerequisite
82- PASS: Prerequisite verified
83
84### APPLIER Mode
85**Purpose:** Guide prerequisite planning and construction decisions
86
87**Triggers:**
88- "what prerequisites do we need"
89- "how much time for requirements"
90- "define coding conventions"
91- "where are we on technology wave"
92- "how to program into this language"
93
94**Non-Triggers:**
95- "check if requirements are complete" → CHECKER
96
97**Produces:**
98- Prerequisite allocation recommendations (10-20% effort, 20-30% schedule)
99- Coding convention templates
100- Technology wave assessment
101- "Programming into" vs "in" language guidance
102
103**Key Constraints:**
104- Plan for ~25% requirements change (p.40)
105- Define conventions BEFORE coding starts - nearly impossible to retrofit (p.66)
106- Focus architecture detail on 20% of classes driving 80% of behavior (p.54)
107- Early-wave technology needs MORE discipline, not less - less infrastructure to protect you
108
109**Hard Floor - Strong Heuristic Minimum:**
110- Prerequisites should not be compressed below **5% of schedule** (derived from McConnell's 10-20% recommendation as emergency minimum)
111- For a 3-day project: minimum 2-4 hours on problem definition + requirements + minimal architecture
112- **Absolute minimum:** Never less than 30 minutes regardless of project size
113- A "30-minute problem statement" alone is NOT prerequisites - it is rationalized skipping disguised as process
114- Deviating below 5% requires: (1) explicit stakeholder sign-off on documented risk, (2) written acknowledgment of what's being skipped
115- Note: This threshold is judgment-based heuristic, not empirically proven law. Adjust for context, but adjustment requires justification.
116
117**Constrained Timeline Decision Tree:**
118```
119Timeline < 1 week?
120├─ Can you get 10-20% for prerequisites?
121│ ├─ YES → Proceed with scaled prerequisites
122│ └─ NO → Can you get minimum 5%?
123│ ├─ YES → Proceed with minimum viable prerequisites (use CORE checklist items only)
124│ └─ NO → ESCALATE or DECLINE (see below)
125```
126
127**ESCALATE Resolution Path:**
1281. **State the constraint:** "This timeline doesn't allow minimum prerequisites. I need [X hours] but have [Y hours]."
1292. **Offer options:** Extend timeline, reduce scope, or accept documented risk
1303. **If stakeholder chooses "accept risk":**
131 - Get written acknowledgment (email/Slack/doc) stating: "Proceeding with [Y hours] prerequisites instead of recommended [X hours]. Accepting risk of [specific consequences]."
132 - Document in project: what was skipped, why, who approved
1334. **If stakeholder refuses all options:**
134 - Escalate to next level (their manager, project sponsor, risk owner)
135 - If no escalation path exists: Document your recommendation in writing, proceed as directed, flag for retrospective
1365. **DECLINE (if you have authority):** "I cannot responsibly proceed. My recommendation is [alternative]."
137
138## Red Flags - STOP If You Notice:
139
140- Urge to start coding without verified problem definition
141- "We're agile" used to justify skipping prerequisites
142- "We've always done it that way" as architecture justification
143- Problem definition that sounds like a solution
144- "We'll add conventions later"
145- Implementing architecture you don't understand
146- Different naming/formatting styles in same codebase
147- No defined coding standards at project start
148- **WISCA/WIMP Syndrome:** Manager pressure to start coding before prerequisites complete ("Why Isn't Sam Coding Anything?")
149- **Success-induced complacency:** "Last N projects worked fine without full prerequisites"
150- **Emergency inflation:** Classifying non-emergency work as "emergency hotfix" to skip process
151- **Sunk cost defense:** "I've already invested X hours, checking now is wasteful"
152- Dollar amounts used to justify skipping ALL process ("We're losing $X/minute!")
153- "This case is different because..." - almost always rationalization
154
155## Common Mistakes
156
157| Mistake | Why It's Wrong | Fix |
158|---------|----------------|-----|
159| Problem definition includes solution | Constrains thinking; best solution might not be software | State the PROBLEM in user language, not technical terms |
160| Stating problem technically | Problem should be from user's perspective | "We can't keep up with orders" not "optimize data-entry system" |
161| Architecture elements to please boss | Creates elements you don't understand | You implement it - you must understand it |
162| Gold-plating architecture | Overdesign wastes effort, increases complexity | Address requirements, no more |
163| Treating requirements as immutable | Customers can't describe needs before seeing code | Plan for change; use change control, not prevention |
164| Skipping conventions under deadline | "We'll add them later" - nearly impossible to retrofit | Define BEFORE construction; time "saved" is paid back 10x |
165
166## Rationalization Counters
167
168| Excuse | Reality |
169|--------|---------|
170| "We'd better start coding - lots of debugging ahead" | Self-fulfilling prophecy. Poor preparation guarantees the debugging you predict. |
171| "We're agile so we don't need prerequisites" | Iterative reduces but doesn't eliminate need. Still identify critical elements per iteration. |
172| "We'll add conventions later" | Nearly impossible to retrofit. Must define before construction begins (p.66). |
173| "The customer will tell us what they want" | Customers can't reliably describe needs before seeing code. Plan for change, don't avoid planning. |
174| "We can fix it in testing" | Testing can't detect building the wrong product or building the right product wrong. |
175| "Too simple to need architecture" | Without architecture, construction may be delayed by infrastructure conflicts. |
176| "Our tools are primitive, practices don't matter" | Good practices help MORE in primitive environments - less infrastructure to protect you. |
177| "We know the language, we'll be productive immediately" | Watch for "disguised code" - old language patterns in new syntax. |
178| "It's just a demo/prototype" | Demos become production. The code you write under pressure is the code you'll maintain. |
179| "We only have X days" | Time pressure doesn't eliminate prerequisites - it scales them. Use the 5% hard floor. |
180| "My code already works" | Working code without prerequisites is UNVERIFIED. You may have built the wrong thing correctly. Apply CHECKER mode now. |
181| "Prerequisites are for before construction" | Prerequisites can be applied retrospectively as a quality gate. Gaps found now are risks you're carrying. |
182| "I've already invested N hours" | Sunk cost fallacy. Time invested doesn't change whether prerequisites are met. Check now while context is fresh. |
183| "Last 5 projects worked fine" | Success without prerequisites proves luck, not methodology. Each project's risk is independent (survivor bias). |
184| "4% is close enough to 5%" | The floor exists for a reason. "Close enough" is rationalized skipping. Get stakeholder sign-off if deviating. |
185| "This is a true emergency" | Unless you're doing a ROLLBACK or <10 line surgical fix, it's rushed development, not an emergency hotfix. |
186
187## Required Responses to Stakeholder Pressure
188
189When facing pressure to skip prerequisites, use these responses:
190
191| Stakeholder Says | Your REQUIRED Response |
192|------------------|------------------------|
193| "We're agile, just start coding" | "Agile still requires identifying critical requirements per iteration. I need [X hours] minimum." |
194| "Customer will tell us what they want" | "That's why we need problem definition NOW - to know what to show them. 2-4 hours prevents building the wrong thing." |
195| "We don't have time" | "The minimum is 5% of schedule. For [timeline], that's [X hours]. Skipping this costs more time in debugging." |
196| "It's just a demo" | "Demos become production code. The prerequisites I skip now become technical debt we pay forever." |
197| WISCA/WIMP pressure | "I understand the urgency. The fastest path includes [minimum prerequisites]. Here's the specific list..." |
198
199**Self-Check Before Agreeing to Any Timeline:**
200- Would I flag this as a VIOLATION if reviewing someone else's project?
201- Am I accepting less than the 5% hard floor?
202- Am I rationalizing "this case is different"?
203
204If yes to any: STOP. You cannot accept for yourself what you would reject for others.
205
206## Success Streak Warning
207
208**After multiple successful projects, you face HIGHER risk of skipping prerequisites.**
209
210Your mind generates these rationalizations:
211- "I've done this before, I know what I need"
212- "Last 5 projects worked fine without full prerequisites"
213- "My experience lets me skip the checklist"
214
215**Reality check:**
216- Success without prerequisites proves luck, not methodology
217- You're accumulating invisible debt you can't see
218- Projects that "worked" may have hidden quality issues never discovered
219- Each project's risk is independent of past outcomes (survivor bias)
220
221**Counter-measures:**
2221. Experience makes you FASTER at prerequisites, not exempt from them
2232. The defect cost multiplier doesn't know about your past successes
2243. **Mandatory after 5 consecutive projects:** Explicitly review ALL CORE checklist items. Your calibration is drifting.
225
226## Retrospective Application (Existing Code)
227
228**When construction already started or code exists without prerequisites:**
229
230This skill applies to existing code, not just new projects. Use CHECKER mode as a quality gate:
231
2321. **"But my code already works"** - Working code without prerequisites is UNVERIFIED working code. You may have:
233 - Built the wrong thing correctly
234 - Built the right thing in a way that resists change
235 - Succeeded despite the skip, not because of it
236
2372. **Apply checklist retrospectively:**
238 - Document which items are satisfied (even if implicitly)
239 - Identify gaps as documented risks or immediate fixes
240 - "Working code" proves nothing about prerequisite satisfaction
241
2423. **Sunk cost is irrelevant:**
243 - Time invested doesn't change whether prerequisites are met
244 - Checking now is cheaper than debugging later
245 - Document what you can't fix; fix what you can
246
2474. **Cost of retrofitting vs. not knowing:**
248 - Yes, retrofitting costs more than doing it right first
249 - But knowing your technical debt is better than not knowing
250 - A retrospective check while context is fresh is 10x cheaper than discovering gaps in production
251
252**Red Flags During Retrospective Application:**
253- "The checklist doesn't apply because code exists"
254- "Working code is evidence of satisfied prerequisites"
255- "I've already invested X hours, don't waste more" (sunk cost fallacy)
256
257## Quick Reference
258
259| Decision | Guideline |
260|----------|-----------|
261| Prerequisites time | 10-20% effort, 20-30% schedule |
262| Requirements change | Plan for ~25% change |
263| Architecture scope | 80/20 rule - detail 20% of classes driving 80% behavior |
264| Defect cost multiplier | 10-100x higher when found late vs early |
265| Debugging time (typical) | ~50% of development without good prerequisites |
266
267
268---
269
270## Chain
271
272| After | Next |
273|-------|------|
274| Prerequisites verified | cc-pseudocode-programming |
275| Architecture questions | Stay until resolved |