TTechSpecs

標準開發流程

標準開發流程是 Matt Pocock’s engineering skills 的核心工作流程,涵蓋從需求探索到最終驗證的完整開發生命週期。它確保每個開發任務都經過充分的探索、明確的規劃、安全的實作和完整的驗證。


適用情境

標準開發流程適合以下情境:

最適合的情境

  • 新功能開發
  • 模組重構
  • API 設計和實作
  • 資料庫結構調整
  • 需要多團隊協作的功能

不適合的情境

  • 緊急的 bug 修復(使用 Quick Flow)
  • 簡單的 typo 修正
  • 已有明確解決方案的直接實作

流程步驟

第 1 步:探索 (Explore) - 30 分鐘

目標:深入理解問題和探索可能的解決方案

觸發

/brainstorming

探索內容

  • 明確問題陳述
  • 探索使用者需求和場景
  • 識別技術約束和限制
  • 生成多種解決方案

輸出

  • 問題的明確定義
  • 2-4 種不同的解決方案
  • 每種方案的優缺點分析
  • 推薦方案及理由

第 2 步:規劃 (Plan) - 1-2 小時

目標:制定詳細的實作計畫

觸發

/writing-plans

規劃內容

  • 詳細的實作步驟拆分
  • 明確的驗收標準
  • 技術風險評估
  • 時間估算
  • 相依關係識別

輸出

  • 結構設計
  • 介面定義
  • 資料庫 schema
  • 任務清單
  • 測試策略

第 3 步:實作 (Implement) - 2-4 小時

目標:根據計畫實作功能

觸發

/implement --spec=docs/specs/feature.md

實作原則

  • 按照計畫逐步實作
  • 每完成一個步驟就進行驗證
  • 保持程式碼可讀性和可維護性
  • 遵循專案程式碼風格

輸出

  • 功能實作程式碼
  • 單元測試
  • 整合測試
  • 技術文件

第 4 步:驗證 (Verify) - 30-60 分鐘

目標:全面驗證實作結果

觸發

/verification-before-completion

驗證內容

  • 功能性驗證
  • 完整性驗證
  • 程式碼品質驗證
  • 效能驗證
  • 安全性驗證

輸出

  • 驗證報告
  • 發現的問題清單
  • 修正建議
  • 驗收結論

第 5 步:程式碼審查 (Review) - 30-60 分鐘

目標:請求團隊成員審查程式碼

觸發

/requesting-code-review

審查內容

  • 程式碼邏輯正確性
  • 程式碼可讀性和可維護性
  • 測試覆蓋率
  • 安全性檢查
  • 性能考慮

輸出

  • PR 描述文件
  • 審查意見
  • 修正後的程式碼
  • 合併或需要修改的結論

時間成本

最快:4 小時(跳過某些步驟) 最慢:7 小時(完整執行所有步驟) 平均:5.5 小時


實際應用範例

範例 1:新功能開發

任務:實作使用者搜尋功能

標準開發流程執行:

[1/5] 探索
探索搜尋需求的場景和約束
→ 使用者需要在首頁找到商品
→ 約束:不使用外部搜尋服務,搜尋時間 < 100ms
→ 選擇:自己實作簡單搜尋

[2/5] 規劃
設計搜尋服務介面和實作步驟
→ 建立 ISearchService 介面
→ 拆分為 4 個主要步驟
→ 預估:3 小時

[3/5] 實作
使用 TDD 方式實作搜尋功能
→ 建立完整測試套件
→ 測試覆蓋率 > 80%
→ 搜尋時間優化至 < 50ms

[4/5] 驗證
功能、效能、品質全部驗證通過
→ 所有驗收標準達成

[5/5] 程式碼審查
提交 PR 並請求團隊審查
→ 程式碼風格符合規範
→ 效能優化獲得正面反饋

總時間:5.5 小時


範例 2:API 重構

任務:重構認證 API

標準開發流程執行:

[1/5] 探索
探索認證 API 的問題和改進方向
→ 目前的 session-based 認證太複雜
→ 選擇:使用 JWT token 簡化認證

[2/5] 規劃
設計 JWT token 的架構和遷移策略
→ 設計 token 生成、驗證、撤銷邏輯
→ 制定漸進式遷移計畫
→ 預估:4 小時

[3/5] 實作
實作 JWT token 認證系統
→ 每個功能都有測試
→ 向下相容現有 API

[4/5] 驗證
功能驗證通過
→ 所有現有 API 正常工作
→ 新增測試全部通過

[5/5] 程式碼審查
提交 PR 並請求團隊審查
→ 架構改進獲得正面反饋
→ 安全性檢查通過

總時間:6 小時


標準開發流程的優勢

1. 品質保證

五個步驟確保:

  • ✅ 需求被充分理解
  • ✅ 解決方案經過探索和比較
  • ✅ 計劃詳細明確
  • ✅ 實作有測試保護
  • ✅ 結果經過全面驗證
  • ✅ 程式碼經過團隊審查

2. 風險控制

每個步驟都有風險控制:

  • 探索:避免遺漏好的解決方案
  • 規劃:識別潛在風險和約束
  • 實作:測試保證功能正確性
  • 驗證:確保無遺漏和問題
  • 審查:團隊檢查和改進

3. 可追蹤性

整個流程有清晰的追蹤:

  • 每個步驟都有輸出和結果
  • 可以追溯決策的依據
  • 便於團隊協作和審查

與其他流程的比較

vs Quick Flow

特點 Quick Flow 標準開發流程
時間成本 15-45 分鐘 4-7 小時
適用任務 小型、低風險 核心、中高風險
驗證程度 基本 完整
團隊協作 個人即可 需要團隊流程

最佳實踐

1. 靈活調整

可以根據實際情況調整流程:

簡化版標準開發流程:
exploration → planning → implementation → verification

2. 並行處理

某些步驟可以並行進行:

第 3 步:實作功能
第 4 步:準備驗證環境
第 5 步:尋找審查者

3. 迭代優化

多輪標準開發流程遞進改進:

第一輪:基本實作 + 驗證
第二輪:效能優化 + 重構
第三輪:安全加固 + 測試補強

注意事項

1. 時間投資

標準開發流程需要較長時間,但能大幅提升品質:

  • 不建議用於所有任務
  • 只在重要功能上使用
  • 時間投資會有長期回報

2. 團隊配合

標準開發流程特別適合團隊環境:

  • 確保有足夠的審查人力
  • 建立程式碼審查文化
  • 保持開放的溝通氛圍

3. 文件記錄

完整記錄標準開發流程的過程:

  • 訏劃文件
  • 技術決策記錄
  • 測試結果文件
  • 審查意見記錄

標準開發流程是確保重要開發品質和安全性的完整工作流程!