Software development is undergoing its most significant transformation since the advent of high-level programming languages. As AI agents evolve from simple autocomplete tools to sophisticated collaborators, a new, agentic approach is emerging that fundamentally changes how we build software: spec-driven development.
Eighteen months ago, AI coding assistants were “glorified typers,” offering advanced autocomplete that would finish your code as you typed. They weren’t changing the way teams were working or shipping code.
The landscape changed with “agentic chat,” enabling multi-turn conversations with AI that had context about your code. Because these tools could analyze your codebase and project files, they provided much more intelligent responses.
Now we’re in the third generation of AI-enabled development with AI agents that are truly goal-seeking. These agents aren’t just responding to prompts. They’re reasoning through problems, creating plans and executing them with minimal human intervention. In this world, the code is almost exclusively being generated by AI. You’re not typing the code anymore. In fact, at some time in the future, the developer may not look at the code at all.
What senior engineers discovered
At Amazon, we noticed something interesting. Our senior engineers were the fastest adopters of these agents. For simple problems, they would use a vibe coding approach, where you quickly prompt it and generate code. But for more advanced and complex problems, they wrote instructions the way they would on a whiteboard when working with another engineer. They were writing a specification.
Spec-driven development is a methodology where developers create high-level specifications that describe how code should behave, what outcomes it should deliver and how it should be structured. We discovered that engineers were now handing these specifications to AI agents that then convert the high-level thinking into working code.
This wasn’t new behavior. If you talk to any experienced engineer, they will tell you that the first thing they do when they look at a problem is write a specification on how they would address it. What changed was they could now entrust these specs to an AI agent that was smart enough to act on these complex ideas.
The part that’s different is you’re not typing a detailed spec itself; you’re being much more high level. You’re telling the agent how you think about the problem, and the agent converts that into a spec it can work with, based on your logic
The Kiro approach: Specifications front and center
This insight led us to build Kiro, an agentic IDE where specifications are front and center. When you present a problem to Kiro, it doesn’t just start generating code. Instead, it creates a spec, which is actually three files: a requirements doc, a design doc and a set of tasks.
First, it creates requirements that are broken down into user stories. It’s almost like whiteboarding, except it’s in Markdown (.md). Then, it creates a design document detailing how it will design the solution, including dependencies and call graphs. Once you’re comfortable with the design, it creates tasks that outline all the things it’s going to do, such as writing functions and unit tests.
This process is highly collaborative between you and Kiro. You can interrupt at any point if you don’t like the direction it’s going. You can ask it to change its thinking, and it will rewrite the specification. It’s a highly interactive process, where you’re able to use natural language.
The power of context
Spec-driven development isn’t just about better prompts; it’s about creating rich context that makes AI agents more effective. You can augment specifications by providing tools and steering files that are guides for your project. They might specify languages you’re allowed to use, build systems and style guides.
By combining tools, steering files and specifying context, we created a powerful development framework. For example, when a teammate proposed adding push notifications for simultaneous task tracking, we initially expected this build to take two weeks due to complex cross-platform requirements. Kiro analyzed the codebase, identified cross-platform challenges, recommended necessary libraries and provided a working solution that matched existing code patterns. By using Kiro to create the specification, we reduced our development time from two weeks to two days.
The developer’s evolving role
The most successful developers I see are engineers who understand the architectures they’re building. They must really be systems thinkers. Understanding how your system works and having clarity about the outcomes you want to achieve will make you more effective.
At Amazon, the principal engineering tenet “Illuminate and clarify” requires engineers to break down complex problems into smaller, manageable components. This same skill of illuminating and clarifying problems is essential for successfully guiding AI agents to act as intended.
The question isn’t whether AI will change software development. It already has. Spec-driven development represents a fundamental shift from developers as code writers to developers as system orchestrators. The developers who thrive will be those who can think systematically and communicate effectively with AI collaborators.

