【我的總結】Scrum

今天聽了一個內部的分享,結合本身之前的經歷,記錄整理一下:工具

什麼是Scrum排序

Scrum是一種迭代式增量軟件開發過程,一般用於敏捷軟件開發。Scrum在英語的意思是橄欖球裏的爭球。資源

雖然Scrum是爲管理軟件開發項目而開發的,它一樣能夠用於運行軟件維護團隊,或者做爲計劃管理方法。Scrum之間的合做稱爲「Scrum of Scrums」。開發

Scrum是一種系統而不是具體的過程。只要基於這套系統或者說原則,其具體實現能夠是多樣的。產品

Scrum中的角色it

Scrum當中的角色主要分爲:io

  • Product Owner(PO):主要負責維護Product Backlog,相似產品經理的角色。Product Backlog相似於一個基於重要性排序的feature庫。那麼PO須要對真個產品線有足夠的瞭解,才能正確的對不一樣的feature進行排序。並且PO須要將feature拆分到足夠小,而且定義的足夠好。因此一般PO適合由有必定資歷的人來擔任。ast

  • Scrum Master:主要承擔項目經理的角色。控制團隊進度;帶領團隊進行Scrum實踐;保護團隊。保護團隊有不少方面,好比:確保在一個Sprint內每一個feature的優先級不會發生變化。軟件

  • Scrum Team:唔,幹活的咩。採用一些敏捷方法仍是很好玩的。並且當團隊採用Scrum的時候,有些東西能夠自底向上完成。方法

  • Product Engineering Manager(PEM):唔,在哪裏都有老大咩。

Sprint

Sprint就是一個開發週期。每一個開發週期從product backlog中選取合適的任務,而後你們一塊兒開發。我的認爲一個比較好的實踐是:首先對任務進行拆分,並經過一個相對點數進行時間預估。而後組員依次根據重要性選擇任務進行完成。當一項任務完成以後,再選擇下一項完成。這樣的好處是可以保證一我的在單位時間內相對專一。專一每每意味着高校。

一個比較好的經驗就是:不要把對於項目預估的點數用做其餘任何用途,特別是考覈。一旦有了其餘用途,點數每每將不可以繼續保持其真實性。從而致使整個團隊沒法真實的預估項目進度。

Definition Of Done

其實這是一個很好的話題。什麼叫作作完了一件事情:Code Ready?Release?Pass Test?每一個人都有不一樣的定義,如何達到一個共識。

延伸一下,爲何作這件事情。是想驗證一個假設?想發佈一個功能,從而改善產品?這件事情怎麼算是成功?怎麼算是失敗?換句話說,如何判斷是否繼續投入資源,甚至砍掉這個功能。這些東西應該在一開始就定義好,而且一直堅持。

Action

我會嘗試在本身的工做中引入Scrum。我並不認爲這是一個須要全組都採用,不然就不能使用的模式。基於我對它的理解,我認爲其關鍵點以下:

  • 任務的拆分與預估。把任務拆分紅足夠小、足夠獨立的部分。從而使得整個過程更加可控。這一點對於我來講會是一個難點。剛開始的拆分和預估均可能會作得很爛。Practice makes perfect。只要保證全部的數據真實且完整,就行了。

  • Weekly Sprint & Daily Scrum。以周爲單位計劃工做,這樣可以有一些buffer來完成較難的工做。天天回顧總結一下當前進度,可以幫助本身及時做出調整。是須要加加班;仍是須要經過一些方法來unblock本身;仍是就是預估錯誤了,須要delay或者cut off。

  • Definition Of Done。提早明確好Goal & Non-Goal。這樣可讓他人做出正確的預期,同時避免南轅北轍的故事。

  • 工具。我的以爲One Note對於一我的來講就夠了。因此目前我會採用One Note來幫助我進行實踐。

相關文章
相關標籤/搜索