由於後面幾天想特別介紹有關幾組回顧會議可以帶的活動,所以在這之前就先簡單介紹 Scrum 吧。不過要完整介紹 Scrum 實在是需要大把的篇幅與時間,所以我們不如來聊聊自己在跑的「Scrum」是不是 Scrum 吧!
最近幾年,Scrum 幾乎變成了一個 buzz word,似乎不說自己團隊再跑 Scrum 就退流行或是老古板了,但也因此,很多似是而非的 Scrum 觀念就跑出來了。到底我們團隊跑的是不是 Scrum?到底什麼才算是在跑 Scrum?這裡建議可以先閱讀官方的 Scrum Guides,或是透過 Scrum Checklist 的 Core Scrum 中的檢核清單去審視自己團隊在跑的框架。
這邊先簡單列出 Core Scrum 中的大項目讓大家可以快速檢核,若是缺少任何一個項目,就不能稱之為 Scrum。每個大項目下還有細項,這就請各位自行到 Scrum Checklist 檢視囉。
為了避免有些人發現自己雖然在跑「Scrum」,但卻沒有聽過相關名詞而感到困惑,所以這邊也做出簡單的介紹,方便讓大家做比較。依照 Scrum Guides , Scrum 定義了三種角色、五個事件(活動)、三種產出,分別為:
角色
開發團隊通常是跨職能的成員組成,可能包括前端、後端的開發者、測試工程師、使用者介面設計師⋯⋯等。端看這個 Scrum 所要研發的產品需要哪些技能而定。
產品負責人和 ScrumMaster 正如在本系列文〈將產品負責人與團隊經營者分開〉所言,就像是把原本的 PM 拆成 Product 和 Manage,由產品負責人負責 Product,而由 ScrumMaster 傳授敏捷方法與精神,透引導團隊將 Manage 回歸到成員自身身上,讓整個團隊學會自我管理與組織。
這三種角色不能互相兼職。而這三個角色組合的團隊,就稱為 Scrum 團隊。
事件
衝刺就是指每一個開發週期,可能是一到四週,無論衝刺週期多長,對於每個衝刺來說,週期都要是固定的。每個衝刺的一開始進行該衝刺的規劃活動,開發團隊和產品負責人協商這個衝刺的待辦清單範疇。在衝刺執行中每天會進行日會,同步彼此應該知道的資訊,並將遇到的障礙提出,看是否需要協助或有誰可以幫忙排除。在衝刺尾聲時,會舉行該衝刺成果的檢視活動,透過將成果展示給客戶或是組織內部的利益相關人員,蒐集回饋,作為下次規劃的輸入資訊。最後,進行本次衝刺過程的回顧,看有有哪些流程應該保持、改善或是做點變化的,並擬定一個在下個衝刺可以落實的政策。
產出物
產品負責人會根據各方回饋,維護產品的待辦清單,並且依照希望實作的優先順去進行排序,並且盡量釐清個需求,並將需求切割成適當的大小,方便排入衝刺規劃中。衝刺規劃活動協商後的產物,就是衝刺待辦清單,團隊承諾產品負責人會再衝刺結束前完成這份清單上的項目,產品負責人則承諾團隊不會在衝刺中任意變動清單上的項目,若是有要臨時插入新項目,會與團隊再次協商。最後,在衝刺結束時,所產出符合團隊對「完成」的定義且可用的產品,就稱為該衝刺的增量,意為這次衝刺中所完成產品待辦清單中的所有項目(通常也會被放進衝刺待辦清單中),也因為其必需為可用,所以通常也包含所有之前衝刺增量所產出的價值。
由於 Scrum 的進行非常仰賴透明度,所以 ScrumMaster 與產品負責人、開發團隊,以及任何有關的成員協同工作以暸解產出物的透明度是否完全。若是不完全就必須協助他們暸解現況,並找尋適合的方法去改進這件事。而確保透明度的一個方式,就是讓 Scrum 團隊與組織對「完成的定義」有共識,因此完成的定義必須足夠明確且為所有人認同與同步。
其他詳細的介紹很多前輩已經提過了,這邊就不贅述了,等待日後有篇幅在另外細述,或是補充在本文中。