Skip to content

What Is RAD? Why It Matters in the Age of AI Coding

Rapid Application Development (RAD) is resurfacing as a framework for agentic AI workflows, built on iterative prototyping and spec-driven testing.

Tuan Tran Van
7 min read
Contents (8 sections)
  1. What is RAD?
  2. The four phases of a RAD iteration
  3. Why RAD faded
  4. Why RAD is back now that AI writes code
  5. The line between a prototype and production software
  6. What AI does not fix about RAD
  7. When to work the RAD way with AI
  8. References

Rapid Application Development (RAD) is a methodology that prioritizes iterative prototyping and continuous user feedback over the heavy, front-loaded planning typical of Waterfall models.

With AI-driven generation now dominant, RAD has moved from a legacy concept to a practical framework for managing autonomous coding agents. By treating software as a flexible artifact rather than a static bridge-building project, RAD lets you adapt to new requirements based on how users interact with live prototypes.

Treat RAD not just as a fast way to build, but as a risk-mitigation strategy. Its founding assumption — that users do not truly know what they want until they see a working prototype — is also the most pragmatic way to steer AI agents. Shorten the feedback loop and you catch flawed architectural assumptions while they are still cheap to fix.

RAD's rapid prototyping loop reborn in the age of AI coding

What is RAD?

The vision for RAD began in 1982, when James Martin published Application Development Without Programmers — a book that imagined a future where business logic could be generated without the bottleneck of manual coding. Martin did not formalize the specific RAD methodology until 1991. That distinction matters: the dream of automated development existed a decade before the engineering framework to manage it. RAD was a direct reaction to the bridge-building engineering models of the 1970s, which failed to account for the fact that software requirements are inherently volatile.

The core philosophy replaces rigorous design specifications with evolving prototypes, focusing on business functionality rather than abstract technical specs. During the peak of business process re-engineering, RAD was the engine for rethinking core operations. It moved the industry away from sequential sign-offs and toward a model where knowledge gained during development feeds back into the design — so the final system solves a business problem rather than satisfying an outdated requirements document.

The four phases of a RAD iteration

The James Martin approach compresses the traditional lifecycle into four fast phases.

The four phases of a RAD iteration — requirements planning, user design, construction and cutover — inside a 90-day timebox

  • Requirements planning: an intentionally lightweight phase that replaces 200-page specs with Joint Application Development (JAD) sessions. To be useful, these must yield specific deliverables: user stories, wireframes, and preliminary architectural decisions. The goal is high-level agreement on scope and constraints so prototyping can begin immediately.
  • User design: users interact with systems analysts to build clickable mockups and functional demos. This is an interactive loop where bad assumptions get caught early. Unlike throwaway mockups, the RAD prototype is a keeper that evolves directly into the final product.
  • Construction: once the prototype vision stabilizes, the team moves into a production-hardened build. A key advantage here is parallel work: teams build independent modules — an authentication tool and a reporting tool, say — at the same time instead of one after another, in short cycles that fold testing into the daily workflow.
  • Cutover: final deployment, including data migration and user training. Because testing ran continuously through construction, the transition is smoother. A standard RAD iteration targets a working system inside a timebox of roughly 90 days.

Why RAD faded

RAD lost its architectural gravity as the industry shifted to the web. Early RAD tools like Borland Delphi, FoxPro, and Microsoft Access were built for the desktop and were not ready for the web. The efficiency gap was stark in both directions: a Delphi developer could build in a day what took an enterprise web developer a week, yet those same tools could not scale or meet high-availability requirements. That second failure doomed the first generation of RAD.

The term itself became an insult in engineering circles, synonymous with spaghetti code and vendor lock-in. These systems often became barely supportable legacy burdens because they sacrificed non-functional requirements — portability, security, documentation — for raw speed. The result was a generation of black-box applications that were nearly impossible to migrate to modern enterprise stacks without a total rewrite.

Why RAD is back now that AI writes code

LLMs have effectively fulfilled Martin's 1982 vision. That has created a split in posture. Vibe coding, a term popularized by Andrej Karpathy, describes a "forget the code exists" approach where you prompt for outcomes and accept all diffs — a high-risk posture suited only to throwaway projects. Professional engineers are instead moving toward agentic coding, where AI agents use tools — terminals, test runners, search — to complete a loop while the human steers, verifies, and owns the resulting code.

The agentic coding loop: a human describes the goal, the agent plans and edits code, the human runs and verifies it

The senior engineer's role shifts from typing to architectural oversight. You are no longer the primary writer; you are the reviewer who makes sure the agent's speed doesn't pile up technical debt. This revival lets citizen developers build real tools, but it demands that experienced staff supply the context infrastructure that keeps those tools inside professional engineering guardrails.

The line between a prototype and production software

The transition from an AI-generated prototype to production software is the most dangerous boundary in modern development. Roughly 45% of AI-generated code samples contain an OWASP Top 10 security weakness. A common failure is the self-approval loophole: an AI builds a functional expense app but, never having been prompted for security constraints, lets a user approve their own requests. The model misses rules that aren't in its immediate context window.

The gate between an AI prototype and production software, with the spec acting as an automated test suite

To guard against this, make spec-driven development a mandatory gate rather than a nice-to-have. You capture the lessons from the prototype in a formal spec — business rules, acceptance criteria, security requirements. Once a rule is in the spec, it becomes a test the generated code must pass. The prototype remains the design keeper; the spec becomes the source of truth for the production build.

What AI does not fix about RAD

AI runs into a productivity ceiling known as the 80% problem: agents reliably do the visible 80% of a task and miss the invisible 20% that lives outside their context window — auth middleware, audit logs, and integration tests sitting in sibling repositories. Lacking codebase-wide visibility, they produce locally correct but globally broken code. Sourcegraph found that 84% of large enterprise accounts saw a steady increase in lines of code after an AI rollout, which compounds technical debt and makes repository-wide search harder.

The 80/20 problem: AI handles the visible 80% of a task and misses the invisible 20%

The organizational hurdles remain untouched. The process still depends heavily on stakeholder availability — if your domain experts aren't around to give feedback, the loop stalls. AI does not fix documentation lag, governance gaps, or scope creep either. Engineering discipline — automated testing, architectural oversight, code review — is still the real bottleneck. AI generates code; it does not manage the non-functional requirements that keep a system maintainable.

When to work the RAD way with AI

RAD suits modular, standalone applications with flexible scopes and stakeholders available for frequent feedback. It is a strong fit for bespoke tools that fill gaps in enterprise SaaS, or for shipping competitive features quickly. It remains a poor choice for life-critical systems and for massive, tightly coupled legacy environments that require rigid regulatory documentation before anyone writes a line of code.

For RAD to work at scale, invest in context infrastructure: move beyond approximate retrieval like basic embeddings toward deterministic search over exact symbol references and call sites, through protocols like MCP. Without that, AI-driven RAD produces silent, systemic failures that only surface after cutover.

References

Share this article