標準開發流程
標準開發流程是 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. 文件記錄
完整記錄標準開發流程的過程:
- 訏劃文件
- 技術決策記錄
- 測試結果文件
- 審查意見記錄
標準開發流程是確保重要開發品質和安全性的完整工作流程!