TTechSpecs

深度分析流程

深度分析流程是針對複雜、不明確的問題進行深入調查和分析的工作流程,特別適合問題原因不明或解決方案模糊的情境。


適用情境

深度分析流程適合以下情境:

最適合的情境

  • 問題原因不明確
  • 解決方案模糊不清
  • 需要深入調查的複雜問題
  • 需要多輪實驗的技術問題
  • 需要數據支持的決策

不適合的情境

  • 問題原因明確(直接實作即可)
  • 有明確解決方案的實作任務
  • 緊急的問題修復(使用 Quick Flow)
  • 簡單的問題排查

流程步驟

第 1 步:問題定義 (Define) - 30 分鐘

目標:明確問題的表現和影響範圍

觸發

/brainstorming

定義內容

  • 問題的具體表現
  • 影響範圍和嚴重程度
  • 相關環境和背景
  • 初步假設和猜測

輸出

  • 問題描述文件
  • 影響評估
  • 初步假設清單

第 2 步:假設生成 (Hypothesis) - 30 分鐘

目標:生成多個可能的假設

觸發

/brainstorming

假設內容

  • 基於問題表現生成假設
  • 每個假設有明確的證據
  • 識別可驗證的觀察點

輸出

  • 3-5 個假設
  • 每個假設的驗證方法
  • 優先級排序

第 3 步:證據收集 (Evidence) - 1-2 小時

目標:收集假設驗證所需的證據

觸發

/investigate

證據收集內容

  • 程式碼和日誌分析
  • 系統監控和指標
  • 使用者訪談和回饋收集
  • 實驗和測試

輸出

  • 證據清單
  • 數據分析結果
  • 實驗結果

第 4 步:假設驗證 (Validate) - 1-2 小時

目標:驗證或反駁假設

觸發

/investigate

驗證內容

  • 對證證據是否支持假設
  • 識別證證過程中的偏差
  • 分析結果的置信度
  • 識別需要進一步調查的領域

輸出

  • 假設驗證結果
  • 置信度評估
  • 新的發現或洞察
  • 下一輪調查建議

第 5 步:結論和建議 (Conclude) - 30 分鐘

目標:總結分析結果並提出建議

觸發

/to-spec

結論內容

  • 問題的根本原因
  • 最可能的解決方案
  • 實施建議和後續步驟
  • 風險評估和緩解措施

輸出

  • 分析報告
  • 根本原因分析
  • 解決方案建議
  • 實施計畫

時間成本

最快:3.5 小時(跳過某些步驟) 最慢:6 小時(完整執行所有步驟) 平均:4.5 小時


實際應用範例

範例 1:性能問題分析

任務:API 回應時間突然變慢

深度分析流程執行:

[1/5] 問題定義
明確問題表現和影響
→ API 回應時間從 100ms 上升到 5s
→ 影響範圍:所有 API 端點
→ 初步假設:資料庫查詢效率問題

[2/5] 假設生成
生成多個假設
→ 假設 1:資料庫索引缺失
→ 假設 2:網路延遲問題
→ 假設 3:記憶體洩漏
→ 假設 4:鎖競爭問題
→ 假設 5:新部署引入的問題

[3/5] 證據收集
收集假設驗證所需的證據
→ 程式碼審查:無近期變更
→ 資料庫查詢分析:某些查詢很慢
→ 系統監控:CPU 使用率正常
→ 記憶體監控:記憶體使用率 85%
→ 新部署日誌:3 天前部署了新功能

[4/5] 假設驗證
驗證或反駁假設
→ 假設 1:資料庫索引缺失 ✅ 驗證
→ 假設 2:網路延遲問題 ❌ 反駁
→ 假設 3:記憶體洩漏 ❌ 反駁
→ 假設 4:鎖競爭問題 ❌ 反駁
→ 假設 5:新部署引入的問題 ✅ 驗證

[5/5] 論和建議
總結分析結果
→ 根本原因:新功能的查詢沒有建立索引
→ 解決方案:建立缺失的資料庫索引
→ 實施建議:立即建立索引,並規劃未來的索引策略

總時間:4 小時


範例 2:記憶體洩漏分析

任務:應用記憶體持續增長

深度分析流程執行:

[1/5] 問題定義
明確問題表現和影響
→ 記憶體使用率從 30% 上升到 85%
→ 影響範圍:所有服務
→ 初步假設:記憶體洩漏

[2/5] 假設生成
生成多個假設
→ 假設 1:快取洩漏
→ 假設 2:連接池洩漏
→ 假設 3:大量資料載入
→ 假設 4:事件監聽器未取消
→ 假設 5:快取策略不當

[3/5] 證據收集
收集假設驗證所需的證據
→ 記憶體分析工具報告
→ 快取使用分析
→ 連接池監控
→ 事件監聽器審查
→ 新功能審查:添加了事件監聽

[4/5] 假設驗證
驗證或反駁假設
→ 假設 1:快取洩漏 ❌ 反駁
→ 假設 2:連接池洩漏 ❌ 反駁
→ 假設 3:大量資料載入 ❌ 反駁
→ 假設 4:事件監聽器未取消 ✅ 驗證
→ 假設 5:快取策略不當 ❌ 反駁

[5/5] 結論和建議
總結分析結果
→ 根本原因:事件監聽器沒有在元件卸載時取消
→ 解決方案:在 componentWillUnmount 中取消事件監聽
→ 實施建議:立即修復,並建立事件監聽器最佳實踐指南

總時間:3.5 小時


深度分析流程的優勢

1. 科學方法

五個步驟遵循科學方法:

  • ✅ 問題定義清晰
  • ✅ 假設驅證嚴謹
  • ✅ 證據收集完整
  • ✅ 結論有充分依據
  • ✅ 避免直覺性判斷

2. 系統性調查

每個步驟都有系統性調查:

  • 多假設並行驗證
  • 多維度證據收集
  • 重複驗證確認
  • 風險評估和緩解

3. 可追溯性

整個流程有清晰的追溯:

  • 假設的依據清晰
  • 證據來源明確
  • 驗證過程記錄完整
  • 結論的邏輯鏈完整

與標準開發流程和協作規劃流程的區別

特性 標準開發流程 協作規劃流程 深度分析流程
適用情境 明確的功能實作 多人決策 問題原因不明
重點 實作和驗證 決策和共識 調查和假設驗證
輸出 程式碼和測試 ADR 和計畫 分析報告
時間成本 4-7 小時 3-4 小時 3.5-6 小時

最佳實踐

1. 科學思維

在整個流程中保持科學思維:

  • 基於證而非直覺
  • 避免確認偏誤
  • 保持開放和好奇
  • 尊重證據品質

2. 迭代優化

多輪深度分析迭代優化:

第一輪:初步假設和證據收集
第二輪:深入分析和精煉假設
第三輪:交叉驗證和結論確定

3. 團隊協作

如果需要團隊協作:

  • 分配不同的調查任務
  • 定期同步調查進度
  • 建立共享的證據庫
  • 保持透明的溝通

注意事項

1. 時間投入

深度分析流程需要投入時間,但能避免錯誤決策:

  • 避免基於錯誤假設的行動
  • 減少重複調查的時間和成本
  • 建立問題解決的長期能力

2. 客觀態度

保持客觀和開放:

  • 承認自己可能錯誤
  • 尊重不同的意見和觀點
  • 保持科學和審慎的態度
  • 避免過早下結論

3. 證據品質

確保證據的品質和完整性:

  • 使用可靠的數據來源
  • 驗證數據的準確性
  • 記錄數據的來源和時間
  • 保持數據的可追溯性

深度分析流程是解決複雜問題和避免錯誤決策的核心工作流程!