惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
Last Week in AI
Last Week in AI
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
The Cloudflare Blog
罗磊的独立博客
月光博客
月光博客
N
Netflix TechBlog - Medium
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
IT之家
IT之家
Jina AI
Jina AI
J
Java Code Geeks

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
SDD is now my go-to when developing a Website / Software
Muhamad Sula · 2026-05-19 · via DEV Community

Muhamad Sulaiman

vibe-coding-vs-sdd

Recently, I ran an experiment across several of the projects I’ve been building. The focus of that experiment was simple: how could I consistently get better results and higher-quality responses from the AI models I use, while also reducing the time it takes to arrive at a solid outcome?

Previously, my workflow leaned more toward Vibe Coding Prompting, or VCP. My usual approach was to build things first, then ask the AI to review what I might have overlooked, especially around caching strategy and SQL performance.

The problem, however, was that VCP often gave me responses that did not meet the standard I was aiming for. Hallucinations were quite common, and the issue became even more obvious when the context grew longer and more complex.
Because of that, I changed the way I use AI in my daily workflow. I moved from VCP toward SDD, or Spec-Driven Development. From my experience so far, SDD gives me significantly better responses than VCP.


That said, I have not abandoned VCP entirely. It is still useful when I want the AI agent to handle repetitive tasks for me, so I can stay focused on work that requires more attention and deeper thinking.

The first time I used SDD, I stuck with it almost immediately because it felt like working with a highly capable Project Manager. That said, SDD does take more time at the beginning. You need clear stakeholder requirements first. Then you need the AI to align properly with the spec before execution begins. This is different from VCP, where you can often jump straight into getting an output. The trade-off is that the output may not be as strong or as reliable as what SDD produces.

The slower start is normal. That has always been true in software development. Even before AI became part of our workflow, we still needed time to analyze requirements and think things through properly. The difference is that, over the long run, SDD has accelerated my workflow by more than 30%. The quality of the output is better, and the number of bugs is lower. As a result, I spend far less time debugging.


At the moment, this is how I work with AI. You may want to adopt parts of this workflow, or perhaps share your own with me. I am always open to learning from how others approach their process. For now, this is the workflow that works best for me:

  1. I manually initialize all Laravel, Symfony, Nuxt, Next, or Express projects.

  2. I set up the initial routes that I know the project will need.

  3. I create the necessary SKILLS to ensure my AI agent can follow SDD, read related specs correctly, and understand my preferred code patterns.

  4. Once those first three steps are in place, I create a specs/ folder, along with the relevant subfolders for the specs I want the AI to work on. For example, I recently needed a shell script for a data pipeline process, so I created specs/shell/.

  5. Before asking the AI to generate the basic files for SDD, I write the readme.md for that spec myself. This document contains the full stakeholder requirements, including the WHY behind the spec.

  6. I then run a prompt that instructs the AI to read and analyze that readme.md.

  7. Based on its analysis, I ask the AI to raise any questions it may have before completing the development plan for that spec.

  8. Once I answer those questions and it generates the development plan, I review that plan carefully, step by step. If anything feels off, I correct it manually until I am fully satisfied, and only then do I ask the AI to execute the plan.

I am not claiming that this is the best workflow. It is simply the workflow that fits the way I work today. I still think critically, and I still write code manually. What SDD gives me is a more structured path, fewer bugs, and a faster development cycle overall. That also allows me to spend more time on the things that matter most, such as design patterns, architecture, and other higher-level engineering decisions.