Scrum 使用固定的事件來產生規律性,以此來減少 Scrum 之外的其他會議的必要。所有事件都是有時間盒限定的,也就是說每一個事件限制在最長的時間范圍內。一旦 Sprint開始,它的持續時間是固定的,不能縮短或延長。而其他事件則可以在該事件的目標達成之后可以立即結束,如此確保時間被適當地使用而不會造成過程中的浪費。
Sprint
Sprint 是 Scrum 的核心,其長度(持續時間)為一個月或更短的限時,這段時間內構建一個“完成”、可用的和潛在可發布的產品增量。在整個開發過程期間,Sprint 的長度保持一致。前一個 Sprint 結束后,下一個新的 Sprint 緊接著立即開始。
Sprint 由 Sprint 計劃會議、每日 Scrum 站會、開發工作、Sprint 評審會議和 Sprint 回顧會議構成。
在 Sprint 期間:
? 不能做出有害于 Sprint 目標的改變;
? 不能降低質量的目標;以及,
? 隨著對信息掌握的增加,產品負責人與開發團隊之間對范圍內要做的事可以加以澄清和重新協商。
每個 Sprint 都可以被視為一個項目,為期不超過一個月。就如同項目一樣,Sprint 被用于完成某些事情。每個 Sprint 都會有一個要構建什么的目標,還有一份設計過和靈活的計劃用來指導如何做這些事、工作內容和最終產品增量。
Sprint 的長度限制在一個月內。當 Sprint 的長度太長的話,對要構建什么的定義就有可能會改變,復雜性也有可能會增加,同時風險也有可能會增加。Sprint 通過確保至少每月一次對達成目標的進度進行檢視和適應,來實現可預測性。Sprint 同時也把風險限制在一個月的成本上。
Sprint 目標
Sprint 目標是在當前 Sprint 通過實現產品待辦列表要達到的目的。它為開發團隊提供指引,使得團隊明確為什么要構建增量。Sprint 目標在 Sprint 計劃會議中確定。Sprint 目標為開發團隊在 Sprint 中所實現的功能留有一定的彈性。所選定的產品待辦列表項會提供一個連貫一致的功能,也即是 Sprint 目標。Sprint 目標可以是任何其他的連貫性來促使開發團隊一起工作而不是分開獨自做。
Sprint 計劃會議
Sprint 中要做的工作在 Sprint 計劃會議中來做計劃。這份工作計劃是由整個 Scrum 團隊共同協作完成的。
Sprint 計劃會議是有時間盒限定的,以一個月的 Sprint 來說最長為 8 小時。對于較短的Sprint,會議時間通常會縮短。Scrum Master 要確保會議順利舉行,并且每個參會者都理解會議的目的。Scrum Master 要教導 Scrum 團隊遵守時間盒的規則。
Sprint 計劃會議回答以下問題:
? 接下來的 Sprint 交付的增量中要包含什么內容?
? 要如何完成交付增量所需的工作?
每日 Scrum 站會
每日 Scrum 站會是開發團隊的一個時間盒限定為 15 分鐘的事件。每日 Scrum 站會在Sprint 的每一天都舉行。在每日 Scrum 站會上,開發團隊為接下來的 24 小時的工作制定計劃。通過檢視上次每日 Scrum 站會以來的工作和預測即將到來的 Sprint 工作來優化團隊協作和效能。每日 Scrum 站會在同一時間同一地點舉行,以便降低復雜性。
開發團隊籍由每日 Scrum 站會來檢視完成 Sprint 目標的進度,并檢視完成 Sprint 待辦列表的工作進度趨勢。每日 Scrum 站會優化了開發團隊達成 Sprint 目標的可能性。每天,開發團隊應該知道如何以自組織團隊來協同工作以達成 Sprint 目標,并在 Sprint 結束時開發出預期中的增量。
會議的結構由開發團隊設定。只要會議專注于達成 Sprint 目標的進展,開發團隊可以采用不同的方式進行。一些開發團隊會以問題為導向來開會,有些開發團隊會基于更多的討論來開會。以下是一個可以使用的范例:
? 昨天,我為幫助開發團隊達成 Sprint 目標做了什么?
? 今天,我為幫助開發團隊達成 Sprint 目標準備做什么?
? 是否有任何障礙在阻礙我或開發團隊達成 Sprint 目標?
開發團隊或者開發團隊成員通常會在每日 Scrum 站會后立即聚到一起進行更詳細的討論,或者為 Sprint 中剩余的工作進行調整或重新計劃。
Scrum Master 確保開發團隊每日站會如期舉行,但開發團隊自己負責召開會議。ScrumMaster 教導開發團隊將每日 Scrum 會議時間控制在 15 分鐘內。
每日 Scrum 站會是開發團隊的內部會議。如果有開發團隊之外的人出席會議,Scrum Master 必須確保他們不會干擾會議進行。
Sprint 評審會議
Sprint 評審會議在 Sprint 快結束時舉行 ,用以檢視所交付的產品增量并按需調整產品待辦列表。在 Sprint 評審會議中,Scrum 團隊和利益攸關者協同討論在這次 Sprint 中所完成的工作。根據完成情況和 Sprint 期間產品待辦列表的變化,所有參會人員協同討論接下來可能要做的事情來優化價值。這是一個非正式會議,并不是一個進度匯報會議,演示增量的目的是為了獲取反饋并促進合作。
Sprint 評審會議包含以下內容:
? 參會者包括 Scrum 團隊和產品負責人邀請的主要利益攸關者;
? 產品負責人說明哪些產品待辦列表項已經“完成”和哪些沒有“完成”;
? 開發團隊討論在 Sprint 期間哪些工作做的很好,遭遇到什么問題以及問題是如何解決的;
? 開發團隊演示“完成”的工作并解答關于所交付增量的問題;
? 產品負責人討論當前的產品待辦列表的情況。他/她根據到目前為止的進度來預測可能的目標交付日期(如果有需要的話);
? 參會的所有人就下一步的工作進行探討,這樣, Sprint 評審會議就能夠為接下了的Sprint 計劃會議提供有價值的輸入信息;
? 評審市場或潛在的產品使用方式所帶來的接下來要做的最有價值的東西的改變;
? 為下個預期產品功能或產品能力版本的發布評審時間表、預算、潛力和市場。
Sprint 評審會議的結果是一份修訂后的產品待辦列表,闡明很可能進入下個 Sprint 的產品待辦列表項。產品待辦列表也有可能為了迎接新的機會而進行全局性地調整。
Sprint 回顧會議
Sprint 回顧會議是 Scrum 團隊檢視自身并創建下一個 Sprint 改進計劃的機會。回顧會議發生在 Sprint 評審會議結束之后,下個 Sprint 計劃會議之前。對于長度為一個月的 Sprint 來說,回顧會議時間最長不超過 3 小時。對于較短的 Sprint 來說,會議時間通常會縮短。Scrum Master 要確保會議舉行,并且每個參會者都明白會議的目的。
Sprint 回顧會議的目的在于:
? 檢視前一個 Sprint 中關于人、關系、過程和工具的情況如何;
? 找出并加以排序做得好的和潛在需要改進的主要方面; 同時,
? 制定改進 Scrum 團隊工作方式的計劃。
Scrum Master 鼓勵 Scrum 團隊在 Scrum 的過程框架內改進開發過程和實踐,使得他們能在下個 Sprint 中更高效更愉快。在每個 Sprint 回顧會議中,如果適用并且不與產品或組織標準相沖突,Scrum 團隊計劃不同的方式通過改進工作過程或調整“完成”的定義來提高產品質量。
在 Sprint 回顧會議結束時,Scrum 團隊應該明確接下來的 Sprint 中需要實施的改進。在下一個 Sprint 中實施這些改進是基于 Scrum 團隊對自身的檢視而做出的適當調整。雖然改進可以在任何時間執行,但 Sprint 回顧會議提供了一個專注于檢視和適應的正式機會。