1. 程式人生 > >八分鐘敏捷開發(scrum)掃盲

八分鐘敏捷開發(scrum)掃盲

敏捷開發(scrum)是一種軟體開發的流程,強調快速反應、快速迭代、價值驅動。

Scrum的英文意思是橄欖球運動的一個專業術語,表示“爭球”的動作;運用該流程,你就能看到你團隊高效的工作。

敏捷開發的特點就是下面4句話:

「個體與互動」勝過「過程與工具」

「可以工作的軟體」勝過「面面俱到的文擋」

「客戶協作」勝過「合同談判」

「響應變化」勝過「遵循計劃」

敏捷開發(scrum)適用於競爭激烈,快速變化的市場。 敏捷的客戶協作觀念,快速迭代能幫助團隊以最小成本,最快速度滿足客戶真正的需求。對比傳統開發模式:

傳統開發模式以文件為驅動,而敏捷開發提倡少寫文件

傳統開發模式下開發人員按照產品文件進行研發,過程中客戶不參與到產品的驗收和體驗中,這樣就會導致最後開發出來的成品並不是客戶想要的。 而敏捷開發模式從開始就強調客戶協作,分步提供產品模組客戶體驗。

敏捷模式採取迭代式開發,傳統模式採用瀑布式開發

敏捷開發採取迭代式開發的形式,即每個階段有每個階段需要完成、並且能使用的產品,這一階段只要開發某幾個功能,且這些功能的產品必須是可以使用的,這一階段產品完成之後與客戶進行對接交付,再進行下一階段的開發。

敏捷開發更適應變化

傳統開發模式下軟體開發過程是執行研發計劃,而實際工作中,需求往往在開發過程中會產生巨大變化。敏捷開發更能適應不確定性強的產品和市場。

接下面我們來具體看一下執行scrum的套路。

Scrum的三大角色

產品負責人(Product Owner)

主要負責和客戶溝通確定產品的功能和達到要求的標準,並指定軟體的釋出日期和交付的內容,同時有權力接受或拒絕開發團隊的工作成果,一般是由產品經理擔任。

流程管理員(Scrum Master)

問題清道夫!主要負責整個Scrum流程在專案中的順利實施和進行,以及清除擋在客戶和開發工作之間的溝通障礙,使得客戶可以直接驅動開發。

開發團隊(Scrum Team)

開發主力!主要負責軟體產品在Scrum規定流程下進行開發工作。人數控制在5~10人左右,每個成員可能負責不同的技術方面,但要求每成員必須要有很強的自我管理能力,同時具有一定的表達能力;不論過程只問結果!只要能達到目標,不論任何工作時間、方式。

Scrum的組成

Sprint:指的是一次迭代,而一次迭代的週期最好是1-4個星期,也就是我們要把產品需求分佈到各個週期完成,這個過程我們稱它為Sprint。

Story:使用者故事,也可以看做是使用者需求點。

Task:story的進一步細分。為了能夠及時,高效地完成每個 Story,Scrum 團隊會把每個 Story 分解成若干個 Task。每個Task 的時間最好不要超過8小時,保證在1個工作日內完成,如果 Task 的時間超過了8個小時,就說明Task的劃分有問題,需要特別注意。

Backlog:Backlog是Scrum中的一個專用名詞,意思是待辦工作事項的集合。在開發中需要明確2個Backlog。

Product Backlog ——產品待辦事項列表,產品負責人量化使用者需求,逐條列出實際需要開發的需求(Story)。

Sprint Backlog——任務列表,是一次迭代中需要完成的任務,主要是開發團隊細化工作的列表。

燃盡圖(Burn Down Chart)

是一個展示開發時間的圖,但是展示的是每天累加所有任務的剩餘時間。

燃盡圖是用來跟蹤sprint中未完成工作的情況。每做完一個sprint的使用者故事就燒掉,最後燒完sprint也就完成了。用藍色線表示計劃走向,紅色線則是實際走向,兩條線共同組成了燃盡圖。如下圖,每一個點代表一個使用者故事,或者故事點,或者可度量的工作量。所有點組成sprint。

4個會議

Sprint計劃會

Sprint 計劃會就是大家坐下來,PO 向大家介紹排好序的產品待辦事項(Product Backlog),然後大家共同思考決定如何推進計劃,梳理出 Sprint Backlog 來完成後續的工作。

每日站會

每位開發成員都要交代3點

昨天完成了什麼

今天計劃完成什麼

是否有困難需要幫助

每日站會

上圖就是每日的站立會議了,參會人員可以隨意姿勢站立,任務看板要保證讓每個人看到,當每個人發言完後,要走到任務版前更新自己的看板和燃盡圖。

Sprint 評審會

當一個Sprint完成,這時就要進行最重要的演示會議,也稱為評審會議,產品負責人和客戶都要參加,每一個開發團隊的成員都要演示自己完成的軟體產品,然後被判定產品合格、成功、需要修改還是重新做。

Sprint 總結會

總結會議以輪流發言方式進行,每個人都要發言,總結並討論改進的地方,放入下一輪Sprint的產品需求中。

以上的會議都不需要準備PPT或者大量的文件,但要注意會議的時長。

使用魚骨Scrum專案的開發步驟

1.產品負責人使用產品Tab收集產品需求(story)。

Product Backlog

2.開發團隊根據Product Backlog列表,在Sprint計劃會議中做工作量的預估和安排,確定需求提交研發,進入Story看板。

Story看板

3.確定Sprint週期(1-4周)和本次開發迭代衝刺的開發需求(Stories)。進入Sprint的story出現在Task看板。 在Task看板,研發團隊可以拆分Story到任務進行協作。

Task看板

5.每日立會,團隊更新Task看板,和Story看板,保持資訊的同步。

功能強大的魚骨精益看板能協助開發團隊更好的實施SCRUM。