臺灣規格驅動開發

水球軟體學院創建的研究組織,
致力於在臺推動 SDD(規格驅動開發:方法論)來擴大臺灣軟體公司經濟規模百倍。
spec.feature
Feature: SDD 驅動開發

Scenario: 自動化程式碼生成
Given 有一個明確的規格文件
When 我使用 SDD 方法論
Then 系統應該自動生成符合規格的程式碼
And 所有測試應該通過
And 開發效率提升 80%

什麼是 SDD?

SDD(規格驅動開發 / Spec-Driven Development)是一種 Vibe Coding/ AI Coding 的實踐,希望能夠在 Vibe Coding 的浪潮中撥亂反正,強調以「規格為核心」來驅動 AI 盡可能做到「高精度」的開發。

為何要實踐 SDD?

SDD 讓你能夠不再需要與 AI 無效率地一來一往地來回下 Prompt 修 Code,而是可以專注於業務邏輯,而不是重複性的 Prompt Engineering 工作。

我們致力於推廣 SDD 方法論,幫助台灣的開發者及企業快速掌握這項未來技術,提升開發效率和程式碼品質。

  • 關注點左移:全力寫好規格,功能便能開發到位 → 企業軟體產值百倍
  • 減少大量 Human Error → 減少 90% 的錯誤和 bug
  • DevOps:自動化測試和部署流程
Feature: 優惠券折扣計算

Scenario: VIP 會員套用多張優惠券
Given 一位 VIP 會員的購物車內有以下商品:
| 商品 | 價格 | 數量 |
| 筆記型電腦 | 30000 | 1 |
| 滑鼠 | 1500 | 1 |
And 該使用者擁有一張 "10% 折扣" 的百分比優惠券
And 該使用者擁有一張 "折抵 500 元" 的固定金額優惠券
When 使用者在訂單上套用這些優惠券
Then 最終總金額應為 27850

可是,SDD 並不單純,你很有可能犯下以下錯誤

如果無法掌握核心精神,導入 SDD 往往會落入以下陷阱,導致效率不增反減:

1.

誤解為「文件驅動」

以為只是「撰寫一堆文件」就叫做「規格驅動開發」,那為何不稱之為「文件驅動開發」就好?幹嘛又要發明一個新名詞 SDD?

2.

規格無限制:對系統分析專業一知半解

對系統分析專業一知半解,無法分清楚業務規格和各種技術規格,把 SDD 變得和一般 Prompt/Context Engineering 沒兩樣。

3.

團隊導入與衡量困難

難以導入團隊,以為寫一堆 PRD、User Story 就叫 SDD,但對於 AI 開發及 AI 與工程師的共識精度卻毫無計算標準。

4.

缺乏工程文化上的信任

工程師不想寫文件,總是讓 AI 產文件,卻怠於判斷文件的精度。長久以往,大家對 SDD 半信半疑,燒一堆 AI Tokens 卻燒不出成效。

方法論的根本:你必須了解「規格的光譜」

要實踐 SDD,你必須先掌握「規格的光譜」。規格是有光譜的,你必須定義清楚「光譜兩端」的規格分別有什麼性質。

純文件
DSL-Level 可執行規格
ISA-Level 可執行規格
測試程式碼

DSL-Level 可執行規格

  • 由 BDD 定義,為測試程式碼的抽象,隱藏技術細節只保留關鍵語義,門檻低,容易理解。
  • 要求句型一致,容易歸納出 DSL,且攜帶資料舉例說明,能夠高度同步人和 AI 的認知,擁有最良好的跨職能協作性質,不同角色都能釐清業務共識。
  • 由於是測試的抽象,人類不必自己寫測試,能讓 AI 產出對應測試程式,自行進行測試驅動開發,做到 80% 自動化開發。
  • 人類仍需仔細 Code Review AI 寫的測試,若 AI 測試寫錯,那也是徒勞。
spec-example
Scenario: 成功建立訂單
  Given 客戶在購物車中放了 "汽水 x 2""衣服 x 1"
  And "汽水" 每項 30 元
  And "衣服" 每項 120 元
  When 客戶 checkout 購物車
  Then 訂單應該建立成功
  And 訂單的總價為 180 元

SDD.TW 致力於構建軟體開發的未來

SDD.TW 相信,未來 Vibe Coding / SDD 的趨勢,一定是「DSL-Level 可執行規格」+「ISA-Level 可執行規格」的組合實踐和技術。

想像一下,未來產品開發的流程長這樣

Discovery

產品開發產值百倍:全員 SDD 協作

  • 在產品開發生命週期中,透過《Spec by example 工作坊》讓 PM、QA、設計師、工程師等角色共同協作來制定各項 User Story 的「DSL-Level可執行規格」。
  • 透過技術,直接走查 User Story 每一項 Example 是否符合全體共識及認知,如果沒有,立即同步共識。
  • 同時,從中收攏業務專用的 DSL,統一團隊在每一份用詞定義及測試意圖的理解,同時凝聚企業及產品願景。
  • 願意花大量時間溝通和釐清共識,因為一但會議結束,剩下只要部署規格,透過 SDD.OS AI 技術 就可以做到全自動化開發。
Formulation

工程師不會被取代,而是轉型

  • 工程師在會議中,透過 SDD.OS 技術,把每一句 DSL-Level 的 Spec 翻譯成「技術實現」,立即讓全體角色看見其實踐上的 AI 成本和技術意義。
  • 會議後,工程師仍是骨幹,透過「DSL 定義語言」將會後產出的「DSL-Level 可執行規格」瞬間直譯成可被技術實現的「ISA-Level 可執行規格」。
  • SDD.OS 提供 dry-run 模式,協助工程師分析開發成本 (e.g., Tokens),讓工程師持續優化 ISA(指令集架構)。
Automation

規格寫好,交給 SDD.OS AI

  • SDD.OS AI 會根據規格,產生測試意圖 100% 正確的測試程式。
  • 測試的程式架構遵循「會尖叫的架構」原則(來自 Clean Architecutre),實現超高測試程式碼的拓展性。
  • 既然測試 100% 意圖正確,AI 會持續開發直到通過所有測試,因而實作 100% 功能正確的程式。
  • 在測試保護下,工程師可輕鬆指導 AI 持續重構架構,重構後可持續回歸測試。

SDD.OS 的技術

水球軟體學院所推廣的技術原理,能在「功能性需求」上能做到 100% 正確全自動化開發,而我們認為這種「高精度」的規格實踐,才是 SDD 的未來。

請看看我們的技術實踐介紹,目前這項技術只開源給研究組織的社群成員(任何人都可以加入),直到技術成熟後,我們才會開放原始碼給所有的企業/個人無償商業使用。