Scrum流程與實(shí)踐相信通過前面一篇文章的介紹,你已經(jīng)對 Scrum 有了一定的了解了。但是這玩意怎么用呢?XP 的實(shí)踐如果是做過軟件開發(fā)的同學(xué),或者是帶過軟件開發(fā)團(tuán)隊(duì)的同學(xué)一定或多或少的都接觸過,至少也是聽說過。但就像上篇文章說過的,XP 很偏重于具體的軟件開發(fā)實(shí)踐,而 Scrum 則更全面地滲透到管理層面,更加的寬廣包容一些。還記得上篇文章中最后的那個 Scrum 過程圖嗎? 今天我們講的東西都是這張圖里的東西。下面我們一個一個來看。 團(tuán)隊(duì)三角色在 Scrum 中,團(tuán)隊(duì)里面有三種角色,也就是圖上的帶人形的圖標(biāo)下面標(biāo)示的三種角色。 產(chǎn)品負(fù)責(zé)人產(chǎn)品負(fù)責(zé)人,英文是 Product Owner ,簡稱 PO 。這個英文名我們還可以翻譯為 “產(chǎn)品擁有者”??闯鰜砗臀覀儌鹘y(tǒng)的 產(chǎn)品經(jīng)理 的不同了嗎?沒錯,名字不同,哈哈哈哈! 其實(shí)他們之間的關(guān)系很微秒,PO 也是一樣的從市場上獲得信息,確定產(chǎn)品的方向和收益回報,并將需求反映給開發(fā)團(tuán)隊(duì)。因此,PO 的一個重要職責(zé)就是對 需求列表 的管理。在 Scrum 中,也就是對我們后面要講的 Product Backlog 產(chǎn)品待開發(fā)列表 的管理,包括清晰定義待開發(fā)項(xiàng),明確優(yōu)先級排序等。 同時,PO 還代表著相關(guān)方,也可以代表客戶或者用戶方,如果我們不能實(shí)現(xiàn) XP 中的現(xiàn)場團(tuán)隊(duì),那么 PO 就要充當(dāng)那個 客戶代表 的角色。在開發(fā)團(tuán)隊(duì)和客戶之間構(gòu)建橋梁。你說這個角色重要不重要? 在現(xiàn)實(shí)的開發(fā)團(tuán)隊(duì)中,我們完全可以把 產(chǎn)品經(jīng)理 等同于 PO ,但是,需要注意的是,在 Scrum 中,PO 一般是和一個 Scrum 小組一起的。而我們的現(xiàn)實(shí)公司中,往往產(chǎn)品經(jīng)理需要關(guān)注多個產(chǎn)品線或者跟進(jìn)多個項(xiàng)目。另外,產(chǎn)品經(jīng)理 一般會需要畫草圖、原型圖等,而 PO 中沒有明確的說明需要畫這些圖,Scrum 中的 PO 只要管理好 Product Backlog 就好了,這個東西,往往就是一個個的用戶故事。 團(tuán)隊(duì)這里的團(tuán)隊(duì)就是傳統(tǒng)意義上的開發(fā)團(tuán)隊(duì),開發(fā)產(chǎn)品、發(fā)布產(chǎn)品就是他們的職責(zé)。開發(fā)團(tuán)隊(duì)?wèi)?yīng)該由專業(yè)人士組成,但規(guī)模也不宜過大,而且更加推薦的是擁有 T 型能力的專業(yè)人才。開發(fā)團(tuán)隊(duì)一般是由組織構(gòu)建并授權(quán),能夠理解 PO 的業(yè)務(wù)需求和每一個沖刺的目標(biāo),對產(chǎn)品的“完成”每個團(tuán)隊(duì)成員都有清晰的概念。理想的人數(shù)是 7-12 人,為什么是這個人數(shù)呢?我們在后面的文章中還會了解到。 麻雀雖小,但五臟還是要俱全的。一般在軟件公司,要組織這樣的團(tuán)隊(duì),一個 UI ,一個測試,兩三個后端,兩三個前端就差不多了。如果有特殊的需求就可能還會有不同的專業(yè)人士的加入,比如說如果是重設(shè)計(jì)的項(xiàng)目,那么 UI 可能就會多些;如果是重數(shù)據(jù)庫的項(xiàng)目,那么就可能會加入 DBA ;如果是大數(shù)據(jù)或 AI 項(xiàng)目的開發(fā),那么高端的大數(shù)據(jù)工程師以及算法工程師就必不可少。這些,都是按項(xiàng)目情況而定。 那么,如果有特殊的需求確實(shí)需要很多的人手怎么辦呢?同樣地,賣個關(guān)子,我們還是需要去后面團(tuán)隊(duì)相關(guān)的文章中在進(jìn)行深入的學(xué)習(xí)講解。這里我們主要還是以 Scrum 的學(xué)習(xí)為主。Scrum 團(tuán)隊(duì)還有幾個特點(diǎn):自組織的,沒人會告訴團(tuán)隊(duì)成員怎么把待辦列表轉(zhuǎn)化成產(chǎn)品特性,所以,劃重點(diǎn)了,PO 不用畫原型;開發(fā)團(tuán)隊(duì)是跨職能的,上面已經(jīng)說過了;Scrum 中的開發(fā)團(tuán)隊(duì)成員是沒有頭銜的,雖說我上面指出了前后端之類的,但如果是一個 Scrum 團(tuán)隊(duì),那么它們雖有分工,但頭銜都是開發(fā)者。 Scrum Master為啥不寫中文,這個 Scrum Master 是個什么鬼?其實(shí),這個 Scrum Master 就是 Scrum 教練的意思,現(xiàn)在它已經(jīng)引申到了整個敏捷領(lǐng)域,也就是 敏捷教練 。不過后面我們還是以簡稱 SM 來說明這個角色。 SM 是項(xiàng)目經(jīng)理嗎?很多人會有這個疑問。不完全是,SM 的首要職責(zé)是確保 Scrum 的貫徹執(zhí)行。為了達(dá)到這個目的,SM 需要向團(tuán)隊(duì)講解并檢查團(tuán)隊(duì)的過程是否遵循 Scrum 的理論。當(dāng)然,這個檢查不是管理,而是另一種的仆人式的角色。為團(tuán)隊(duì)掃清障礙,為成員提供指導(dǎo),這就是 SM 最核心的職責(zé)。 SM 對于團(tuán)隊(duì)來說,需要指導(dǎo)團(tuán)隊(duì)的自組織和跨職能的思想,領(lǐng)導(dǎo)團(tuán)隊(duì)實(shí)現(xiàn)高價值產(chǎn)品,移除產(chǎn)品開發(fā)過程中的各種障礙,按照需求推動 Scrum 的各種活動,在組織公司還未完全接受 Scrum 的組織環(huán)境下指導(dǎo)開發(fā)團(tuán)隊(duì)。 SM 對于 PO 來說,會幫助 PO 找到有效管理產(chǎn)品待開發(fā)列表的方法,幫助 PO 與開發(fā)團(tuán)隊(duì)進(jìn)行清晰有效地溝通,與團(tuán)隊(duì)一起理解產(chǎn)品的長期規(guī)劃,理解并實(shí)踐敏捷。 SM 對于組織來說,會指導(dǎo)組織運(yùn)用 Scrum ,在組織范圍內(nèi)計(jì)劃 Scrum 的實(shí)施,幫助組織中所有的員工理解并實(shí)施 Scrum 和經(jīng)驗(yàn)性產(chǎn)品開發(fā),發(fā)起能提升團(tuán)隊(duì)生產(chǎn)力的變革,與其他 SM 一起工作幫助組織更有效地運(yùn)用 Scrum 。 上面三種角色其實(shí) PO 和 團(tuán)隊(duì) 都是很好理解的,相信大家理解的難點(diǎn)都是 SM 上。確實(shí),這個 敏捷教練 的角色和我們所認(rèn)知的 項(xiàng)目經(jīng)理 有很大的區(qū)別。敏捷提倡的是扁平化的管理,所以帶“經(jīng)理”兩個字的角色并不是什么很好的角色,而且這個 教練 也確實(shí)一直是在指導(dǎo)和保護(hù)團(tuán)隊(duì),是一個團(tuán)隊(duì)的 “仆人” ,只要理解這一點(diǎn)了,其實(shí)就能很清晰地搞明白 SM 的是干嘛的了:不外乎上下周旋,提供輔助,指導(dǎo)開發(fā),改變環(huán)境。 儀式五活動說完了角色,我們再來看圖中的一個活動和四個會議,有兩個會議的字比較大,有兩個比較小,大家可要仔細(xì)看清楚了。而活動則是中間的兩個帶箭頭的圓圈。 沖刺活動 Sprint沖刺?又來一個新名詞? 不不不,其實(shí)你對沖刺不陌生的,沖刺就是我們一直在說的 迭代 。在 Scrum 中,當(dāng)進(jìn)行完后面要講的沖刺計(jì)劃會議之后,就進(jìn)入了沖刺階段。顧名思義,在沖刺中我們要盡全力地完全產(chǎn)品功能,目的是要在一個沖刺周期內(nèi)完成產(chǎn)品的某項(xiàng)功能。也可以把每一次地沖刺看成是一個小的項(xiàng)目開發(fā),目的就是在沖刺結(jié)束的時候,完成一個可以發(fā)布的項(xiàng)目。 每個沖刺都是有時間限制的,這樣的時間限制可以稱為一個 時間盒 。在這個時間盒內(nèi),至少是要有產(chǎn)品發(fā)布的。在一個沖刺中,我們會包含后面的四個活動,其實(shí)也是四種會議。 沖刺計(jì)劃會沖刺計(jì)劃會,從名字就可以看出,這是在沖刺開始之前為這次沖刺做準(zhǔn)備的一個計(jì)劃會議。在沖刺計(jì)劃會時,PO 會向團(tuán)隊(duì)成員展示 待辦事項(xiàng)列表 ,并且指出它們的優(yōu)先級,在這個時候,團(tuán)隊(duì)也會向 PO 詢問各個待辦事項(xiàng)的細(xì)節(jié),并終敲定這次沖刺需要完成的任務(wù)。 通常這個計(jì)劃會議不會超過 8 個小時,也就是說,不能耽誤超過一天的時間。當(dāng)然,這個也只是建議,特別是在我們這個內(nèi)卷的時代。首先,不一定有 8 個小時來給你完成這個會議,其次,如果真的是很重要的沖刺活動,可能也會不止 8 個小時。因此,8 個小時只是一個理想值。 對于任務(wù)的選擇來說,我們首先要有一個沖刺的目標(biāo),也就是說,這一次沖刺我們要解決什么問題。我們要關(guān)注的是要解決的問題的本質(zhì),而那些無關(guān)緊要的東西就可以先放一放了。這些,會通過 待辦事項(xiàng)列表的優(yōu)先級來體現(xiàn)。但也不是唯一,PO 會聽取團(tuán)隊(duì)的意見,但最終拍板的還是他自己。而團(tuán)隊(duì)更核心的作用,是盡全力完成任務(wù),也就是箭在弦上,必須要沖刺了。 在 沖刺計(jì)劃會 的結(jié)尾,產(chǎn)生的輸出就是一個 沖刺待開發(fā)項(xiàng) Sprint Backlog ,也是我們后面要講的內(nèi)容。 每日站會想必這個東西聽過的人就多了吧,簡直不要太出名好不好。這個 每日站會 也是 Scrum 中最出名的一個儀式,具體要怎么做呢? 首先,時間不能太,一般建議是 15 分鐘內(nèi)完成。其次,時間的選擇依團(tuán)隊(duì)而定,有的團(tuán)隊(duì)喜歡一大早,有的團(tuán)隊(duì)喜歡下班前,這都沒關(guān)系。但是,時間和地點(diǎn)盡量要固定,不要為了新鮮感每天換時間換地方。再次,根據(jù)這個時間限制,團(tuán)隊(duì)成員自然不能過多,因?yàn)槿硕嗔司椭v不完了,所以要執(zhí)行每日站會肯定是要敏捷型的小團(tuán)隊(duì)。最后,一定要站著。 那么,在每日站會我們要做些什么呢?很簡單,說三個事,每個人:
然后呢?沒有然后了。注意,重點(diǎn)來了,不要詢問,不要質(zhì)疑,不要解惑,有問題,會后說。這里就體現(xiàn)了時間的重要性,如果有別的人插話,說問題,那么時間就不夠了。另外,要站著開會的原因也是讓團(tuán)隊(duì)成員能夠更集中注意力在講話的人身上,有什么問題也會馬上記住。而不是一圈人坐著玩手機(jī)。 都有誰要參加每日站會呢?當(dāng)然是團(tuán)隊(duì)成員和 PO 以及 SM ,但是,如果有其它人員想?yún)⒓?,特別是想了解項(xiàng)目進(jìn)展情況的管理層或者客戶想?yún)⒓拥脑捯彩菦]有問題的。但一定要讓他們不要說話,每日站會不是向上級匯報進(jìn)展,也不是向 PO 和 SM 匯報。它們有想說的,也請一起在會后討論。 每日站會體現(xiàn)的是團(tuán)隊(duì)中的透明性,能夠獲得的是信任和更好的績效,它能幫助我們快速發(fā)現(xiàn)問題,促進(jìn)團(tuán)隊(duì)的自組織。因此,每日立會是 Scrum 中非常重要的一環(huán),甚至也是現(xiàn)在各大小廠中開發(fā)團(tuán)隊(duì)中必備的一個組織會議。 沖刺評審會這是一個在沖刺結(jié)束時舉行的會議,在這個會議中,團(tuán)隊(duì)是主角。團(tuán)隊(duì)需要向 PO 、SM 以及想要參加的管理層、客戶等展示我們在這次沖刺中的成果。在這個會議中,開發(fā)團(tuán)隊(duì)需要證明這個沖刺要做的任務(wù)是否 “完成”,并由 PO 確認(rèn)是否真的 “完成” 。如果有必要,也可以對產(chǎn)品待開發(fā)項(xiàng)進(jìn)行調(diào)整,并討論剩余的待開發(fā)項(xiàng)和接下來的工作。 沖刺回顧會嗯?上面不是來了一個沖刺后的評審會了嗎?怎么還要回顧一下。注意,上面的評審會的主角是團(tuán)隊(duì),內(nèi)容是確定沖刺目標(biāo)是否 "完成" 。而回顧會的主角則是所有的角色,目標(biāo)是討論這次的沖刺的整個過程中可以改進(jìn)的地方,哪些做得好,哪些做得不好。哪些是什么?改進(jìn)又是改進(jìn)什么呢?當(dāng)然是不夠敏捷,不夠 Scrum 的地方,以及有閃失和錯誤的地方。往大了說,“吾日三省吾身”才能成長得更快,對人如此,對團(tuán)隊(duì)也是如此。 工件三法寶說完了角色團(tuán)隊(duì),接下來就是我們的工具法寶了。Scrum 中有什么法寶呢?其實(shí)就像上一篇文章說過的,Scrum 也是一個包容性的框架,所以我們可以借鑒很多其它敏捷框架中的工具來應(yīng)用,比如 XP 中很多的編程實(shí)踐,以及 精益 中的看板,這些東西都是一個 Scrum 中常見的工具。但是,有三類工具卻是 Scrum 必須的。 產(chǎn)品待辦列表 Product Backlog這個其實(shí)上文中已經(jīng)不止一次提過了。所以我們也就是簡單地再說一下。產(chǎn)品待辦列表 是一系列任務(wù)的表格,通常這些任務(wù)會以 用戶故事 User Story 的形式呈現(xiàn)。具體關(guān)于用戶故事的內(nèi)容我們后面再說。PO 需要整理維護(hù)這個表格,并為它們制定優(yōu)先級。這個優(yōu)先級的排列,不是以技術(shù)難度和管理喜好而定的,而是以產(chǎn)品的商業(yè)價值的實(shí)現(xiàn)來排列的。也就是說,哪一個 用戶故事 對于客戶的這個產(chǎn)品具有最高的商業(yè)價值,那么它的優(yōu)先級就高。 每個沖刺開始的時候,都會從整個產(chǎn)品的 待辦事項(xiàng)列表 中找到最高優(yōu)先級的事項(xiàng)供團(tuán)隊(duì)選擇。團(tuán)隊(duì)依照這些待辦列表的事項(xiàng)來進(jìn)行沖刺開發(fā)。在沖刺過程中,不能添加新的任務(wù)進(jìn)來。之后在沖刺結(jié)束的時候,也就是 沖刺評審會 時,我們會針對當(dāng)前的情況調(diào)整 產(chǎn)品待辦列表的優(yōu)先級以及各個 用戶故事 的情況,有可能會刪減,也有可能會增加。 最后,我們會根據(jù) 產(chǎn)品待辦列表 來繪制我們的 燃盡圖 ,也就是我們最后要講的那個工具。 沖刺待辦列表 Sprint Backlog說完了產(chǎn)品待辦列表,其實(shí) 沖刺待辦列表 就很好理解了。它就是在每次 沖刺 前從 產(chǎn)品待辦列表 中選取的內(nèi)容。產(chǎn)品待辦列表 會有一個目標(biāo)伴隨著一起帶到 沖刺待辦列表 中,這也是我們 團(tuán)隊(duì) 和 PO 用于確定沖刺是否 “完成” 的重要指標(biāo)。 沖刺待辦列表 需要完成的任務(wù)數(shù)量是以 用戶故事 的點(diǎn)數(shù)來衡量的。每次沖刺都應(yīng)該盡量是固定的點(diǎn)數(shù),當(dāng)然,這并不是絕對的。因?yàn)殡S著項(xiàng)目的開發(fā),團(tuán)隊(duì)的磨合,可能我們在每個 沖刺 中完成的 用戶故事 會越來越多。這時,調(diào)整 沖刺待辦列表 每次獲取的任務(wù)數(shù)量是合理且必要的。 開發(fā)團(tuán)隊(duì)會在 每日站會 上看到?jīng)_刺的進(jìn)度情況,如何查看呢?最簡單的方式就是在 每日站會 的時候邊上放一個白板??梢允?燃盡圖 ,也可以是一個簡單的 Scrum 任務(wù)板。這個任務(wù)板,我們在之前的 【敏捷2.1】精益開發(fā)與看板https://mp.weixin.qq.com/s/LSO2nDkYXV5vrOyODa_eMQ 中有過演示。 如何使用它?很簡單,在 每日站會 后,注意,是站會結(jié)束后,由團(tuán)隊(duì)成員挪動自己的便簽到合適的位置。在這個實(shí)踐應(yīng)用中,我定義了 Stroy 代表用戶故事,Task 代表由用戶故事分解出來的任務(wù)。當(dāng)一個任務(wù)開始時,就把它移動到 Doing 中,當(dāng)它完成時,就移動到 Test 中,通過測試后,才能正式的放入 Done 中。實(shí)際上,這些步驟,就是在更新每天的進(jìn)度情況。 如果你不想維護(hù)一個簡單的像 Excel 一樣的表格。那么這個 Scrum 任務(wù)板上的那些 藍(lán)色 便簽,就可以看做是一系列的 Sprint Backlog 。 燃盡圖 Burn Down Chart最后就是 燃盡圖 。關(guān)于它我沒有找到保留的實(shí)踐照片,所以從網(wǎng)上搜了一個。 嗯,差不多就是這個樣子的。當(dāng)任務(wù)數(shù)減到 0 的時候,我們的項(xiàng)目也就做完了。這就是 燃盡圖 的作用。對比傳統(tǒng)項(xiàng)目管理的 甘特圖 來說,它表明的不是固定的日期需要做完什么,也沒有 關(guān)鍵路徑 的概念。但是,它卻清晰地表明了我們還剩多少事情沒做,已經(jīng)用了多少時間。 通常,在一個沖刺中會有一個 燃盡圖 ,直接在白板上畫就可以了,不需要使用什么計(jì)算機(jī)軟件。兩個坐標(biāo)軸的圖相信對于你來說沒有什么難度。 除了沖刺中的燃盡圖外,我們還可以用一塊大白板做一個整個項(xiàng)目開發(fā)中的燃盡圖。其中的結(jié)點(diǎn)由每次沖刺中完成的任務(wù)來標(biāo)識,而下面的時間,也替換成每個沖刺階段。比如 1 代表第一個沖刺。 燃盡圖不一定是一直向下的,也有可能在某次沖刺的過程中發(fā)現(xiàn)了許多的問題,或者有很多其它任務(wù)在之前沒有考慮到,這時可能會在沖刺時由團(tuán)隊(duì)自行添加一些輔助任務(wù)。在這個時候,有可能會讓下降的趨勢再次上揚(yáng)。這些是正常的情況,不用過分擔(dān)心。但我們要保證的是,在沖刺結(jié)束時,這個燃盡圖應(yīng)該是燃燒待盡的。就像項(xiàng)目結(jié)束后,我們的整個項(xiàng)目的燃盡圖也應(yīng)該是燃燒待盡的。 關(guān)于燃盡圖,我的實(shí)踐并不多,也無法給大家更好的指導(dǎo)。希望有經(jīng)驗(yàn)的同學(xué)能夠多多分享關(guān)于燃盡圖的應(yīng)用實(shí)踐。 總結(jié)今天花了很大的篇幅介紹了整個 Scrum 的核心實(shí)踐,大家可以記住這樣一個數(shù)字 353 ,有點(diǎn)類似于一個足球比賽的陣形吧。第一個 3 代表 3 種角色,中間的 5 代表 5 個活動,后面的 3 代表 3 個工具。剩下的,確實(shí)只剩實(shí)踐了,最簡單的,先試試 每日站會 的效果怎么樣吧! 參考文檔: 《某培訓(xùn)機(jī)構(gòu)教材》 《用戶故事與敏捷方法》 《高效通過PMI-ACP考試(第2版)》 《敏捷項(xiàng)目管理與PMI-ACP應(yīng)試指南》 |
|