敏捷開發(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)。
2.開發團隊根據product backlog列表,在sprint計畫會議中做工作量的預估和安排,確定需求提交研發,進入story看板。
story看板
3.確定sprint週期(1-4周)和本次開發迭代衝刺的開發需求(stories)。進入sprint的story出現在task看板。 在task看板,研發團隊可以拆分story到任務進行協作。
task看板
5.每日立會,團隊更新task看板,和story看板,保持資訊的同步。
功能強大的魚骨精益看板能協助開發團隊更好的實施scrum。
什麼是敏捷開發
本博在很多地方,都有人提出自己的開發方式就是敏捷開發。但本博實際上看到的情況更多的是,以敏捷開發為藉口來避免寫各種各樣的文件,幾乎是什麼事情不想做,就用敏捷開發擋一擋。比如,需求分析沒有做好,就進入編碼階段,說辭是 我們要敏捷開發,快速響應需求的變化,既然能夠快速響應需求的變化,那麼需求做沒做好就不...
什麼是敏捷開發?
敏捷開發的4句宣言 個體與互動 勝過 過程與工具 可以工作的軟體 勝過 面面俱到的文擋 客戶協作 勝過 合同談判 響應變化 勝過 遵循計畫 什麼是敏捷開發?敏捷開發 agile development 是一種以人為核心 迭代 循序漸進的開發方法。怎麼理解呢?首先,我們要理解它不是一門技術,它是一種開...
ipd敏捷開發 IPD 敏捷開發
ipd 敏捷開發 課程目標 通過遊戲 實戰 討論,結合自己當前的實際工作,體會 ipd 系統工程在敏捷開發中的應用 敏捷方法的價值觀 敏捷開發需求管理的必要性和重要性 敏捷開發最佳實踐的組合應用 從而在未來的工作中,能夠靈活地運用這些知識,建立符合自己企業 團隊的工作流程與開發管理模式。課程大綱 1...