The VP-model (Virtual Prototype model) is a derivative of the V-model, originating from German academic and industrial work — specifically the University of Karlsruhe, 1998: Code Generation for an Open Rapid Prototyping Environment Supporting Heterogeneous System Design.
It extends the standard V-model by adding prototyping at each layer of abstraction — not only at implementation, but at system, subsystem, and module design levels.
| Left Branch (Development) | Prototype Loop | Right Branch (Validation) |
|---|---|---|
| Requirements Elicitation / System Specification | Prototype — System level | System Use / System Delivery |
| System Design / Subsystem Design | Prototype — Subsystem level | System Test / Subsystem Test |
| Module Design | Prototype — Module level | Module Test |
| Implementation | (base of V) | — |
Each prototype is purpose-specific:
At each layer, a prototype targets the specific risks of that layer, not a general demonstration of the product.
The VP-model is not waterfall — it is applied iteratively: each sprint or increment passes through the V layers at the appropriate level of atomicity.
Challenge: "Why aren't you using a model-based approach?"
The human is a systems engineer, not a coder. Primary activities: requirements elicitation, option generation (diverge), option selection (converge), architecture and separation decisions.
AI is a cognitive assistant — it generates options, executes implementation, and flags trade-offs. Analogous to protein design pipelines generating 20,000 candidates then filtering — generative divergence followed by discriminative convergence.
Grady Booch's framing applies directly: "When AI writes the code, the architect is still accountable."
The VP-model is a well-grounded framework, but applying it to AI-assisted software development surfaces gaps that practitioners should be aware of. These are open problems, not reasons to abandon the approach.
Most AI coding tools implement the V-model's layer separation but do not yet implement the VP-model's defining feature: a running executable artefact at each abstraction tier before implementation begins. The gap between "interface contract on paper" and "running architectural stub" is consequential — it means integration risks are not surfaced until the build stage.
| VP-Model Feature | Current State in AI-Assisted Workflows |
|---|---|
| Prototypes at each abstraction layer | Rarely implemented — most tools jump directly from architecture definition to implementation |
| Subsystem-level architectural stubs | Interface contracts are documented but not executed — no running stubs to validate integration points early |
| Spike-driven development targeting layer-specific risks | Task sequencing is typically linear, not risk-targeted — the hardest problems are not necessarily addressed first |
| System-level prototype (UX/UI mock-up) | AI coding tools focus on implementation; user-level prototyping remains a manual, human-led activity |
The ideas on this page sit at the intersection of systems engineering, software architecture, and AI-assisted development. The following thinkers and sources provide useful grounding.
| Source | Relevance |
|---|---|
| Karlsruhe (1998) | Code Generation for an Open Rapid Prototyping Environment Supporting Heterogeneous System Design — the original VP-model paper. Provides the academic foundation for the three-tier prototype loop structure. |
| Gregor Hohpe | Software architect and author of Enterprise Integration Patterns. Writes clearly on the enduring importance of architecture in an era of automated implementation. Website and YouTube. |
| Grady Booch | Pioneer of object-oriented design and UML. His recent writing on AI and software architecture is directly relevant: "When AI writes the code, the architect is still accountable." |
| Forsberg & Mooz (1991) | Original V-model formalisation in systems engineering — the foundation on which the VP-model builds. Referenced widely in aerospace and defence contexts. |
| Boehm & Turner (2004) | Balancing Agility and Discipline — the definitive treatment of applying structured engineering disciplines within iterative development cycles. |
These ideas often meet resistance from developers and engineering managers who have not worked in systems engineering contexts. The objections are worth taking seriously rather than dismissing.
| Objection | Response |
|---|---|
| "This is just waterfall with extra steps." | The VP-model is applied iteratively — each sprint or increment passes through the relevant abstraction layers. The discipline is in maintaining layer separation within each cycle, not in sequencing all layers before any implementation begins. |
| "Good engineers already do this without a formal framework." | They do, when given the time and authority to. The problem is that AI coding agents do not — left unconstrained, they collapse all layers into a single implementation pass. The framework is a guardrail on the agent, not on the human. |
| "Why does an AI coding workflow need systems engineering principles?" | Because AI makes coding faster but does not make architectural decisions for you. Without explicit layer separation, faster code generation accelerates the accumulation of technical debt — it does not reduce it. |
| "The VP-model was designed for hardware/embedded systems, not software." | The original 1998 paper addresses heterogeneous system design spanning hardware and software. The principles — prototyping at each abstraction layer, tests derived from specifications — transfer directly to software-only systems. |