什麼是敏捷估算?

無論團隊是在開發產品還是專案,我們都需要回答:「我們何時能完成?」或「在某個時間點前我們能交付到什麼程度?」就像在傳統開發模式中一樣,我們需要在開始專案前估算工作負荷。

敏捷估算具有以下三個特徵:

團隊協作估算

Scrum開發中,團隊共同承擔責任,並共同朝向每個Sprint。因此,敏捷團隊使用協作估算技術來估算工作負荷。協作估算通常使用規劃撲克作為工具,團隊共同參與估算遊戲。規劃撲克被認為是估算敏捷開發中努力程度最有效且最具參與感的技術之一。敏捷開發。它包含一組類似費波那契數列的數字:0、0.5、1、2、3、5、8、20、40、?、∞。每副牌包含四組這些費波那契數字,設計供最多四名團隊成員使用。

群體與個人估算的準確性

在軟體專案實驗中,針對個人與群體之間努力估算準確性的研究顯示,來自同一家公司的20名軟體專業人員分別估算執行同一軟體專案所需的 effort。參與者背景與角色各不相同,且該軟體專案先前已成功實作。之後,他們被分為五個團隊,每個團隊討論並整合知識,達成單一估算共識。

結果:基於群體討論的估算比個人估算更準確。

規劃撲克遊戲步驟

  1. 每位團隊成員會收到一組卡片,包含:0、0.5、1、2、3、5、8、13、20、40、?、∞——共計12張卡片。
  2. 產品負責人向團隊朗讀使用者故事或功能的描述。
  3. 團隊成員討論該功能,如有需要可向產品負責人提問。
  4. 討論後,每位成員選擇一張代表其估算的卡片,並同時公開。
  5. 若估算差異顯著,團隊將討論:我們是否同意?有無忽略哪些因素?最高或最低估算者應在下一輪投票前說明其理由。
  6. 討論後,團隊可進行另一輪,直到達成共識為止。
  7. 回到步驟2,開始估算下一個待辦事項。

估算規模,而非時間——使用相對估算取代絕對估算

估算僅是一種有根據的猜測。我們運用所有可取得的知識與經驗來估算所需時間。不如將每個新工作項目孤立評估,而是與先前完成的項目進行比較如何?人類在比較相似大小的物件時,比猜測絕對大小更擅長。

舉例來說:它是否接近這個非常小的項目?還是更像這個中等規模的專案?又或是真正大型的,就像我們上個月完成的那個?相對估算不僅能減少估算所花的時間,更能顯著提升準確性。

我們的大腦不擅長絕對估算——我們總是將需要估算的新事物與已知的事物做連結。

Story Point Estimation

故事點估算

估算速度——記錄並計算每週 Sprint 的團隊速度平均值

團隊的速度是團隊在一個 Sprint 中實際完成的故事點數量。團隊速度告訴你團隊的工作速度。對於新專案或沒有先前速度紀錄的團隊,我們可以進行 1–2 個 Sprint 來測量並建立初始速度。在 Sprint 執行期間,我們會記錄每個 Sprint 的團隊速度,以供未來規劃使用。故事點團隊Scrum 團隊實際完成的故事點數量。團隊速度告訴你團隊的工作速度。對於新專案或沒有先前速度紀錄的團隊,我們可以進行 1–2 個 Sprint 來測量並建立初始速度。在 Sprint 執行期間,我們會記錄每個 Sprint 的團隊速度,以供未來規劃使用。

Estimating User Story Velocity

估算使用者故事速度

我們估算產品待辦事項清單中故事點的總數。了解每週 Sprint 的平均速度後,我們可以計算完成專案所需的 Sprint 數量——從而估算專案的持續時間。如下面圖所示。

Scrum Project Duration Estimation

Scrum 專案持續時間估算

Leave a Reply