1.Scrum中每個小的迭代週期稱為一個Sprint,建議長度為2-4周。
2.使用Backlog來管理產品或專案的需求,產品backlog是一個按照商業價值排序的需求列表。
3.在每個sprint中,scrum開發團隊從產品backlog中挑選最有價值的需求進行開發,被挑選的需求經過sprint計劃會議上的分析、討論和估算得到一個sprint的任務列表,我們稱之為sprint backlog。
4.scrum由三個角色、六個時間表、四個工件組成
三個角色:產品負責人、scrum master、scrum團隊(5-9人) ;
六個時間表:sprint、釋出計劃會議、sprint計劃會議、每日站會、sprint評審會議、spring回顧會議
四個工件:產品backlog、釋出燃盡圖、sprint backlog、sprint 燃盡圖
任何人力流程都離不開人來執行,所以在講解Scrum流程之前,有必要先把Scrum中的角色講一下。
一天,一頭豬和一隻雞在路上散步,雞看了一下豬說,“嗨,我們合夥開一家餐館怎麼樣?”,豬回頭看了一下雞說,“好主意,那你準備給餐館起什麼名字呢?”,雞想了想說“餐館名字叫火腿和雞蛋怎麼樣?”,“我不這麼認為”,豬說, “我全身投入,而你只是參與而已”
豬是全身投入專案和Scrum過程的人,有三種角色:產品負責人(Product Owner)、ScrumMaster、團隊(Team)。
角色 | 職責 |
---|---|
ProductOwner |
|
ScrumMaster |
|
Scrum Team |
|
雞角色並不是實際Scrum流程的一部分,但是必須考慮他們。 敏捷方法的一個重要方面是使使用者和利益相關者參與到過程中的實踐。參與每一個評審和計劃,並提供反饋對於這些人來說是非常重要的,管理者就屬於雞。
在知道Scrum的主要角色後,我們看看下圖中的過程圖:它由Product backlog開始,經過sprint會議從Prdouct backlog挑選出一些優先順序最高的故事(story)形成迭代的sprint backlog(一個sprint一般為1個月)。在sprint中會進行每日站會,迭代結束時會進行演示和回顧會議。
第一次聽到以上術語的可能不能很好的理解backlog和spring之類的東西,大家不用著急,以後會慢慢對每一個過程進行仔細講解。
以下將對一些術語進行簡單介紹,以便大家現在開始逐步瞭解Scrum。
【Backlog】
Product Backlog
在專案開始的時候,Product Owner要準備一個根據商業價值排好序的客戶需求列表。這個列表就是Prodct Backlog,一個最終會交付給客戶的產品特性列表,它們根據商業價值來排列優先順序。Scrum team會根據這個來做工作量的估計。Product backlog應該涵蓋所有用來構建滿足客戶需要的產品特性,包括技術上的需求。高優先順序的一些產品特性需要足夠的細化以便於我們做工作量估計和做測試。對於那些以後將要實現的特性可以不夠詳細。
在下一篇我將著重講解如何制定Product Backlog,怎麼寫故事,如何拆分和合並故事,以及如何確定優先順序和進行估算。
Sprint Backlog
Sprint Backlog 是Sprint規劃會上產出的一個工作成果. 當Scrum team選擇並承諾了Product backlog中要遞交的一些高優先順序的產品功能點後,這些功能點就會被細化成為Sprint Backlog:一個完成Product Backlog功能點的必需的任務列表.這些點會被細化為更小的任務,工作量小於2天。Sprint backlog完成後,Scrum team會根據它重新估計工作量,如果這些工作量和原始估計的工作量有較大差異,Scrum team和Product Owner 協商,調整合理得工作量到Sprint中,以確保Sprint的成功實施。
【會議】
Sprint Planning Meeting(Sprint規劃會)
根據Product Owner制定的產品或專案計劃在Sprint的開始時做準備工作。Product Owner可以是客戶或者客戶代表或代理。對於產品型的公司,客戶就是市場,Product Owner扮演市場代理的角色。一個Product Owner需要一個確定產品最終目標的遠景,規劃出今後一段時間產品發展的路線圖,以及根據對投資回報的貢獻確定的產品特性。他要準備一個根據商業價值排好序的客戶需求列表。這個列表就是Prodct Backlog,一個最終會交付給客戶的產品特性列表,它們根據商業價值來排列優先順序。
當為一個Sprint定義好足夠多的Product Backlog,並且排列好優先順序後Scrum就可以開始了,Sprint規劃會是用來細化當前迭代的開發計劃的。規劃會開始的時候,Product Owner會和Scrum team一起評審版本,路線圖,釋出計劃,及Product Backlog。Scrum Team會評審Product Backlog中功能點的時間估計並確認這些估計儘可能的準確。Scrum Team會根據資源情況看有多少feature可以放在當前的Sprint中。Scrum Team按照優先順序的高低來確定開發的先後是很重要的。
當Sprint backlog確定後,ScrumMaster帶領Scrum Team去分解這些功能點,細化成Sprint的一個個任務. 這些任務就是細化的來實施這些功能點的活動. Sprint Planning的這個階段需要控制在4個小時。
Daily Scrum Meeting(每日站會)
一旦計劃階段結束,30天週期的Sprint就開始了。ScrumMaster需要組織團隊成員每天開站會. 這個會議是用15分鐘的時間來讓大家過一下scrum的狀態。在會上,每個團隊成員需要問3個問題:我昨天做了什麼,今天做什麼,遇到哪些障礙。誰都可以參加這個會議,但只有Scrum團隊成員有發言權。這個會議的目標是得到一個專案的全域性觀,用於發現任何新的依賴,定位專案成員的要求,實時的調整當天開發計劃.
Sprint Review Meeting(Sprint評審會)
在Sprint結束的時候召開Sprint評審會. 這個會議最多不超過4個小時.會議的前一半時間用來演示在這個Sprint中開發的產品功能給 Product Owner. Produc Owner會組織這階段的會議並且邀請相關的利益相關者參加。 業務,市場,技術都要做相關的評審。由Product Owner來決定Product Backlog中的哪些功能已經開發完成 。會議的下半部分,是由Scrum Master和Scrum Team一起回顧當前的Sprint。團隊評估大家在一起的工作方式,找出好的方式以後繼續發揚,找出需要做的更好的地方,想辦法提升。Sprint評審會結束後,新一輪的迭代又繼續開始(中間最好修整半天或者隔個週末),迭代會一直繼續,直到開發了足夠多的功能去交付一個產品。