iT邦幫忙

2025 iThome 鐵人賽

DAY 10
1
生成式 AI

AI-Driven Development - 個人開發者的敏捷實踐系列 第 10

Day 10 - AI-DLC Sprint × Spec-Driven Development:規格驅動的敏捷 AI 開發實踐

  • 分享至 

  • xImage
  •  

在第 4 天,我們介紹了 AI-DLC Sprint —— 一個結合 AWS AI-DLC 和傳統 Sprint 優點的框架。第 9 天,我們學習了 GitHub 的 Spec-Driven Development。今天,讓我們探索這兩個方法論如何相輔相成,創造出更強大的開發工作流程。

兩個方法論的天然契合

AI-DLC Sprint 已有的流程

回顧第 4 天提到的 AI-DLC Sprint,我們已經建立了完整的開發流程:

  • 規格書:定義專案目標和需求
  • User Story:拆解功能需求
  • Acceptance Criteria:明確完成標準
  • UI/UX:設計使用者體驗
  • Development:開發實作
  • Deployment:部署上線

Spec-Driven Development 的強化

SDD 不是要取代這個流程,而是讓每個環節更加精準:

  1. 讓規格「活」起來:從靜態文件變成可執行的指令
  2. 減少理解偏差:AI 不用猜測,直接理解意圖
  3. 累積式改進:規格隨專案演進,知識不斷沉澱

為什麼 SDD 與 AI-DLC Sprint 是互補?

如果我們把 SDD 與 AI-DLC Sprint 放在同一張圖裡,就會發現:

  • SDD 解決的是「方向正確」的問題:確保需求、規格、AC 是 AI 可以理解並執行的。
  • AI-DLC Sprint 解決的是「節奏持續」的問題:確保規格化的需求能夠在短週期內轉換成可交付的成果。

換句話說,SDD 提供 語言與規格的精準度,AI-DLC Sprint 提供 節奏與交付的韌性。兩者結合後,團隊可以進入一個正向循環:

  1. 規格更清楚 → AI 能產出更精準的程式碼與文件
  2. 交付更頻繁 → 每個 Sprint 產出的結果,反過來成為下一輪 Spec 的驗證
  3. 持續優化規格-交付迴路 → 規格與產品逐步收斂,減少返工

概念融合:讓規格成為 AI 的導航系統

傳統開發 vs AI 開發的規格角色

傳統開發中的規格:

  • 寫完就束之高閣的文件
  • 開發過程中不斷偏離
  • 最後產品可能完全不同

AI-DLC Sprint 中的規格:

  • AI 理解和執行的藍圖
  • 持續對話的基準點
  • 自動轉化為程式碼的指令

AI-DLC Sprint 三種變形的規格強化

Solo Sprint:個人開發的規格輕量化

在 48 小時的高速開發中,規格需要極度精簡但明確。

核心原則:

  • 意圖優於細節:專注於要解決什麼問題
  • 約束優於規範:設定邊界而非詳細規則
  • 迭代優於完美:快速開始,邊做邊改

規格要素:

  • 一句話目標:這個專案要達成什麼
  • 核心功能列表:3-5 個必要功能
  • 技術約束:必須用什麼、不能用什麼
  • 完成定義:什麼狀態算是完成

Team Sprint:小團隊的規格協作

3-5 人團隊需要更結構化的規格來協調合作。

規格分層:

  • 專案層規格:整體目標和架構
  • 功能層規格:各個功能的詳細定義
  • 介面層規格:團隊間的協作介面

協作機制:

  • 規格 Owner:每個規格有明確負責人
  • 變更流程:規格修改需要通知相關人
  • 版本管理:規格隨程式碼一起版控

規格驅動的 AI 對話模式

從 Vibe Coding 到 Spec Coding

Vibe Coding(憑感覺):

你:幫我做一個部落格
AI:好的,這是基本的部落格系統...
你:不對,我要能多人發文的
AI:了解,讓我修改...

Spec Coding(憑規格):

你:根據規格 BLOG-001 實作多作者部落格系統
AI:我看到規格中定義了作者權限模型,讓我實作...

AI 對話的三個層次

  1. 規格引用層:直接引用規格編號
  2. 規格理解層:讓 AI 解釋理解
  3. 規格演進層:基於實作反饋更新

規格品質的關鍵要素

好規格的特徵

  1. 可測試性:能明確判斷是否滿足
  2. 無歧義性:AI 和人類理解一致
  3. 完整性:涵蓋正常和異常情況
  4. 可追溯性:知道為什麼這樣規定

實踐建議:漸進式導入

Phase 1:從意圖開始(Week 1)

先不寫詳細規格,只記錄核心意圖:

  • 這個功能為什麼存在?
  • 成功是什麼樣子?
  • 有哪些限制條件?

Phase 2:補充細節(Week 2)

基於初期實作經驗,補充規格:

  • 具體的使用流程
  • 資料結構定義
  • 錯誤處理策略

Phase 3:規格系統化(Week 3+)

建立規格管理體系:

  • 規格編號系統
  • 規格模板庫
  • 規格審查流程

常見挑戰與解決方案

挑戰 1:規格跟不上變化

解決方案:

  • 採用規格版本管理
  • 建立規格更新的快速通道
  • AI 協助識別過時規格

挑戰 2:團隊成員不想寫規格

解決方案:

  • 從簡單的 bullet points 開始
  • 用 AI 協助生成規格草稿
  • 展示規格帶來的效率提升

挑戰 3:規格過於技術化

解決方案:

  • 分層規格(業務層、技術層)
  • 使用 User Story 格式
  • 加入示例和場景說明

未來展望:規格即程式碼

自動化程度的提升

隨著 AI 能力增強,我們正在接近:
自然語言規格 → AI 理解 → 自動實作 → 自動測試 → 自動部署

總結:相輔相成的最佳實踐

AI-DLC Sprint 提供了敏捷的開發節奏,而 Spec-Driven Development 確保了開發的精準度。當兩者結合:

  • 開發效率倍增:清晰的規格讓 AI 一次就做對
  • 品質內建保證:規格即標準,減少事後修正
  • 知識有效累積:規格成為團隊的共同語言
  • 協作更加順暢:規格消除理解偏差

這不是選擇其中一個,而是讓兩者相輔相成,共同推動我們進入更高效的 AI 開發時代。


明天預告

明天我們將深入探討 AI 時代最關鍵的技能:Prompt Engineering 的藝術與科學。從基礎原則到進階技巧,幫助你真正掌握與 AI 協作的精髓。


上一篇
Day 9 - Spec-Driven Development:讓 AI 真正理解你想要什麼
系列文
AI-Driven Development - 個人開發者的敏捷實踐10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言