Requirements Analysis Skill
Requirements Analysis 是 Matt Pocock’s engineering skills 中最重要的分析型 skills 之一,專注於深入分析需求,確保設計方案真正解決問題。
何時使用
在以下情況中使用 Requirements Analysis skill:
✅ 必須使用的情境:
- 接收新功能需求時
- 使用者報告問題但描述模糊時
- 產品經理提供需求時
- 需要明確範圍和驗收標準時
❌ 不適合的情境:
- 需求已經非常明確
- 只是執行既定的技術任務
- 簡單的 bug 修復
分析框架
第 1 層:問題定義
清楚定義要解決的問題:
問題定義:
• 使用者現在遇到什麼困難?
• 這個困難為什麼重要?
• 不解決會有什麼後果?
• 誰受影響?
第 2 層:使用者場景
描述具體的使用者場景:
使用者場景:
• 典型使用者是誰?
• 他們在什麼情況下使用?
• 他們的目標是什麼?
• 現在的流程有什麼問題?
第 3 層:成功標準
定義成功的標準:
成功標準:
• 效能目標(< 2 秒回應)
• 可用性目標(99.9% 正常運行)
• 使用者體驗(NPS > 50)
• 業務指標(轉化率提升 20%)
分析技術
1. 5 Whys
深層挖掘問題根源:
問題:使用者反註冊太慢
為什麼?表單欄位太多
為什麼?收集了不必要的資訊
為什麼?沒有明確的核心需求
為什麼?產品團隊不清楚使用者旅程
為什麼?缺乏使用者研究
根本原因:缺乏使用者理解
解決方案:簡化表單,只收集核心資訊
2. Use Case 分析
描述具體的使用案例:
Use Case 1:快速註冊
• 前置條件:新訪客
• 主要流程:
1. 輸入 email
2. 設定密碼
3. 點擊註冊
• 後置條件:登入成功
• 例外流程:email 已存在
Use Case 2:完整註冊
• 前置條件:新訪客
• 主要流程:
1. 輸入個人資料
2. 上傳照片
3. 設定偏好
4. 完成註冊
• 後置條件:個人檔案完整
3. 情境分析
分析使用者情境:
情境分析:
• 使用者狀態:新註冊 / 長期使用者 / 活躍使用者
• 使用情境:桌面 / 行動裝置 / 公用電腦
• 時間壓力:急迫 / 從容 / 不確定
• 技術能力:專家 / 中級 / 初學者
實際範例
範例 1:搜尋功能需求
原始需求: 「我們需要更好的搜尋功能」
分析後的需求:
問題定義:
• 使用者花 30 秒以上才能找到相關內容
• 40% 的搜尋結果不相關
• 使用者放棄搜尋,改用手動瀏覽
使用者場景:
• 使用者在研究新技術時搜尋
• 使用者在尋找解決方案時搜尋
• 使用者在探索未知領域時搜尋
成功標準:
• 80% 的搜尋結果相關
• 搜尋時間 < 3 秒
• 相關內容推薦準確度 > 70%
實作建議:
• 使用語意搜尋而非關鍵字匹配
• 加入搜尋建議和自動完成
• 提供高級過濾和排序
範例 2:API 回應時間需求
原始需求: 「API 回應太慢了」
分析後的需求:
問題定義:
• 使用者等待 5 秒以上才看到結果
• 使用者多次點擊導致重複請求
• 行動裝置上問題更嚴重
使用者場景:
• 使用者在行動裝置上查看訂單
• 使用者在急迫時查詢狀態
• 使用者在不穩定的網路環境下使用
成功標準:
• 95% 的請求在 2 秒內回應
• 行動裝置回應時間 < 3 秒
• 網路不穩定時提供反饋
實作建議:
• 加入快取層
• 優化資料庫查詢
• 實作載入狀態指示器
• 加入離線模式
需求陷阱
1. 功能蔓延
避免加入過多功能:
核心需求:讓使用者能快速註冊
功能蔓延:
✓ email + 密碼
✓ 社交登入
✓ 手機驗證
✓ 雙重驗證
✓ 歡迎信件
✓ 使用引導
✓ ...
結果:註冊流程反而更複雜
解決:專注 MVP,逐步增長
2. 技術方案導向
避免從技術方案出發:
錯誤做法:
「我們需要 GraphQL 因為它很潮」
正確做法:
「使用者需要靈活的資料查詢,
讓我們分析需求後再選技術方案」
3. 假設未驗證
避免基於未驗證的假設:
假設:使用者喜歡豐富的表單欄位
驗證:使用者測試顯示相反結果
調整:簡化表單,只保留核心欄位
最佳實踐
1. 與使用者對話
直接與使用者對話:
使用者訪談:
• 你現在如何解決這個問題?
• 你最理想的使用體驗是什麼?
• 什麼會阻礙你使用?
• 你會如何評估這個功能好不好用?
2. 可視化需求
使用視覺化工具:
需求視覺化:
• 使用者旅程圖
• 流程圖
• Wireframe
• 原型
3. 迭代驗證
持續驗證需求:
驗證循環:
1. 初步需求分析
2. 建立原型
3. 使用者測試
4. 收集回饋
5. 調整需求
6. 重複
與其他 Skills 組合
推薦組合
Brainstorming + Requirements Analysis
brainstorming → requirements-analysis
先探索可能性,再深入分析需求
Requirements Analysis + Decision Analysis
requirements-analysis → decision-analysis
需求分析後,系統化分析實作決策
Requirements Analysis 是確保設計方案真正解決問題的關鍵 skill,深度的需求分析能避免方向錯誤!