<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: planu-dev.ai</title>
    <description>The latest articles on DEV Community by planu-dev.ai (@planu).</description>
    <link>https://dev.to/planu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3804602%2Feedad6c2-1286-4631-9848-fbd0515cdded.png</url>
      <title>DEV Community: planu-dev.ai</title>
      <link>https://dev.to/planu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/planu"/>
    <language>en</language>
    <item>
      <title>SDD is BDD/TDD for the AI Era — A Guide for Software Crafters</title>
      <dc:creator>planu-dev.ai</dc:creator>
      <pubDate>Wed, 25 Mar 2026 19:36:32 +0000</pubDate>
      <link>https://dev.to/planu/sdd-is-bddtdd-for-the-ai-era-a-guide-for-software-crafters-592p</link>
      <guid>https://dev.to/planu/sdd-is-bddtdd-for-the-ai-era-a-guide-for-software-crafters-592p</guid>
      <description>&lt;h1&gt;
  
  
  SDD is BDD/TDD for the AI Era — A Guide for Software Crafters
&lt;/h1&gt;

&lt;p&gt;The Software Crafters community has been arguing for engineering discipline since long before AI coding tools existed. Clean code. Continuous refactoring. Test-first. The boy scout rule.&lt;/p&gt;

&lt;p&gt;Those values do not become less important when an AI is writing the code. They become &lt;em&gt;more&lt;/em&gt; important.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Core Analogy
&lt;/h2&gt;

&lt;p&gt;You already know this principle: &lt;em&gt;write the test first, then the code.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;TDD forces you to articulate what correct behavior looks like before you implement anything. The test is a specification. The red-green-refactor loop is a verification cycle.&lt;/p&gt;

&lt;p&gt;SDD applies the same principle to AI-assisted development:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write the spec first. Then let the AI write the code.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Same discipline. Same intent. Adapted for the reality that the "developer" is now an AI agent.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Audience Gets It Immediately
&lt;/h2&gt;

&lt;p&gt;Software Crafters are already convinced that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Engineering discipline matters&lt;/li&gt;
&lt;li&gt;"Move fast and break things" accumulates debt&lt;/li&gt;
&lt;li&gt;Verification is not optional — it is part of the definition of done&lt;/li&gt;
&lt;li&gt;Shared understanding between team members prevents bugs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Planu does not need to convince you of any of this. It just shows you how to apply these principles to AI development.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Parallel Is Exact
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Software Crafters Concept&lt;/th&gt;
&lt;th&gt;SDD Equivalent&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;User Story + Acceptance Criteria&lt;/td&gt;
&lt;td&gt;Spec + Acceptance Criteria&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Test First&lt;/td&gt;
&lt;td&gt;Spec First&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Definition of Done&lt;/td&gt;
&lt;td&gt;DoD gate in Planu&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code Review&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;validate&lt;/code&gt; tool (automated drift detection)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Refactoring safely&lt;/td&gt;
&lt;td&gt;Spec + validate = safe AI-driven refactors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pair programming&lt;/td&gt;
&lt;td&gt;Human + AI with shared spec&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The workflow is familiar. The tooling is new. The discipline is identical.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Makes AI Development Different
&lt;/h2&gt;

&lt;p&gt;There is one important difference from traditional TDD: &lt;strong&gt;the AI has no memory of your decisions.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you pair program with a human colleague, they remember the discussion you had last week about error handling patterns. They remember why you chose that architecture. They can say "wait, that contradicts what we decided in the auth layer."&lt;/p&gt;

&lt;p&gt;An AI agent starts fresh every session. Without a spec, it makes decisions that may contradict previous sessions. Over time, the codebase becomes inconsistent — not because the AI is bad at writing code, but because it lacks the context that a human colleague would carry naturally.&lt;/p&gt;

&lt;p&gt;The spec is that persistent context. It is the shared understanding that survives session boundaries.&lt;/p&gt;




&lt;h2&gt;
  
  
  Drift Detection: The AI-Era Code Review
&lt;/h2&gt;

&lt;p&gt;One of Planu's most useful features for Software Crafters is drift detection.&lt;/p&gt;

&lt;p&gt;After you have an approved spec and an implementation, running &lt;code&gt;validate&lt;/code&gt; checks whether the implementation still matches the spec. This is like a continuous code review that runs against an explicit contract, not just style conventions.&lt;/p&gt;

&lt;p&gt;When the AI refactors something and accidentally breaks a behavior the spec defines, &lt;code&gt;validate&lt;/code&gt; catches it. When a feature drifts because someone added "just one small thing" without updating the spec, &lt;code&gt;validate&lt;/code&gt; catches it.&lt;/p&gt;

&lt;p&gt;This is the "refactoring safely" pattern applied to AI development.&lt;/p&gt;




&lt;h2&gt;
  
  
  Collaboration Ideas for the Community
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Conference Talk: "From Vibe Coding to Spec Driven Development"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A live demo comparing the two approaches. Format: 45-60 minutes with a hands-on section. This works well for any conference where developers are adopting AI tools and wondering how to maintain quality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Blog Series: XP Meets AI&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"What XP Practitioners Need to Know About AI Development"&lt;/li&gt;
&lt;li&gt;"How to Apply TDD Discipline to AI-Assisted Development"&lt;/li&gt;
&lt;li&gt;"Why Your AI Code Reviews Are Failing (And How to Fix Them)"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Podcast Topics&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"The AI Quality Problem No One Is Talking About"&lt;/li&gt;
&lt;li&gt;Compare to early TDD adoption: same resistance, same eventual acceptance&lt;/li&gt;
&lt;li&gt;The parallels between TDD's critics in 2003 and SDD's critics in 2026&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What Makes Planu Right for This Community
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No cloud required&lt;/strong&gt; — data stays local, no privacy concerns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language agnostic&lt;/strong&gt; — works with Python, Go, Java, Ruby, .NET, not just JavaScript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tool agnostic&lt;/strong&gt; — Claude Code, Cursor, Windsurf, Zed, Cline, Continue&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open standard&lt;/strong&gt; — built on MCP, the open protocol for AI plugins&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Engineering discipline built in&lt;/strong&gt; — the workflow enforces spec-first, not optional&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The last point matters. Planu is not a suggestion. The workflow requires a spec before implementation. You cannot skip it without explicitly overriding it. That is a deliberate design choice — the same reason TDD frameworks make it easy to write tests first, not just possible.&lt;/p&gt;




&lt;h2&gt;
  
  
  One-Line Pitch
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;"Planu is what happens when Software Crafters discipline meets AI development."&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Planu — Spec Driven Development for AI coding agents. &lt;a href="https://dev.to/en/guide/getting-started"&gt;Get started&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>specdrivendevelopment</category>
      <category>ai</category>
      <category>planu</category>
    </item>
    <item>
      <title>Live Demo: SDD vs Vibe Coding in 10 Minutes</title>
      <dc:creator>planu-dev.ai</dc:creator>
      <pubDate>Wed, 25 Mar 2026 19:35:52 +0000</pubDate>
      <link>https://dev.to/planu/live-demo-sdd-vs-vibe-coding-in-10-minutes-4463</link>
      <guid>https://dev.to/planu/live-demo-sdd-vs-vibe-coding-in-10-minutes-4463</guid>
      <description>&lt;h1&gt;
  
  
  Live Demo: SDD vs Vibe Coding in 10 Minutes
&lt;/h1&gt;

&lt;p&gt;This is the demo that makes the difference tangible. Two approaches, same feature, same AI. The contrast speaks for itself.&lt;/p&gt;

&lt;p&gt;Use this for conference talks, team workshops, or to convince a skeptical colleague that the spec-first approach is worth the two minutes it takes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Setup (before the demo)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Have a project with Planu installed in Claude Code&lt;/li&gt;
&lt;li&gt;Have a simple feature idea ready: "add dark mode toggle"&lt;/li&gt;
&lt;li&gt;Ideally have two terminal windows side by side&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Part 1: The Vibe Coding Approach (3 min)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Say:&lt;/strong&gt; &lt;em&gt;"This is how most people use AI coding tools today."&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Claude Code in a project &lt;strong&gt;without&lt;/strong&gt; Planu&lt;/li&gt;
&lt;li&gt;Type: &lt;code&gt;"Add a dark mode toggle to the settings page"&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Watch Claude write code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ask the audience:&lt;/strong&gt; "How do you know this is correct? How do you know it is done?"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Point out:&lt;/strong&gt; There is no checklist. No verification. No way to track that the right thing was built.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Say:&lt;/strong&gt; &lt;em&gt;"This works for prototypes. For production features, you need something better."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The issue is not that Claude wrote bad code. The issue is that you have no way to know whether it wrote the &lt;em&gt;right&lt;/em&gt; code without reading every line yourself.&lt;/p&gt;




&lt;h2&gt;
  
  
  Part 2: The SDD Approach (5 min)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Say:&lt;/strong&gt; &lt;em&gt;"This is Spec Driven Development with Planu."&lt;/em&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Claude Code with Planu connected&lt;/li&gt;
&lt;li&gt;Type: &lt;code&gt;"I want to add a dark mode toggle to the settings page"&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Planu creates a spec — show the acceptance criteria on screen&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Say:&lt;/strong&gt; &lt;em&gt;"Notice these acceptance criteria. The AI now knows exactly what 'done' means."&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Say to Claude: &lt;code&gt;"Approve this spec"&lt;/code&gt; — show Planu moving to 'approved' status&lt;/li&gt;
&lt;li&gt;Claude implements the feature against the spec&lt;/li&gt;
&lt;li&gt;Run: &lt;code&gt;validate SPEC-XXX&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Say:&lt;/strong&gt; &lt;em&gt;"This tells us whether the implementation matches the spec. Not vibes — verification."&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;The key moment:&lt;/strong&gt; When you show &lt;code&gt;validate&lt;/code&gt; passing, the audience sees that "done" is a binary state, not a feeling.&lt;/p&gt;




&lt;h2&gt;
  
  
  Part 3: Why This Matters (2 min)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Key points to land:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"When something breaks in production, you look at the spec — not trawl through chat logs"&lt;/li&gt;
&lt;li&gt;"When a new developer joins, the spec documents what was built and why"&lt;/li&gt;
&lt;li&gt;"When you have 50 features in flight, Planu tracks all of them — not just the one you are looking at right now"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Close with:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"Planu does not slow you down. It makes your AI more reliable. That is the difference between vibe coding and spec driven development."&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Q&amp;amp;A Preparation
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;"Isn't this just extra documentation overhead?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The spec is the contract, not the docs. It takes 2 minutes to approve and saves hours of re-implementation when the AI builds the wrong thing. You would rather find out the spec was wrong before implementation than after.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What if I am prototyping?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For throwaway prototypes, skip the spec. Planu does not force anything — it is there when you need production quality. The workflow scales down gracefully.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Does this work with Cursor, Windsurf, or other tools?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yes. Planu works with any MCP-compatible AI tool: Claude Code, Cursor, Windsurf, Zed, Cline, Continue, and more. One installation, all your tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"How long does writing a spec actually take?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;About 2 minutes for a typical feature. Planu generates the initial spec from your description — you review and approve it. The overhead is genuinely small compared to the verification it provides.&lt;/p&gt;




&lt;h2&gt;
  
  
  Adapting This Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;For a 5-minute slot:&lt;/strong&gt; Do only Part 2. Skip the Vibe Coding comparison and just show the SDD workflow working. The validate output is the most impressive part.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For a 30-minute workshop:&lt;/strong&gt; Add a hands-on section where attendees install Planu and run through the workflow themselves. The &lt;code&gt;npx @planu/cli install&lt;/code&gt; command gets them started in 30 seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For a skeptical audience:&lt;/strong&gt; Lead with the question "How do you currently verify that AI-generated code is correct?" Most people do not have a good answer. That question frames the entire demo.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Planu — Spec Driven Development for AI coding agents. &lt;a href="https://dev.to/en/guide/getting-started"&gt;Get started&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>specdrivendevelopment</category>
      <category>ai</category>
      <category>planu</category>
    </item>
    <item>
      <title>SDD vs Vibe Coding: Why Specs Make AI Development Scale</title>
      <dc:creator>planu-dev.ai</dc:creator>
      <pubDate>Wed, 25 Mar 2026 19:35:47 +0000</pubDate>
      <link>https://dev.to/planu/sdd-vs-vibe-coding-why-specs-make-ai-development-scale-5d67</link>
      <guid>https://dev.to/planu/sdd-vs-vibe-coding-why-specs-make-ai-development-scale-5d67</guid>
      <description>&lt;h1&gt;
  
  
  SDD vs Vibe Coding: Why Specs Make AI Development Scale
&lt;/h1&gt;

&lt;p&gt;"Vibe Coding" — describing features informally to AI — creates technical debt at scale. The bottleneck has shifted from &lt;em&gt;writing code&lt;/em&gt; to &lt;em&gt;validating whether AI-generated code is correct&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;AI tools are getting better at writing code every month. The remaining problem: &lt;strong&gt;verifying that what they write matches what you actually want.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Core Difference
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Without SDD:    idea → describe in chat → AI writes code → (hope it's right)
With SDD:       idea → spec → approve → AI implements → validate → done
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The difference is not about AI capability. It is about the clarity of the contract between you and your AI agent.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Vibe Coding Gets Right
&lt;/h2&gt;

&lt;p&gt;Vibe Coding is genuinely good for some things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rapid prototyping&lt;/strong&gt; — exploring an idea quickly, before committing to a design&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Small, isolated tasks&lt;/strong&gt; — "add a console.log here" or "fix this typo"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learning&lt;/strong&gt; — understanding a codebase or technique without production stakes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For these cases, informal descriptions work fine. The AI is smart enough to fill the gaps.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where Vibe Coding Breaks Down
&lt;/h2&gt;

&lt;p&gt;At production scale, informal descriptions create compounding problems:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. No shared understanding.&lt;/strong&gt; The spec lives in someone's head or scattered across chat logs. When the original developer leaves, the intent is lost.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. No verification.&lt;/strong&gt; How do you know it is done? You re-describe and hope the AI implemented what you meant, not what you said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. No traceability.&lt;/strong&gt; When something breaks, which chat message caused it? Which session changed the behavior?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Drift.&lt;/strong&gt; The AI's implementation diverges from the original intent over time, and no one notices until something breaks in production.&lt;/p&gt;




&lt;h2&gt;
  
  
  How SDD Solves All Four
&lt;/h2&gt;

&lt;p&gt;Planu's Spec Driven Development workflow addresses each problem directly:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Problem&lt;/th&gt;
&lt;th&gt;SDD Solution&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;No shared understanding&lt;/td&gt;
&lt;td&gt;Spec is a written contract, approved by both developer and AI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No verification&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;validate&lt;/code&gt; tool checks implementation against the spec&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No traceability&lt;/td&gt;
&lt;td&gt;Every change is linked to a spec ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Drift&lt;/td&gt;
&lt;td&gt;Drift detection compares current code against the approved spec&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  The Competitive Landscape
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Approach&lt;/th&gt;
&lt;th&gt;Has Spec&lt;/th&gt;
&lt;th&gt;Has Validation&lt;/th&gt;
&lt;th&gt;Has Traceability&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Vibe Coding&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kiro (AWS)&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Partial&lt;/td&gt;
&lt;td&gt;Partial&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Planu&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Kiro targets AWS and enterprise teams. Planu is language-agnostic, tool-agnostic, and works entirely locally — no cloud required.&lt;/p&gt;




&lt;h2&gt;
  
  
  Planu is Not Anti-AI
&lt;/h2&gt;

&lt;p&gt;This is worth being explicit about: &lt;strong&gt;Planu does not slow down AI development. It makes AI development reliable.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The spec takes two minutes to write and approve. The validation step takes seconds. What you get in return is confidence — the kind that lets you ship AI-generated code to production without a manual code review.&lt;/p&gt;

&lt;p&gt;"You have already accepted that AI can write code. Planu ensures it writes the &lt;em&gt;right&lt;/em&gt; code — by giving your AI a precise blueprint to follow instead of a vague chat description."&lt;/p&gt;




&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;If you are already using Claude Code, Cursor, Windsurf, or any MCP-compatible AI tool, adding Planu takes one command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @planu/cli &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then describe a feature to your AI. Instead of writing code immediately, it will create a spec first. You approve it. It implements. You validate. Done.&lt;/p&gt;

&lt;p&gt;That is the entire workflow. No configuration, no overhead, no new tools to learn.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Planu — Spec Driven Development for AI coding agents. &lt;a href="https://dev.to/en/guide/getting-started"&gt;Get started&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>specdrivendevelopment</category>
      <category>ai</category>
      <category>planu</category>
    </item>
    <item>
      <title>SDD vs TDD: Why Spec Driven Development Changes the Game for AI-Assisted Coding</title>
      <dc:creator>planu-dev.ai</dc:creator>
      <pubDate>Wed, 04 Mar 2026 16:51:26 +0000</pubDate>
      <link>https://dev.to/planu/sdd-vs-tdd-why-spec-driven-development-changes-the-game-for-ai-assisted-coding-5gba</link>
      <guid>https://dev.to/planu/sdd-vs-tdd-why-spec-driven-development-changes-the-game-for-ai-assisted-coding-5gba</guid>
      <description>&lt;h1&gt;
  
  
  SDD vs TDD: Why Spec Driven Development Changes the Game for AI-Assisted Coding
&lt;/h1&gt;

&lt;p&gt;Most developers are familiar with TDD — Test Driven Development. Write a failing test, make it pass, refactor. It's been a cornerstone of software craft for over two decades. But as AI coding agents enter the picture, a different kind of discipline is emerging: &lt;strong&gt;Spec Driven Development (SDD)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This article breaks down what each approach does, where they differ, and why SDD has become essential for teams working with AI tools like Claude, Cursor, or Windsurf.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is TDD?
&lt;/h2&gt;

&lt;p&gt;Test Driven Development is a micro-cycle practice. The loop is tight:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Write a failing test that describes desired behavior&lt;/li&gt;
&lt;li&gt;Write the minimum code to make the test pass&lt;/li&gt;
&lt;li&gt;Refactor without breaking the test&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;TDD operates at the &lt;strong&gt;code level&lt;/strong&gt;. Its primary job is to keep the implementation honest: the test expresses what a function or module should do, and the code must satisfy that contract.&lt;/p&gt;

&lt;p&gt;The benefits are real. TDD forces you to think about interfaces before implementation. It catches regressions early. It creates a living documentation of expected behavior. Teams that practice TDD consistently ship more maintainable code.&lt;/p&gt;

&lt;p&gt;The limitation is equally real: &lt;strong&gt;TDD doesn't tell you what to build.&lt;/strong&gt; You still need to decide what the feature is, what it accepts, what it returns, how it handles edge cases, and how it interacts with other parts of the system. TDD assumes you've already made those decisions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is SDD?
&lt;/h2&gt;

&lt;p&gt;Spec Driven Development is a pre-implementation discipline. Before any code is written — and before any AI agent writes a single line — you create a specification that defines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What&lt;/strong&gt; the feature does (user story, acceptance criteria)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How&lt;/strong&gt; it fits into the architecture (affected files, new types, dependencies)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What risks&lt;/strong&gt; exist (edge cases, performance concerns, rollback complexity)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How&lt;/strong&gt; success is measured (concrete, verifiable criteria)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;SDD operates at the &lt;strong&gt;feature level&lt;/strong&gt;. It produces documents — typically a User Story file and a Technical Sheet — that serve as contracts between the developer (or agent) and the intended outcome.&lt;/p&gt;

&lt;p&gt;The cycle looks like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Write the spec (spec.md + technical.md)&lt;/li&gt;
&lt;li&gt;Get explicit approval from the team or product owner&lt;/li&gt;
&lt;li&gt;Implement against the spec&lt;/li&gt;
&lt;li&gt;Validate with automated quality gates&lt;/li&gt;
&lt;li&gt;Merge only when all criteria pass&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Key Differences
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;TDD&lt;/th&gt;
&lt;th&gt;SDD&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scope&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Function / module&lt;/td&gt;
&lt;td&gt;Feature / spec&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Timing&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Before writing the function&lt;/td&gt;
&lt;td&gt;Before writing any code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Artifact&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Test file&lt;/td&gt;
&lt;td&gt;Spec document + acceptance criteria&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Primary concern&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;"Does this code do what I wrote?"&lt;/td&gt;
&lt;td&gt;"Are we building the right thing?"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Works well for&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Implementation correctness&lt;/td&gt;
&lt;td&gt;Feature scope, AI agent direction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Fails without&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Clear requirements&lt;/td&gt;
&lt;td&gt;Approval gate before coding&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These are complementary, not competing. TDD answers "is this implementation correct?" — SDD answers "is this the implementation we agreed to build?"&lt;/p&gt;

&lt;h2&gt;
  
  
  Why AI Coding Agents Break Without Specs
&lt;/h2&gt;

&lt;p&gt;Here's the real-world problem: &lt;strong&gt;AI agents are highly capable at generating code, and nearly incapable of maintaining long-term coherence without structured context.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you ask Claude or Copilot to "add a user settings page," you get code. But:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It may contradict a decision made two sprints ago&lt;/li&gt;
&lt;li&gt;It may introduce a new database schema when you already had one for the same data&lt;/li&gt;
&lt;li&gt;It may handle error cases differently from your existing patterns&lt;/li&gt;
&lt;li&gt;In a parallel session, another agent may be building the same feature from a different angle&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without a spec, every AI session is a fresh start. The agent has no contract to honor, no acceptance criteria to satisfy, and no way to know when it's done. The result is feature sprawl, inconsistency, and the kind of technical debt that's hard to name but easy to feel.&lt;/p&gt;

&lt;p&gt;With a spec, the agent has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Explicit acceptance criteria it must satisfy&lt;/li&gt;
&lt;li&gt;The architecture constraints it must respect&lt;/li&gt;
&lt;li&gt;A definition of done that both you and the agent can verify&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  When to Use Each
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Use TDD when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You're implementing a well-defined module with clear inputs and outputs&lt;/li&gt;
&lt;li&gt;You're fixing a bug and want to prevent regression&lt;/li&gt;
&lt;li&gt;You're refactoring and need a safety net&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use SDD when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You're starting a new feature, even a small one&lt;/li&gt;
&lt;li&gt;You're working with AI coding agents (always)&lt;/li&gt;
&lt;li&gt;Multiple people or agents may work on the same area&lt;/li&gt;
&lt;li&gt;The feature touches more than one file or layer&lt;/li&gt;
&lt;li&gt;You want an explicit approval gate before any code is written&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use both when:&lt;/strong&gt; you're building software seriously. SDD tells everyone what's being built. TDD verifies it was built correctly.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Planu Helps
&lt;/h2&gt;

&lt;p&gt;Planu is an MCP server that brings SDD discipline directly into your AI coding workflow. When you install Planu, your AI agent gains access to tools that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create structured spec documents (&lt;code&gt;create_spec&lt;/code&gt;) with User Stories and Technical Sheets&lt;/li&gt;
&lt;li&gt;Enforce an approval gate before any implementation begins&lt;/li&gt;
&lt;li&gt;Track implementation status against acceptance criteria&lt;/li&gt;
&lt;li&gt;Validate the spec is complete before marking it done&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The workflow with Planu looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User: "Add OAuth login support"
Agent: [uses create_spec] → generates spec.md + technical.md
User: reviews and approves the spec
Agent: [implements against the spec, tracks progress]
Agent: [uses validate_spec] → all criteria checked
Merge when gates pass
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The agent doesn't guess at scope. It has a contract.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;SDD doesn't require Planu — you can practice it with any structured document format. But if you want the discipline enforced automatically within your AI coding sessions, Planu integrates directly with Claude, Cursor, Windsurf, and any MCP-compatible agent.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/en/guide/getting-started"&gt;Read the Getting Started guide&lt;/a&gt; to set up Planu in under five minutes.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The spec is the contract. TDD verifies the code. Together, they close the loop.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
