← viggomeesters.nl
1. Goal
→
2. Approach
→
3. Steps
→
4. Blueprint
→
5. Verification
Overview
1
The Goal
"What is the problem?"
2
The Approach
"Why does our solution work?"
3
The Steps
"Which operations, in which order?"
4
The Blueprint
"Which tools, which configuration?"
5
The Verification
"How do we know it's correct?"
The 5 Layers
What is the problem and what are we working with?
Audience: stakeholders, everyone
| Section | Content |
| The assignment | Business context: why does this project exist? |
| What we have | Inventory of inputs, sources, data — with concrete examples |
| What we know | Available knowledge: documentation, mappings, expertise |
| The constraints | Hard requirements as a numbered list |
| Summary | Conceptual diagram (INPUT → TRANSFORMATION → OUTPUT) |
Rules of Thumb
- Show concrete examples of data/formats
- Constraints are numbered — they'll be referenced later
- The diagram is the mental anchor for the entire project
- Write as if the reader knows nothing about the domain
Why does our solution work and why not the obvious one?
Audience: architects, decision makers
| Section | Content |
| The core problem | Why the naive approach doesn't work |
| The insight | The breakthrough: which principle makes the solution possible? |
| The steps | High-level process steps with before/after examples |
| The decision logic | Decision tree in plain language (no code) |
| Scalability | How the approach scales / repeats / automates |
Rules of Thumb
- Start with why alternatives fail
- Every design choice is justified by constraints from The Goal
- Use before/after tables to visualize transformations
- This document answers the "but why not just...?" questions
Which concrete operations do we execute, in which order?
Audience: analysts, implementers
| Section | Content |
| Phase 0: Preparation | Initialization, setup, copy operations |
| Phase 1-N: Core phases | Per phase: substeps with operation + input + output |
| Join specifications | Explicit join types (inner, left outer) with explanation |
| Warnings | Error scenarios and how they're handled |
| Pseudocode overview | Readable code block with all phases + substeps |
Rules of Thumb
- Consistent numbering: Phase 0, 1, 2, ... with substeps a, b, c
- Per substep: what (operation), from (input), to (output)
- Before/after tables show data before and after each transformation
- Close with a pseudocode block as Rosetta Stone for the Blueprint
Which specific tools/code, with what exact configuration?
Audience: developers, builders
| Section | Content |
| Per tool: config table | Key-value pairs: Setting | Value |
| Formulas/code | Readable formula or code blocks per decision point |
| Connection diagrams | ASCII flow with tool numbers and branches |
| Placeholder table | «placeholder» → example → where used |
| Scale analysis | Components × N repetitions = total |
Rules of Thumb
- Every tool gets a configuration table (not prose)
- Placeholders mark what's variable — essential for automation
- Reference back: "Tool 5 implements Phase 1e"
- The scale analysis makes complexity visible
How do we know it works correctly?
Audience: testers, QA
| Section | Content |
| A: Paths/Configuration | Checklist: are all paths correct? |
| B: Tool configuration | Does each tool match the Blueprint? |
| C: Connections | Are all couplings correctly wired? |
| D: Decision logic | Truth table: all scenarios with expected outcome |
| E-G: Data, Code, Runtime | Field names, generator output, end-to-end test |
Rules of Thumb
- Everything is a checklist — numbered (A1, A2, B1, B2, ...)
- Truth tables for decision logic: every input combination
- Test order: simple first (paths) → complex (runtime)
- Add automated checks where possible
When to Use
| Situation | Documents |
| Pitching an idea | Goal only |
| Stakeholder alignment | Goal + Approach |
| Team briefing | Goal through Steps |
| Developer onboarding | Goal through Blueprint |
| Full implementation | All 5 layers |
Variations: Small project (1 day) = all 5 layers in one document.
Medium (1-4 weeks) = 5 sections in one note.
Large (months) = 5 separate documents.