Fundamentals-first versus specs-to-code
Fundamentals-first versus specs-to-code: empirical patterns in Artificial Intelligence (AI)-augmented software projects and Return on Investment of Software Engineering practices
- Controlled studies show that AI coding tools can deliver real short-run gains in speed and local quality, but those studies do not demonstrate that prompt-only workflows remain superior once work extends beyond a bounded task into a maintained projectPeng et al. (2023)GitHub (2024)Dakhel et al. (2023)
- Executable verification is one of the most repeatedly recommended and plausibly high-ROI fundamentals-first practices, because tests and other external checks improve first-pass correctness and give agents a feedback loop that reduces blind trial-and-error during implementationGitHub (2024)Anthropic (2025)Pocock (2026)Pocock (2026)
- Explicit contracts, specifications, and type signals are the next strongest ROI layer, because they reduce requirement ambiguity before generation and make AI output easier to review, modify, and preserve across sessionsDevelopment (2026)GitHub (2025)Pocock (2025)Pocock (2025)
- Architecture and context constraints matter mainly through maintainability, not initial fluency, because repository-scale studies and practitioner cases show that duplication, entropy, and rescue cost rise when AI output is allowed to accumulate without structureGitClear (2025)Atlassian (2025)Pocock (2026)Mitchell (2026)
- Review burden is a central operational reason fundamentals-first beats vibe coding on serious projects, because developers struggle to understand generated code, accept AI suggestions with less scrutiny, and can lose the saved time during debugging and integrationVaithilingam et al. (2022)Welter et al. (2025)Liang et al. (2023)
- The Matt Pocock stack is externally supportable as a coherent synthesis of known good controls, but current public evidence supports its components more strongly than it supports the exact four-part bundle as a measured packagePocock (2026)Pocock (2026)Pocock (2025)Pocock (2025)
- Fundamentals-first benefits plausibly transfer beyond TypeScript when a stack offers strong interfaces, type or schema boundaries, and executable verification, but direct cross-stack evidence is limited and the uplift should not be assumed to be uniformNadi (2022)Team (2024)GitHub (2025)
- The payback period is mixed: prompt-only workflows are advantaged for disposable prototypes, while fundamentals-first practices pay back quickly in reduced rework and more strongly later through lower entropy and cheaper feature additionAtlassian (2025)GitClear (2025)Development (2026)Forsgren et al. (2018)
Research Question
What empirical patterns emerge when comparing real-world software projects built with a strict fundamentals-first Artificial Intelligence (AI) workflow, structured alignment, modules with simple interfaces that hide substantial complexity, Ubiquitous Language (UL), and Test-Driven Development (TDD), versus pure prompt-to-code or minimal-structure agent-only approaches, and which specific Software Engineering (SE) practices deliver the highest Return on Investment (ROI) in terms of code quality and developer velocity when AI is the primary coder?
Findings
Executive Summary
The balance of available evidence favors fundamentals-first workflows over pure specs-to-code once AI-generated code has to survive review, debugging, and ongoing change, even though prompt-only workflows often win on immediate prototyping speed.
Among the most repeatedly recommended and plausibly high-ROI controls are practices that give the model external feedback and reduce ambiguity before generation, especially executable tests, explicit contracts or types, and architecture or context constraints.
The central reason is operational rather than philosophical: developers struggle to understand generated code, accept AI suggestions with less scrutiny, and later pay for duplication and weak structure that were cheap to create at the start.
Matt Pocock's workflow is best read as a coherent synthesis of currently supported controls rather than as a bundle that already has direct public ROI proof, and its transferability beyond TypeScript is plausible but low-confidence rather than settled.
Key Findings
- Controlled studies show that AI coding tools can deliver real short-run gains in speed and local quality, but those studies do not demonstrate that prompt-only workflows remain superior once work extends beyond a bounded task into a maintained project.
- Executable verification is one of the most repeatedly recommended and plausibly high-ROI fundamentals-first practices, because tests and other external checks improve first-pass correctness and give agents a feedback loop that reduces blind trial-and-error during implementation.
- Explicit contracts, specifications, and type signals are the next strongest ROI layer, because they reduce requirement ambiguity before generation and make AI output easier to review, modify, and preserve across sessions.
- Architecture and context constraints matter mainly through maintainability, not initial fluency, because repository-scale studies and practitioner cases show that duplication, entropy, and rescue cost rise when AI output is allowed to accumulate without structure.
- Review burden is a central operational reason fundamentals-first beats vibe coding on serious projects, because developers struggle to understand generated code, accept AI suggestions with less scrutiny, and can lose the saved time during debugging and integration.
- The Matt Pocock stack is externally supportable as a coherent synthesis of known good controls, but current public evidence supports its components more strongly than it supports the exact four-part bundle as a measured package.
- Fundamentals-first benefits plausibly transfer beyond TypeScript when a stack offers strong interfaces, type or schema boundaries, and executable verification, but direct cross-stack evidence is limited and the uplift should not be assumed to be uniform.
- The payback period is mixed: prompt-only workflows are advantaged for disposable prototypes, while fundamentals-first practices pay back quickly in reduced rework and more strongly later through lower entropy and cheaper feature addition.
Assumptions
- Using Matt Pocock's public skills repository, AI Hero homepage, and Total TypeScript articles as proxies for the dead
ai-coding-assistantspage is acceptable because they are his current official public descriptions of the same workflow components. - Transferability from TypeScript-centric public guidance to other stacks is reasonable when the operative mechanism is explicit interfaces plus executable verification rather than TypeScript syntax itself.
- Long-run workflow ROI must be inferred from mixed evidence because no accessible public study directly randomizes teams into full fundamentals-first and prompt-only project conditions.
Analysis
The evidence supports a layered reading of AI coding ROI rather than a binary one.
Prompt-only workflows are genuinely useful for getting to a first version quickly, but the empirical and practitioner evidence repeatedly shows that understanding, reviewing, and integrating generated code become the binding constraints once the project persists.
That is why the most plausible high-ROI fundamentals are the ones that either narrow the model's search space before generation or supply hard feedback after generation: tests, executable acceptance criteria, explicit interfaces, and architecture boundaries.
Architecture work looks slower only if the measurement window ends at the first passing build, because repository-scale signals and the Atlassian rescue case both suggest that the real cost center is subsequent change in a duplicated or weakly structured codebase.
The Matt Pocock framework therefore reads less like a novel empirical discovery and more like a well-compressed operating model built from currently supported controls.
Risks, Gaps, and Uncertainties
- The strongest repository-scale evidence is observational, so causal attribution to AI assistance alone remains uncertain.
- The accessible public evidence for the combined Matt Pocock stack is descriptive rather than experimental, so the bundle-level ROI remains unproven in this investigation.
- Cross-language variance is real, so generalizing a TypeScript-centric workflow to all domains should stay medium confidence.
- The vibe-coding literature is new and partly based on grey literature, so prevalence and practice descriptions should be treated as emerging rather than fully settled.
Open Questions
- What would a true longitudinal comparison between structured AI teams and prompt-only AI teams show for defect escape rate, review time, and lead time after six or twelve months?
- Which single artifact yields the biggest marginal ROI in practice: failing tests, a specification file, a shared vocabulary document, or an architecture review cadence?
- How much of the apparent TypeScript advantage is typing itself versus stronger surrounding tooling and conventions?
- Can a lightweight measurement stack built from duplication, hotspot health, review time, and change-failure proxies reliably detect when a team should shift from prompt-only speed to fundamentals-first discipline?
sources
- [x] GitHub (2025) Octoverse 2025: A new developer joins GitHub every second as AI leads TypeScript to #1
- [x] JetBrains Team (2024) The State of Developer Ecosystem 2024
- [x] Stack Overflow (2024) Developer Survey 2024
- [x] Peng et al. (2023) The Impact of AI on Developer Productivity: Evidence from GitHub Copilot
- [x] Ziegler et al. (2022) Productivity Assessment of Neural Code Completion
- [x] Dakhel et al. (2023) GitHub Copilot AI Pair Programmer: Asset or Liability?
- [x] Nguyen and Nadi (2022) An Empirical Evaluation of GitHub Copilot's Code Suggestions
- [x] Vaithilingam et al. (2022) Expectation vs. Experience: Evaluating the Usability of Code Generation Tools Powered by Large Language Models
- [x] GitHub (2022) Research: Quantifying GitHub Copilot's impact on developer productivity and happiness
- [x] GitHub (2023) Research: Quantifying GitHub Copilot's impact on code quality
- [x] GitHub (2024) Does GitHub Copilot improve code quality? Here's what the data says
- [x] GitClear (2025) AI Copilot Code Quality: 2025 Look Back at 12 Months of Data
- [x] Liang et al. (2023) Practices and Challenges of Using GitHub Copilot: An Empirical Study
- [x] Welter et al. (2025) From Developer Pairs to AI Copilots: A Comparative Study on Knowledge Transfer
- [x] Anthropic (2025) Claude Code best practices
- [x] GitHub (2025) How to build reliable AI workflows with agentic primitives and context engineering
- [x] Atlassian (2025) How to effectively utilise AI to enhance large-scale refactoring
- [x] Fawzy et al. (2026) Vibe Coding in Practice: Motivations, Challenges, and a Future Outlook
- [x] IBM (2025) What is vibe coding?
- [x] Spec-Driven Development (2026) From Code to Contract in the Age of AI Coding Assistants
- [x] Pocock (2025) Cursor Rules for Better AI Development
- [x] Pocock (2025) Should You Declare Return Types?
- [x] Pocock (2025) The Case for TypeScript in the AI Coding Era
- [x] Pocock (2026) AI Hero
- [x] Pocock (2026) mattpocock/skills
- [x] Forsgren et al. (2018) Accelerate
- [x] Mitchell (2026) Artificial Intelligence code entropy and complexity
- [x] Mitchell (2026) Deep modules in AI-augmented development
- [x] Mitchell (2026) Reliable Software in the LLM Era
- [x] Mitchell (2026) Intent Driven Development
- [x] Mitchell (2026) LLM verifiability asymmetry between code and world action
| version | date | commit | summary |
|---|---|---|---|
| 1.0 | 2026-04-30 | 1fbaacf | Initial completion |