1 Introduction to Intent-Driven Development
Modern coding agents have made software generation much faster, but that speed has revealed a deeper problem: the real bottleneck is no longer writing code, but clearly expressing the intent behind it. When teams rely on vague requirements, ad hoc prompting, or “vibe coding,” agents may produce technically correct implementations that still miss the actual purpose of the feature. The chapter uses a password reset example to show how a feature can satisfy every stated requirement while still failing its true goal if important context, such as invalidating active sessions, is never made explicit.
Intent is presented as the actionable form of purpose: the point where a broad “why” becomes concrete enough to guide design, implementation, and verification. The chapter distinguishes intent from intuition, ideas, or objectives, emphasizing that intent is what constrains action and helps determine what information matters. To make intent usable by AI systems, it must be articulated clearly and captured in durable artifacts such as specifications and tests, which preserve shared understanding beyond a single chat session and can serve as a source of truth for future work.
The chapter frames Intent-Driven Development as an AI-native approach that uses structured dialogue to build context for agents and enable independent execution. It draws on older engineering practices like user stories, BDD, and TDD as precedents for this kind of shared understanding, then extends the idea into two main patterns: specs, where intent is articulated up front, and loops, where intent is refined through repeated execution. The broader message is that organizations should fix intent articulation rather than merely patching bad outputs, because with coding agents the cost of misalignment compounds quickly, and durable intent becomes the foundation for sustainable development.
Lack of common ground between our intentions and the agent’s model training can lead to implementations that are not aligned.
We begin with intuitions indicating that users are struggling with compromised accounts. Our purpose, which is to help them regain access, focuses these observations, guides us toward approaches that address the issue, and helps us articulate an intent that defines the desired outcome and its success criteria. This intent seeds the context and acts as a filter, selecting relevant details such as the session store design and security policy while excluding unrelated information such as the payments module. This context-construction process gives the agent just enough information to achieve the intended outcome rather than flooding it with everything available.
A mental model of how IDD focuses on effective intent articulation to engineer context so that the agent can independently execute to deliver aligned outcomes.
The intent harness is a level above the execution harness and helps us articulate intent to engineer context for the execution harness.
High-level overview of how spec-driven development helps us articulate intent through discovery, design, and tasking to enable autonomous execution.
High-level overview of autonomous interaction workflows that provide only initial context and the governing criteria for completion, allowing the agent to progressively converge on a solution without us having to detail exactly how to achieve it.
Summary
- Intent is the actionable expression of purpose for a specific change. It makes the broader “why” concrete enough to guide implementation, verification, and downstream design decisions.
- Intent articulation turns raw intuition into a usable engineering context. User stories, acceptance criteria, BDD, and TDD have long helped teams surface intent through structured dialogue; IDD builds on that foundation for AI-native development.
- Intent-Driven Development uses structured human-AI dialogue to elicit, refine, and preserve intent. The goal is to capture intent in durable artifacts that survive beyond a single conversation, model, or coding session.
- Coding agents are execution harnesses, while Intent Harnesses shape what those agents execute against. An Intent Harness sits above the execution harness and provides the structured context needed for more independent and aligned agent execution.
- Spec-Driven Development and Autonomous Iteration Workflows are complementary approaches to IDD. SDD uses specifications as vehicles for articulating intent, whereas in Autonomous Iteration Workflows, intent is embodied in governing constraints that steer repeated execution, learning, and convergence.
- IDD matters because faster code generation shifts the bottleneck from writing code to articulating intent. Weak intent articulation leads to review-and-rework storms, while durable intent artifacts, such as specs, help humans define context, encode expertise, and verify outcomes, laying the foundation for software factories.
Spec-Driven Development ebook for free