Mushroom, cloud, and code logo
Published on

From Pair Programmer to Project Lead: Spec Driven Development with Kiro

Authors
Cinematic hero image for a tech blog post. A split-screen visual metaphor. On the left, a focused developer works at their desk with code on multiple monitors. On the right, the same developer stands confidently as a project lead pointing at architectural diagrams on a whiteboard. The transition shows the evolution from hands-on coding to strategic planning. Modern tech office environment with warm lighting.

For the past couple of years, Generative AI in the IDE has felt like a super-powered autocomplete. Tools like GitHub Copilot excel as "pair programmers." They're fantastic at suggesting the next line, completing a function, or generating unit tests from context.

But they're fundamentally reactive. They wait for you to type. They excel at implementation but have limited understanding of the architecture or the business outcomes driving a feature.

This is the gap that agentic AI workflows are beginning to fill. As I've explored with GitHub's Spec Kit, the industry is evolving from "AI assistance" to "AI delegation."

The latest major player to formalize this shift is Kiro, Amazon's new IDE built on VS Code. Kiro transcends simple "prompt-and-response" interactions by introducing two distinct agentic workflows: "Vibe" and "Spec." And it's the "Spec" workflow that provides a powerful glimpse into how we'll build software in the future.

Want to see it in action?

If you prefer to see the demo first, jump to the live comparison of Kiro vs GitHub Spec Kit workflows.

The Dual-Workflow Paradigm: Understanding Context

Kiro's core insight is that development tasks exist on a spectrum. Sometimes you're exploring and iterating; other times you're executing a clear vision. Different contexts demand different tools.

A clean, minimalist diptych illustration comparing two AI development workflows. Left panel titled 'Vibe' shows a developer in casual conversation with an AI assistant, with flowing, organic shapes and chat bubbles. Right panel titled 'Spec' shows a structured, formal process with documents, architectural diagrams, and step-by-step workflow arrows. Color scheme uses blues for Vibe and oranges for Spec.

"Vibe": The Adaptive Pair Programmer

The "Vibe" workflow is the free-flowing, conversational experience we've grown accustomed to. It excels at:

  • Exploration: "What's the best way to structure this React component?"
  • Debugging: "Why is this TypeScript compiler throwing this error?"
  • Refactoring: "Make this function more performant using modern JavaScript patterns"
  • Learning: "Explain how this AWS Lambda trigger works"

It's iterative, contextual, and perfect for working with existing code. Think of it as pair programming with an expert who never gets tired and has read every Stack Overflow answer.

"Spec": The Methodical Project Lead

The "Spec" workflow operates differently. It's designed for building new, complex features from requirements to implementation. Rather than a conversation, it's a contract. This is Spec Driven Development (SDD).

SDD follows the lineage of Test Driven Development (TDD) and Behavior Driven Development (BDD). The core principle: formally define the what and why of a feature through specifications before writing implementation code. The specification becomes the single source of truth guiding the AI agent.

This structured approach solves one of GenAI's persistent challenges: generating large-scale, multi-file features that actually work and align with architectural patterns and business intent.

How Kiro's "Spec" Workflow Functions

The "Spec" workflow transforms high-level requirements into executed code through a three-phase process that strategically keeps humans in the loop at critical decision points.

Phase 1: Define the Specification

You don't write a prompt; you author a specification. This document outlines:

  • Business Outcomes: What value does this feature deliver?
  • User Stories: Who benefits and how?
  • Functional Requirements: What must the feature do?
  • Non-functional Requirements: Performance, security, accessibility constraints
  • Technical Context: Existing patterns, frameworks, and architectural decisions

You're describing what needs to be built and why it matters, not how to implement it.

Example Specification:

Feature: User Authentication Flow
Business Outcome: Reduce cart abandonment by 15% through streamlined login
User Story: As a returning customer, I want to quickly authenticate
            using OAuth so I can complete my purchase without friction
Requirements:
  - Support Google, GitHub, and email/password authentication
  - Maintain session across browser tabs
  - Complete authentication in under 3 seconds
  - Comply with WCAG 2.1 AA accessibility standards
Technical Context:
  - Next.js 15 with App Router
  - AWS Amplify for auth backend
  - Existing UserContext for state management

Phase 2: Review and Refine the AI-Generated Plan

This is where Kiro fundamentally differs from other tools. The AI agent analyzes your specification and generates a detailed execution plan.

This plan isn't code—it's a sequence of architectural decisions and implementation tasks:

## Authentication Flow Implementation Plan

### 1. Architecture Setup
- Create auth provider wrapper component at `components/providers/AuthProvider.tsx`
- Implement OAuth strategy pattern in `lib/auth/strategies/`
- Set up auth middleware in `middleware.ts` for protected routes

### 2. Component Structure
- Build `LoginModal.tsx` with provider selection
- Create `OAuthButton.tsx` reusable component
- Implement `SessionManager.tsx` for cross-tab sync

### 3. State Management
- Extend existing UserContext with auth methods
- Add auth status to global state
- Implement optimistic UI updates

### 4. Backend Integration
- Configure Amplify Auth with social providers
- Set up auth endpoints in `app/api/auth/[...nextauth]/route.ts`
- Implement refresh token rotation

### 5. Testing & Validation
- Unit tests for auth strategies
- E2E tests for complete auth flow
- Performance benchmarks for 3-second target

This is the paradigm shift. You're not debugging generated code; you're reviewing an architectural plan. You can modify steps, add constraints, or request alternative approaches—all before any code exists. You're the Tech Lead approving the blueprint.

Photorealistic, dramatic shot from behind a developer. The developer is confidently looking at a large monitor displaying architectural diagrams, flowcharts, and system blueprints instead of code. The screen shows clean, professional architectural plans with boxes, arrows, and hierarchical structures. Warm office lighting creates a sense of authority and strategic thinking. The developer's posture suggests leadership and decision-making rather than hands-on coding.

Phase 3: Execute the Approved Plan

Once you approve the plan, Kiro's agent executes autonomously. It:

  • Creates directory structures
  • Generates all specified files
  • Implements the approved patterns
  • Maintains consistency across the codebase
  • Follows your project's conventions

You're not watching it type character by character. You're waiting for it to complete the entire approved feature, then reviewing the complete implementation.

Demo: Comparing Two Approaches to SDD

To understand the practical differences, I ran the same prompt through both GitHub Spec Kit and Kiro's "Spec" workflow. While both embody the same SDD philosophy, their implementations reveal different strengths.

Implementation Comparison:

AspectGitHub Spec KitKiro SDD
PhilosophyFramework-first approachTool-first approach
FlexibilityWorks with any AI provider (Claude, Copilot, etc.)Integrated Amazon-backed solution
Review PointGenerated code in PRArchitectural plan in IDE
PortabilityTemplates & workflows transferable to any projectTied to Kiro IDE ecosystem
Cost ModelUse your existing AI subscriptionsSeparate token pools for Vibe/Spec
Learning CurveRequires setup but teaches SDD principlesImmediate UX but black-box implementation
IDE IntegrationWorks with your existing VS Code setupStandalone IDE (VS Code fork)

The Real Insight: It's About the Philosophy, Not the Tool

GitHub Spec Kit's strength lies in being a framework and philosophy that teams can adopt regardless of their toolchain. Its prompting templates, standardized workflows, and constitutional approach can be implemented in any project—you're learning SDD principles that transcend any single tool.

Kiro excels at operationalizing SDD with superior UX right now. It's the difference between understanding the theory and having a polished implementation. However, this comes with trade-offs: vendor lock-in, separate token costs, and requiring a standalone IDE rather than enhancing your existing VS Code workflow.

Explore both approaches:

Why SDD Represents a Fundamental Shift

Spec Driven Development isn't just "better AI assistance"—it's a redefinition of the developer role and development process.

1. Abstraction Elevation: From Syntax to Systems

Traditional coding: "How do I implement pagination with React Query?" SDD thinking: "Users need to browse large datasets efficiently without overwhelming the API."

We're moving up the abstraction ladder, focusing on business outcomes and system behavior rather than implementation details.

Conceptual illustration of a developer climbing a 'ladder of abstraction.' The bottom rungs are made of code symbols and syntax elements, middle rungs show API calls and functions, upper rungs display system architecture and data flow diagrams, and the top shows business outcomes and user value propositions. The developer is reaching toward the higher levels, symbolizing the evolution from implementation details to strategic thinking. Modern, clean design with a gradient from technical (bottom) to business-focused (top).

2. Scalability Through Specification

Chat-based AI struggles with consistency across large features. By starting with specifications and approved plans, SDD enables:

  • Consistent patterns across dozens of files
  • Architectural alignment with existing systems
  • Predictable outcomes from clear requirements
  • Reduced technical debt through upfront design

3. The Developer as Architect

Our role evolves from:

  • Writing boilerplateDefining specifications
  • Debugging syntaxReviewing architecture
  • Implementing patternsEnsuring quality and intent
  • Copy-pastingStrategic decision-making

4. Collaborative Intelligence

SDD creates a true human-AI partnership:

  • Humans excel at: Understanding context, defining goals, making judgment calls
  • AI excels at: Consistent implementation, pattern application, boilerplate generation
  • Together: Rapid development with architectural integrity

Real-World Applications and Limitations

Where SDD Shines:

  • Greenfield features: Building new functionality with clear requirements
  • API integrations: Implementing well-documented third-party services
  • CRUD operations: Generating consistent data management layers
  • Migration projects: Refactoring legacy code to modern patterns
  • Prototype development: Rapidly validating business ideas

Current Limitations:

  • Complex algorithms: Novel algorithmic solutions still require human creativity
  • Legacy system understanding: AI struggles with undocumented, byzantine codebases
  • Performance optimization: Fine-tuning for specific hardware/constraints needs expertise
  • Security-critical code: High-stakes implementations require human verification

The Path Forward: Adopting SDD Principles

The real winners here aren't tool vendors—they're engineers and organizations looking to accelerate delivery while maintaining architectural integrity. Whether you choose Kiro's polished UX, GitHub Spec Kit's flexible framework, or build your own SDD approach, the principles remain the same.

For Individual Developers:

  • Master specification writing as a core competency
  • Study SDD patterns from both Spec Kit and Kiro to understand the philosophy
  • Practice reviewing AI-generated plans, not just code
  • Focus on business outcomes over implementation details

For Engineering Teams:

  • Adopt SDD principles regardless of tooling choices
  • Create your own specification templates inspired by these frameworks
  • Establish architectural review processes for AI-generated work
  • Consider cost implications: standalone tools vs. leveraging existing AI subscriptions

For Organizations:

  • Recognize SDD as a methodology, not a vendor solution
  • Build maturity models for AI-assisted development
  • Invest in specification standards that work across tools
  • Prepare for significant acceleration in well-specified domains

The Cost-Benefit Analysis:

While Kiro offers excellent UX, consider the total cost:

  • Token pools: Separate costs for Vibe and Spec workflows can add up quickly
  • Tool proliferation: Another IDE to manage alongside your existing setup
  • Vendor lock-in: Specifications tied to a proprietary format

Alternatively, adopting GitHub Spec Kit's philosophy or similar frameworks allows you to:

  • Use existing tools: Leverage your current AI subscriptions
  • Maintain flexibility: Switch providers as better options emerge
  • Build institutional knowledge: Your team learns SDD principles, not just tool usage

Conclusion: The Specified Future

Kiro's Spec Driven Development isn't just another AI coding tool—it's a glimpse into software development's next era. By elevating developers from coders to specifiers, from implementers to architects, SDD enables us to build more ambitious systems faster than ever before.

The "Vibe" workflow enhances our daily coding, but the "Spec" workflow transforms how we approach complex features. It's not about replacing developers; it's about amplifying our impact by focusing on what humans do best: understanding context, defining value, and ensuring quality.

As we stand at this inflection point, the question isn't whether AI will change development—it's whether we'll adapt our skills and processes to harness its full potential. Tools like Kiro show us the path: specify clearly, review thoughtfully, and let AI handle the implementation details.

The future of software development is specified. The question is: are you ready to write the spec?

A hopeful, wide-angle cinematic shot of a diverse team of software architects standing on a balcony or elevated platform, looking out at a futuristic cityscape filled with glowing architectural blueprints and specification documents floating in the air like holograms. The team members are silhouetted against a bright, optimistic sky, representing the future of specification-driven development. The scene conveys vision, leadership, and the transformation of software development from hands-on coding to architectural planning.
Try It Yourself

Kiro is currently in preview. You can sign up for access and experiment with both Vibe and Spec workflows. I'd love to hear about your experiences! Connect with me on LinkedIn, GitHub, or X.

What's your take on Spec Driven Development? Are you already using AI agents in your workflow? Share your thoughts in the comments below.