iT邦幫忙

2025 iThome 鐵人賽

DAY 30
0
佛心分享-SideProject30

AI-Driven Development 實戰篇:30 天 Side Project 開發全紀錄系列 第 30

Day 30 - 系列完結:四個 Side Project,一個全新的開發世界

  • 分享至 

  • xImage
  •  

終於到了系列的最終章~
30 篇文章不只是為了完賽而寫,而是真實地記錄了我的成長。
從第一個 MenuBar Todo,到最後的 BoltHQ,每個專案都是一次實驗,每次實驗都帶來新的領悟。
今天,讓我回顧這 30 天的旅程,分享四個專案的故事,以及我學到的一切。

四個專案,四個故事

Project 1:MenuBar Todo - 第一次嘗試

初衷:
「我要用 SDD AI Sprint 做一個 MenuBar App!」

現實:
第一個專案就碰上一堆問題:

  • AI 產出不是很理想
  • Prompt 寫不好

學到的經驗:

  1. AI 不是魔法,但是捷徑

    • 我花了 3 天就做出了第一個可用的 MenuBar App
    • 如果自己學,可能需要 2-3 週
  2. 問題要具體

    • 初期:「幫我寫一個 MenuBar App」(AI 一頭霧水)
    • 後期:SDD AI Sprint 把每個規格都寫清楚,讓 AI 做得精準
  3. 小步驗證

    • 不要一次寫整個 App
    • 先做出 MenuBar 圖標
    • 再加上下拉選單
    • 最後加上功能

成果:

  • 一個能用的 MenuBar Todo App
  • 建立了與 AI 流程的信心

如果重做?
現在的我會:

  • 先寫 PRD,再開發
  • 用 TDD 保證品質
  • 加上測試和 CI/CD

但第一次的「粗糙」很重要,因為它讓我知道:

「我真的可以用 SDD AI Sprint 做出東西!」


Project 2:智能記帳 - 第一次失敗

初衷:
「有了 MenuBar Todo 的經驗,這次我要做一個大一點的專案!」

現實:
我大膽地做了:

  • 收獲識別(OCR)
  • 智能分類(AI)
  • 資料視覺化(Chart)
  • 自動同步(Cloud)

然後...做不完。

學到的教訓:

  1. 野心要配得上能力

    • 我想做的功能太多
    • 每個功能都只做了 70%
    • 最後什麼都不完整
  2. MVP 的重要性

    • 應該先做出最小可用版本
    • 再逐步增加功能
    • 不是一開始就全部做
  3. 使用者回饋的價值

    • 我做了很多「我覺得」需要的功能
    • 但沒有人真的用
    • 應該先做出 MVP,再根據回饋調整

成果:

  • 一個 70% 完成度的專案
  • 一堆寶貴的教訓
  • 知道不該做什麼

如果重做?
現在的我會:

  • 先做「手動輸入費用 + 顯示列表」
  • 等能用了,再加 OCR
  • 再等有人用,再加 AI 分類

這次經驗讓我明白:

「完成 比 完美 更重要。」


Project 3:心情日記 - 第一次成功 MVP

初衷:
「這次我要做小一點,但要做完!」

現實:
我學聪明了:

  • 只做三個核心功能
    1. 記錄心情
    2. AI 回應
    3. 日曆檢視
  • 其他都不做

學到的教訓:

  1. 少即是多

    • 3 個功能做到 100%
    • 比 10 個功能做到 50% 好
  2. TDD 的價值

    • 這次我用了 TDD
    • 每個功能都有測試保護
    • 重構時非常安心
  3. 使用者體驗的重要性

    • 這次我花了時間做 UI/UX

成果:

  • 一個完整可用 SDD AI Sprint
  • UI/UX 還算滿意

Project 4:BoltHQ - 第一次系統化

初衷:
「我要把前三個專案學到的東西,整合成一個完整的開發流程!」

現實:
這次我做了前所未有的準備:

  • Day 1:需求釐清
  • Day 2:PRD 規劃
  • Day 3:User Stories 拆解
  • Day 4:UI/UX 設計
  • Day 5:環境設定 + TDD

然後才開始寫 code。

學到的教訓:

  1. 準備比執行更重要

    • 前 4 天做準備
    • 但開發速度快 3 倍
    • 因為方向清晰,不用一直改
  2. AI 傭兵團的威力

    • AI PM 寫 PRD
    • AI BA 拆 User Stories
    • AI Architect 設計架構
    • AI Designer 設計 UI/UX
    • AI Developer 寫 code
  3. 流程比工具更重要

    • 不是 AI 多強
    • 而是我知道什麼時候用什麼 AI
    • 怎麼用才最有效

成果:

  • 一個完整的 SDD AI Sprint 流程
  • 所有文件都齊全
  • 每個步驟都有測試保護'
  • 期待可以完成它

四個專案的比較

讓我用表格比較一下:

項目 MenuBar Todo 智能記帳 心情日記 BoltHQ
開發時間 3 天 14 天(未完成) 7 天 5 天(準備)+ 開發中
功能數 3 8 3 4
完成度 90% 70% 100% 進行中
有無 PRD
有無 TDD
有無 UI 設計
使用者 只有我 沒人用 5+ 人 還沒上線
學到什麼 AI 協作 MVP 重要性 聚焦的價值 系統化流程

看得出來的趨勢:

  1. 準備時間增加,但總時間減少

    • MenuBar Todo:直接寫,3 天
    • BoltHQ:準備 4 天 + 開發快很多
  2. 功能數減少,但完成度提高

    • 智能記帳:8 個功能,70% 完成
    • 心情日記:3 個功能,100% 完成
  3. 文件從無到有,品質提升

    • 前三個:沒有 PRD,想到什麼做什麼
    • BoltHQ:完整文件,每步有依據
  4. 測試從無到有,信心增加

    • 前兩個:沒有測試,改 code 很恐懼
    • 後兩個:TDD,重構很安心

從個人實驗到工作實踐

實戰案例:不可能的任務

最近我在工作上遇到一個「經典」需求:

一週內要完成原本估兩個 Sprint 的功能。
(沒錯,就是那種敵捷開發但 Deadline 和 Scope 都不可撓動的情況)

傳統作法(需要 14 天):

Day 1-2:看需求,想要做什麼
Day 3-4:設計資料庫,寫 API
Day 5-6:做前端,發現與 API 不合
Day 7-8:改 API,再改前端
Day 9-10:測試,發現一堆 bug
Day 11-12:修 bug,又壞了其他功能
Day 13-14:再修 bug,總算可以上線

SDD AI Sprint 實戰(7 天完成):

Day 1 上午:與 AI PM 寫 PRD(1 小時)
Day 1 下午:與 AI BA 拆 User Stories(2 小時)

Day 2 上午:與 AI Architect 設計架構(3 小時)
Day 2 下午:與 AI Designer 設計 UI(2 小時)

Day 3-5:TDD 開發核心功能
Day 6:整合測試,修 bug
Day 7:Demo 和上線

差別在哪?

項目 傳統作法 SDD AI Sprint
需求明確度 模糊 非常清晰
設計時間 遲到開發才發現問題 提前發現並解決
開發速度 慢,一直改 快,方向清晰
Bug 數量 多,改 A 壞 B 少,有測試保護
文件完整度 完整
信心 低,不確定能否完成 高,每步都可預測

雖然每天都加班,但還是在期限內完成了整個專案。

這次經驗讓我更確信:

SDD AI Sprint 不是理論,是真的能在實戰中發揮作用的方法論。

估時變得更準確

以前估時:

這個功能大概... 3 天吧
(心裡想著可能要 5 天)

現在估時:

PRD + User Stories: 0.5 天
架構 + UI 設計: 0.5 天
AI 輔助開發: 1 天
測試調整: 0.5 天
Buffer: 0.5 天
= 3 天

準確度反而提高了,因為:

  • 每個階段的時間可預測
  • AI 的產出速度穩定
  • 有測試保護,bug 少

文件不再是負擔

以前:

PM:「這個功能的 API 文件在哪?」
我:「額...我寫在 code 裡面,你看 code 就知道了」

現在:

PM:「這個功能的 API 文件在哪?」
我:「在 docs/API.md,有完整的說明和範例」

AI 讓文件自動產生:

  • PRD 自動生成
  • API 文件自動生成
  • User Stories 自動生成
  • 測試案例就是文件

我現在的專案文件完整度是以前的 3 倍

不是我變勤勞了,是 AI 讓文件「順便」就產生了。

思維轉變的魔法

這 30 天最大的收獲不是技術,而是思維方式的轉變。

以前 vs 現在

情境 以前的我 現在的我
遇到複雜功能 這個功能好複雜,要研究好久 讓我想想怎麼跟 AI 描述清楚
遇到 Bug 這個 bug 找不到原因,要慢慢 debug 把錯誤訊息丟給 AI,一起分析
學新技術 新技術好難學,要看好多文件 直接問 AI + 實作驗證
需求估時 這個需求做不完 讓 AI 傭兵團一起上

當這些事情都變簡單了:
我們就能專注在真正重要的事:

  • 解決使用者的問題
  • 創造有價值的產品
  • 思考更好的解決方案
  • 學習更深入的技術

我現在的開發流程 (SDD AI Sprint)

1. 與 AI PM 寫 PRD(10 分鐘)
   ↓
2. 與 AI BA 拆 User Stories(10 分鐘)
   ↓
3. 與 AI Architect 設計架構(10 分鐘)
   ↓
4. 與 AI Designer 設計 UI(10 分鐘)
   ↓
5. TDD 開發
   - 寫測試
   - 與 AI 實作
   - 重構優化
   - 繼續下一個
   ↓
6. 整合測試(30 分鐘)
   ↓
7. 上線部署(15 分鐘)

這個流程:

  • 可重複
  • 可預測
  • 可擴展
  • 有品質保證

30 天學到的十大教訓

1. AI 不是魔法,但是助手

錯誤期待:
「我告訴 AI 要做什麼,AI 就能做出完美的成品」

現實:
「AI 幫我快速產生初稿,我再調整到完美」

AI 是 80分的助手,不是 100分的魔法師。

2. 問題比答案更重要

差的問題:
「幫我寫一個任務管理 App」

好的問題:
「如何在 React 中實作一個可拖曳的任務清單,使用 dnd-kit 庫,支援多欄佈局?」

越具體的問題,越好的答案。

3. MVP 比完美更重要

失敗的智能記帳:

  • 8 個功能,每個 70%
  • 結果:什麼都不完整

成功的心情日記:

  • 3 個功能,每個 100%
  • 結果:人們真的用了

做少一點,但做好一點。

4. 測試不是成本,是保隚

沒有測試的痛苦:

  • 改 A 壞 B
  • 不敢重構
  • 上線很恐懼

有測試的自由:

  • 改 A,測試通過,安心
  • 重構後,測試通過,放心
  • 上線前,所有測試通過,有信心

測試是信心的來源。

5. 文件不是負擔,是資產

以前:
「寫文件好麻煩,有時間再說」

現在:
「AI 幫我寫 PRD,我只需要 review」

讓 AI 產生文件,我們來保證品質。

6. 準備比執行更重要

不準備:

  • 開發 7 天
  • 一直改方向
  • 最後做不完

有準備:

  • 準備 2 天 + 開發 3 天
  • 方向清晰
  • 顺利完成

磨刀不誤砍柴工。

7. 小步驗證比大步開發更快

大步開發:

  • 寫 3 天 code
  • 發現方向錯了
  • 全部重寫

小步驗證:

  • 寫 1 小時 code
  • 驗證可行
  • 繼續下一步

快速失敗,快速調整。

8. AI 傭兵團比單一 AI 更強

單一 AI:
「幫我做一個專案」(什麼都不專精)

AI 傭兵團:

  • AI PM 專門寫 PRD
  • AI BA 專門拆 Stories
  • AI Architect 專門設計架構
  • AI Designer 專門設計 UI
  • AI Developer 專門寫 code

分工合作,各司其職。

9. 流程比工具更重要

只有工具:
有 AI,但不知道什麼時候用

有流程:
知道每個階段該用哪個 AI

好的流程讓好的工具發揮最大效益。

10. 持續改進比一次完美更實際

一次完美:

  • 永遠做不到
  • 節奏很慢

持續改進:

  • 每個專案都更好
  • 速度越來越快

完成比完美更重要,進步比完美更持久。

完賽心得:感謝與分享

一起奮戰的夥伴

今年想挑戰自己做些不一樣的事情,所以找了兩位同事一起參加鐵人賽。他們都是我職涯旅程中遇到為數不多的優秀夥伴,兼具硬實力與軟實力。

強烈推薦大家去看看他們的精彩分享:

即將到來的分享

今年還不小心報名了兩場演講,其中一場是明天的 Hello World Dev Conference 2025。演講內容正是這個系列的精華:SDD AI Sprint 的實戰經驗。希望能將這些經驗帶給更多開發者。

給讀者的話

你還在猶豫要不要投入時間學習 AI 開發嗎,三種情況,三個建議~

如果你還在觀望:
不要等了,現在就是最好的時機。

如果你剛開始學習:
堅持下去,突破點比你想像的更近。

如果你已經在實踐:
歡迎交流,一起探索更多可能。

未來的計劃

雖然鐵人賽結束了,但我的 AI 開發之旅才剛開始~

SDD AI Sprint系列

如果你對 SDD AI Sprint 有興趣,歡迎關注我的 AI-Driven Development - 個人開發者的敏捷實踐

持續探索的方向

  • 深化 AI Agent 協作:探索更複雜的多 Agent 系統
  • 自動化流程優化:將更多重複性工作自動化
  • 團隊推廣:幫助團隊導入 AI 開發流程

結語:這不是結束,是開始

我想打造的是個人開發者和團隊都能受益的 AI 開發流程。這 30 天,我用 side project 實踐了 SDD AI Sprint,得出的就是這 30 篇文章的內容。

這些都是我過往經驗和實際試煉的結果。雖然可能不是最完美的做法,但希望能為你帶來一些啟發和實用的方法。

展望

目前 SDD 大家都在使用以及個人體驗上真的改變了傳統開發的模式,但是後面要維護 AI Code 也是一個非常大的挑戰,目前流程上真的很快很順暢,但後面的維護目前還在觀察,以及要把 SDD AI Sprint 導入到小團隊甚至是大團隊也是一個很大的挑戰。

最後的感謝

感謝每一位看到這裡的讀者~

特別感謝:

  • iThome 鐵人賽平台,提供了這個分享和學習的機會
  • AI 工具的開發者們,你們創造了改變世界的工具
  • 我的團隊,包容我在這 30 天的各種實驗
  • 鐵人賽鳥籠小夥伴,有戰友讓彼此走得更遠

一個小小的請求

如果這個系列對你有幫助,請:

  1. 分享給需要的朋友,讓更多人受益
  2. 留言告訴我你的想法,無論是建議還是批評
  3. 開始你的 AI 開發之旅,然後分享你的故事

上一篇
Day29 - BoltHQ TDD - Day 5:環境設定與第一個測試,終於要開工了!
系列文
AI-Driven Development 實戰篇:30 天 Side Project 開發全紀錄30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言