1. 程式人生 > >敏捷開發之SCRUM的五個活動

敏捷開發之SCRUM的五個活動

Scrum活動:產品待辦事項列表梳理

產品待辦事項通常會很大,也很寬泛,而且想法會變來變去、優先順序也會變化,所以產品待辦事項列表梳理是一個貫穿整個Scrum專案始終的活動。該活動包含但不限於以下的內容:

  • 保持產品待辦事項列表有序
  • 把看起來不再重要的事項移除或者降級
  • 增加或提升湧現出來的或變得更重要的事項
  • 將事項分解成更小的事項
  • 將事項歸併為更大的事項
  • 對事項進行估算

產品待辦事項列表梳理的一個最大好處是為即將到來的幾個Sprint做準備。為此,梳理時會特別關注那些即將被實現的事項。需要考慮不少因素,這包括但不限於以下的內容:

理想情況下,下一個Sprint的備選事項都應該提升“商業價值”。開發團隊需要能夠在一個Sprint內完成每一個事項。每個人都需要清楚預期產出是什麼。

產品開發決定了,有可能需要其它的技能和輸入。因此,產品待辦事項列表梳理最好是所有團隊成員都參與的活動,而不單單是產品負責人。

Scrum活動:Sprint計劃會議

每個Sprint都以Sprint計劃會議作為開始,這是一個固定時長的會議,在這個會議中,Scrum團隊共同選擇和理解在即將到來的Sprint中要完成的工作。

整個團隊都要參加Sprint計劃會議。針對排好序的產品待辦事項列表(Product Backlog),產品負責人和開發團隊成員討論每個事項,並對該事項達成共識,包括根據當前的“完成的定義”,為了完成該事項所需要完成的所有事情。所有的Scrum會議都是限定時⻓的。Sprint計劃會議推薦時⻓是Sprint中的每週對應兩⼩時或者更少(譯者注:比如,一個Sprint包含2個星期,則Sprint計劃會議時長應為4個小時或者更少)。因為會議是限制時⻓長的,Sprint計劃會議的成功⼗分依賴於產品待辦事項列表的質量。這就是產品待辦事項列表梳理十分重要的原因。

在Scrum中,Sprint計劃會議有兩部分:

  1. 決定在Sprint中需要完成哪些工作
  2. 決定這些工作如何完成

第一部分:需要完成哪些工作?

在會議的第一部分,產品負責人向開發團隊介紹排好序的產品待辦事項,整個Scrum團隊共同理解這些工作。

Sprint中需要完成的產品待辦事項數目完全由開發團隊決定。為了決定做多少,開發團隊需要考慮當前產品增量的狀態,團隊過去的工作情況,團隊當前的生產能力,以及排好序的產品待辦事項列表。做多少工作只能由開發團隊決定。產品負責人或任何其它人,都不能給開發團隊強加更多的工作量。

通常Sprint都有個目標,稱作Sprint目標。這將十分有效地幫助大家更加專注於需要完成的工作的本質,而不必花太多精力去關注那些對於我們需要完成的工作並不重要的⼩小細節。

第二部分:如何完成工作?

在會議的第二部分⾥裡,開發團隊需要根據當前的“完成的定義”一起決定如何實現下一個產品增量。他們進⾏行⾜足夠的設計和計劃,從而有信心可以在Sprint中完成所有工作。頭幾天的工作會被分解成⼩小的單元,每個工作單元不超過一天。之後要完成的工作可以稍⼤大些,以後再對它 們進⾏行分解。

決定如何完成工作是開發團隊的職責,決定做什麼則是產品負責人的職責。

在計劃會議的第二部分,產品負責人可以繼續留下來回答問題,以及澄清一些誤解。不管怎樣,團隊應該很容易找到產品負責人。

Sprint計劃會議的產出Sprint計劃會議最終需要Scrum團隊對Sprint需要完成工作的數量和複雜度達成共識,並預期在一個合理的條件範圍內完成它們。開發團隊預測並共同承諾他們要完成的工作量。總而⾔言之:在Sprint計劃會議中,開發團隊和產品負責人一起考慮並討論產品待辦事項,確保他們對這些事項的理解,選擇一些他們預測能完成的事項,建立足夠詳細的計劃來確保他們能夠完成這些事項。

最終產生的待辦事項列表就是“Sprint待辦事項列表(Sprint Backlog)”。

Scrum活動:每日Scrum會議

開發團隊是自組織的。開發團隊通過每日Scrum會議來確認他們仍然可以實現Sprint的目標。這個會議每天在同樣的時間和同樣的地點召開。每一個開發團隊成員需要提供以下三點資訊:

從上一個每日Scrum到現在,我完成了什麼; 從現在到下一個每日Scrum,我計劃完成什麼; 有什麼阻礙了我的進展。

每日Scrum中可能有簡要的問題澄清和回答,但是不應該有任何話題的討論。通常,許多團隊會在每日Scrum之後⻢馬上開會處理他們遇到的任何問題。

每日Scrum既不是向管理層彙報,也不是向產品負責⼈人或者ScrumMaster彙報。它是一個開發團隊內部的溝通會議,來保證他們對現狀有一致的瞭解。只有Scrum團隊的成員,包括ScrumMaster和產品負責⼈人,可以在會議中發⾔言。其他感興趣的⼈人可以來旁聽。在必要時,開發團隊會基於會議中的發現重新組織他們的工作來完成Sprint的⺫⽬目標。

每日Scrum是Scrum的一個關鍵組成部分,它可以帶來透明性,信任和更好的績效。它能幫助快速發現問題,並促進團隊的自組織和自⽴立。所有Scrum會議都是限定時⻓長的。每日Scrum通 常不超過15分鐘。

Scrum活動:Sprint評審會議

Sprint結束時,Scrum團隊和相關⼈人員一起評審Sprint的產出。所有Scrum會議都是限定時⻓長的,Sprint評審會議的推薦時⻓長是Sprint中的每一週對應一個小時(譯者注:⽐比如,一個Sprint包含2個星期,則Sprint評審會議時⻓長為2個小時)。

討論圍繞著Sprint中完成的產品增量。由於Sprint的產出會涉及到一些⼈人的“利益”,因此一個明智的做法是邀請他們參加這個會議,這會很有幫助。這個會議是個⾮非正式的會議,幫助⼤大家瞭解我們⺫⽬目前進展到哪⾥裡,並一起討論我們下一步如何推進。每個⼈人都可以在Sprint評審會議上發表意⻅見。當然,產品負責⼈人會對未來做出最終的決定,並適當地調整產品待辦事項列表 (Product Backlog)。

團隊會找到他們自己的方式來開Sprint評審會議。通常會演⽰示產品增量,整個小組也會經常討論他們在Sprint中觀察到了什麼、有哪些新的產品想法出現。他們還會討論產品待辦事項列表的狀態、可能的完成日期以及在這些日期前能完成什麼。

Sprint評審會議向每個⼈人展⽰示了當前產品增量的概況。因此,通常都會在Sprint評審會議中調 整產品待辦事項列表。

Scrum活動:Sprint回顧會議

在每個Sprint結束後,Scrum團隊會聚在一起開Sprint回顧會議,目的是回顧一下團隊在流程人際關係以及工具方面做得如何。團隊識別出哪些做得好,哪些做得不好,並找出潛在的改進事項,為將來的改進制定計劃。所有的Scrum會議都是限定時⻓長的,Sprint回顧會議的推薦時⻓長是Sprint中的每一週對應一個小時(譯者注:⽐比如,一個Sprint包含2個星期,則Sprint回顧會議時⻓長為2個小時)。

Scrum團隊總是在Scrum的框架內,改進他們自己的流程。