iT邦幫忙

2025 iThome 鐵人賽

DAY 15
0
生成式 AI

30 天一人公司的 AI 開發實戰系列 第 15

Day 15: 系統設計師定義流程:從混亂到有序的開發標準化

  • 分享至 

  • xImage
  •  

還記得剛開始 Grimo 專案時,我的開發流程是這樣的:

腦海中有個想法 → 直接寫 code → 跑起來再說 → 
出問題了再改 → 忘記改了什麼 → 重新來過...

聽起來很熟悉嗎?

這就是典型的「想到哪做到哪」開發模式。對於小型 side project 可能還行,但當你想要打造一個真正的產品時,這種混亂會讓你陷入困境。

三天後看自己的 code,像在看天書。明明寫過類似功能,但找不到在哪。永遠在修 bug,沒時間開發新功能。不知道完成了多少,還剩多少要做。

系統設計師的覺醒

在經歷了第六天的翻車現場後,我意識到問題不在技術,而在流程。

於是我戴上「系統設計師」的帽子,開始思考:如果這是一個團隊專案,我會怎麼設計開發流程?

答案很明顯。

我需要一套標準化的開發流程。

定義任務的生命週期

首先,我定義了任務從誕生到完成的完整生命週期:

任務生命週期:

[開始] → 規劃中 → 開發中 → 測試中 → 已完成 → [結束]
                  ↓            ↑↓
              已取消        已阻塞

每個狀態都有明確的定義。

規劃中:需求收集和分析階段。當識別到新需求或問題時進入這個狀態,需求明確後準備開發。

開發中:正在實作功能。分配資源開始開發,功能完成後進入測試。

測試中:開發完成,進行測試驗證。程式碼完成後開始驗證,所有測試通過即可完成。

已完成:功能已部署上線,測試通過且功能穩定。

已取消:任務取消或無限期延後,通常因需求變更或優先級調整。

已阻塞:等待外部依賴或決策。遇到無法解決的問題時暫停,問題解決後可繼續開發。

建立任務分類系統

不是所有任務都一樣,我將任務分為兩大類:

功能需求 (FR - Functional Requirement)

用於新功能的開發,包含:

  • 需求分析
  • 設計規格
  • 技術方案
  • 驗收標準

錯誤修復 (BUG - Bug Fix)

用於修復系統問題,包含:

  • 問題描述
  • 重現步驟
  • 根因分析
  • 解決方案

設計命名規範

為了讓任務檔案有序可尋,我設計了統一的命名格式:

<序號>_<類型>_<描述>.md

實際例子:

0001_fr_user_authentication.md    # 使用者認證功能
0002_bug_memory_leak_fix.md       # 記憶體洩漏修復
0003_fr_add_project.md            # 新增專案功能
0006_fr_database_migration_system.md  # 資料庫遷移系統

這樣的命名讓我能夠快速了解任務順序、一眼識別任務類型、輕鬆搜尋相關任務。

創建任務模板

為了確保每個任務都有完整的資訊,我為不同類型的任務創建了模板。

功能需求模板結構

# 功能需求:[功能名稱]

## 狀態
規劃中

## 需求概述
[清楚描述要做什麼]

## 使用案例
[詳細的使用者互動流程]

## 技術設計
[實作方案和架構設計]

## 驗收標準
[可驗證的完成標準]

## 實作解決方案
[完成後記錄實際的實作方式]

錯誤修復模板結構

# 錯誤修復:[問題描述]

## 狀態
開發中

## 錯誤摘要
[問題的簡短描述和嚴重程度]

## 重現步驟
[明確可重複的步驟]

## 根因分析
[技術層面的問題原因]

## 解決方案
[修復方法和替代方案]

## 測試計畫
[驗證修復的測試方案]

建立工作流程

有了任務和模板,接下來是定義清晰的工作流程:

工作流程:

識別需求/問題 → 判斷任務類型 → 複製對應範本 → 填寫內容
                                        ↓
記錄方案 ← 完成任務 ← 更新狀態 ← 開始開發 ← 更新 README ← 建立文件 ← 分配序號

關鍵點:

  1. 任務建立必須有文件 - 沒有文件,就沒有任務
  2. 狀態即時更新 - 讓進度透明可見
  3. 完成必須有記錄 - 記錄實作方案,方便未來參考
  4. 集中管理 - 所有任務異動都在 README 中追蹤

實戰案例:資料庫遷移系統

讓我用一個實際案例來展示這套流程如何運作。當我需要實作資料庫遷移系統時:

1. 建立任務文件

創建 0006_fr_database_migration_system.md

2. 規劃階段

在文件中詳細記錄:

  • 為什麼需要遷移系統
  • SQLDelight 2.0+ 的最佳實踐
  • 技術方案選擇

3. 開發階段

  • 更新狀態為「開發中」
  • 按照設計實作功能
  • 遇到問題記錄在文件中

4. 測試階段

  • 編寫測試案例
  • 驗證遷移流程
  • 確保向後相容

5. 完成階段

  • 更新狀態為「已完成」
  • 重要:記錄實作解決方案(技術細節、遇到的挑戰、解決方法)
  • 更新任務管理 README
  • 記錄完成日期

從混亂到有序

實施這套標準化流程後,我的開發體驗完全改變了。

以前,我不知道做過什麼,找不到之前的決策原因,重複踩同樣的坑,進度完全不透明。

現在不一樣了。

有了清晰的任務追蹤系統,15 個以上的任務文件,每個都有完整記錄。所有決策都可追溯,為什麼這樣做、當時怎麼想的,都有記錄。遇過的問題和解決方案都保存下來,形成知識累積。進度完全透明,一眼看出完成了什麼,還有什麼要做。

現在的任務狀態一目了然。實際上,我建立了完整的任務追蹤系統:

已完成:載入動畫、視窗調整、專案列表 UI、Workspace 初始化等
開發中:資料庫 Migration 系統(進度 30%)
規劃中:CloudEvents 整合、專案列表後端功能
已取消:暫時沒有

每個任務都有編號、類型、負責人和進度追蹤。這不是空談,而是真的在運作的系統。

給 AI 助手的加成

這套流程不只對我有幫助,更重要的是,它讓 AI 助手能更好地協助開發。

看看實際的協作模式:當我說「Claude,幫我實作 0006 號任務」,AI 可以直接讀取任務文件,了解完整的需求背景、技術設計和驗收標準。不需要我重複說明。

當任務完成後,AI 會自動更新任務狀態、記錄實作解決方案、更新 README。整個過程就像有個真正的開發夥伴。

之前的解決方案都被記錄下來,成為 AI 的知識庫。下次遇到類似問題,AI 可以參考之前的實作,避免重複踩坑。

流程是為了自由

你可能會想:「一人公司需要這麼複雜的流程嗎?」

我的答案是:好的流程不是限制,而是解放。

當你不需要記住所有細節,不需要擔心忘記什麼,你就能專注在真正重要的事情上 - 創造價值。

就像寫程式需要設計模式,開發專案也需要流程模式。這套標準化流程就是我的「開發設計模式」。

實用建議

如果你也想建立自己的開發流程,這裡是我的建議:

  1. 從簡單開始:先有基本的任務文件和狀態追蹤
  2. 逐步完善:我的系統也是從簡單的 TODO list 演化而來
  3. 工具輔助:Git 做版本控制、Markdown 寫文件、AI 助手協作
  4. 保持紀律:每個任務都要走完整流程,不能偷懶
  5. 定期回顧:看看哪些任務卡住了、為什麼取消了、能改進什麼

最重要的是,這套系統要能真正幫助你,而不是成為負擔。如果覺得太複雜,就簡化它。如果不夠用,就擴充它。

今日金句

「混亂是創新的溫床,但產品需要秩序才能成長。」

關於作者:Sam,一人公司創辦人。正在打造 Grimo,一個智能任務管理和分配平台。

專案連結GitHub - grimostudio


上一篇
Day 14: 創辦人週報:重新學習一套開發生態框架讓開發如此順利
系列文
30 天一人公司的 AI 開發實戰15
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言