系統分析提升專案交付價值 實作四步驟與 DoD 及 KPI 核心評估方法

me
林彥成
2023-10-04 | 3 min.
文章目錄
  1. 1. 什麼是系統分析與細節管理?
  2. 2. 系統分析:蒐集、處理、組織、解構
  3. 3. 產品開發:DoD 與 KPI 的衡量
  4. 4. FAQ:系統分析常見問題
    1. 4.1. Q1:在敏捷開發中,需求文件還需要寫得很詳細嗎?
    2. 4.2. Q2:如何制定一份好的 Definition of Done (DoD)?
    3. 4.3. Q3:如果需求在開發中途頻繁變更,系統分析該如何應對?

什麼是系統分析與細節管理?

系統分析 (System Analysis) 是一個將複雜的商業問題拆解、理解並轉化為具體技術規格的決策過程。其核心目標在於平衡使用者需求、商業利益與技術可行性。透過「蒐集、處理、組織、解構」的四步驟循環,系統分析能像探照燈一樣照亮產品路徑,確保團隊在專案初期即達成共識,避免因細節模糊導致後期沉重的修改成本。在產品開發中,輔以 DoD (完成定義)KPI (關鍵績效指標),開發團隊能以快速迭代的方式不斷優化最小可行性商品(MVP),在有限的時間與資源內優先交付最具商業價值的核心功能。


就像裝潢房子一樣,如果不提早確認細節,可能會在後期發現不必要的問題。

例如因上班忙碌並未提早確認天花板的細節,結果工人裝潢到一半週末才發現有多個為了崁燈預留的洞,但實際不需要也不想要那麼多燈,這顯示了及早溝通和確認細節的重要性。

在專案初期,不應該期待一次做好完美的產品,要做的反而是最小可行性商品,傳統的瀑布式開發因為開發週期過長,很難知道正在開發的是鑽石還是未爆彈,就好像裝潢一樣需要提早去進行確認施工狀況一樣。

在軟體開發上應該以快速迭代的方式不斷優化和擴展,並且在過程中收集使用者的回饋,迭代過程中持續改進系統,協助調整需求以反映實際需求的變化。


系統分析:蒐集、處理、組織、解構

系統分析上保持透明度是關鍵,要確保大家都了解目前的狀況。成功的系統分析要同時可以滿足使用者的需求、讓老闆可以賺錢、讓開發者知道商業模式該怎麼運作。產品管理會是一個四步驟的循環:

  • 蒐集: 收集資訊、資料、文件或其他相關材料,例如調查、研究、使用者回饋、日誌文件、資料庫等等。
  • 處理: 確保被蒐集的資訊變得有用且易於理解,包括資料清理、資料轉換、分析和編排,將資訊轉化為可用於做出決策或進一步操作的形式。
  • 組織: 將資訊組織成有條理的結構,建立目錄、分類、標籤、資料庫、文件結構等等。
  • 解構: 將複雜的資訊或系統拆分為其基本組成部分或元素的過程。

系統分析會有幾個重點:

  • 確定全貌: 在專案開始前,全貌的理解非常關鍵。
  • 需求澄清: 避免在開發過程中出現需求變更和不確定性。
  • 使用者故事拆分: 把大型用戶故事分解為小型、可管理的任務,更容易估算和實現。
  • 確定優先權: 在有限的時間內交付最有價值的功能。

系統分析就像一盞探照燈一樣,照亮產品的路徑並引導團隊進行管理:

  1. 整理需求文件: 將所有需求整理到統一位置,確保文件保持更新以避免混淆。
  2. 分析使用者流程: 使用流程圖分析操作流程,逐步改進和優化系統設計。
  3. 建立概念模型: 建立系統中的實體、屬性和關係,協助大家理解結構。
  4. 定義系統架構: 顯示模組與元件關係,確保設計合理且易於維護。
  5. 檢討和回顧: 檢討系統運作,更新需求清單內容。

產品開發:DoD 與 KPI 的衡量

產品開發會把一個產品切割成許多細小的任務,通常會分成「規劃過的」和「臨時發生的」兩種任務:

  • 規劃過的行動是有目標的。
  • 臨時發生的行動需要根據情況迅速做出反應。

開發的任務在評估上會分成兩個指標來評估:

  • Definition of Done (DoD): 代表了一個特定工作項目完成的標準和要求,通常由團隊制定,以確保在交付工作項目時遵循一致的標準。
  • Key Performance Indicators (KPI): 用於衡量績效的量化指標,主要用來追蹤評估特定目標的達成程度,通常與業務策略相關。

DoD 和 KPIs 兩者都在專案管理中扮演重要角色。測量和評估系統狀態是改善的第一步,透過指標有助於確定系統的下一步該怎麼調整和優化。系統分析過程中我們需要依照指標適當取捨,在人力與時間內交付最有價值的功能。


FAQ:系統分析常見問題

Q1:在敏捷開發中,需求文件還需要寫得很詳細嗎?

A:敏捷強調「回應變化高過遵循計畫」,但這不代表不需要文件。關鍵在於「剛好夠用(Just-enough)」。需求文件應專注於商業價值的核心描述(Why)與驗收標準(Acceptance Criteria),而非細節到每一行程式碼怎麼寫。

Q2:如何制定一份好的 Definition of Done (DoD)?

A:DoD 應該是「全團隊共同同意的底線」。一份標準的 DoD 可能包含:通過單元測試、通過 Code Review、完成 API 文件更新、功能通過測試環境驗收。沒有符合 DoD 的功能就不能標記為「已完成」。

Q3:如果需求在開發中途頻繁變更,系統分析該如何應對?

A:這時候「探照燈」就要照得更遠。分析時應盡量找出需求的「不變量」(核心業務實體)與「變量」(UI 顯示方式)。透過良好的系統分析與架構設計(如依賴反轉),讓變量部分具備可抽換性,從而降低需求變更帶來的衝擊。



喜歡這篇文章,請幫忙拍拍手喔 🤣