標籤:
什麼是敏捷開發?
敏捷開發(Agile Development)是一種以人為核心、迭代、循序漸進的開發方法。怎麼理解呢?首先,我們要理解它不是一門技術,它是一種開發方法,也就是一種軟體開發的流程,它會指導我們用規定的環節去一步一步完成項目的開發;而這種開發方式的主要驅動核心是人;它採用的是迭代式開發。
什麼是迭代?迭代是指把一個複雜且開發週期很長的開發工作單位,分解為很多小周期可完成的任務,這樣的一個周期就是一次迭代的過程;同時每一次迭代都可以生產或開發出一個可以交付的軟體產品。
什麼是Scrum?Scrum的英文意思是橄欖球運動的一個專業術語,表示“爭球”的動作;把一個開發流程的名字取名為Scrum,我想你一定能想象出你的Team Dev在開發一個項目時,大家像打橄欖球一樣迅速、富有戰鬥激情、人人你爭我搶地完成它,你一定會感到非常興奮的。而Scrum就是這樣的一個開發流程,運用該流程,你就能看到你團隊高效的工作。
Scrum開發流程中的三大角色產品負責人(Product Owner)主要負責確定產品的功能和達到要求的標準,指定軟體的發布日期和交付的內容同時有權力接受或拒絕Team Dev的工作成。
流程管理員(Scrum Master)主要負責整個Scrum流程在項目中的順利實施和進行,以及清除擋在客戶和開發工作之間的溝通障礙,使得客戶可以直接驅動開發。
Team Dev(Scrum Team)主要負責軟體產品在Scrum規定流程下進行開發工作,人數控制在5~10人左右,每個成員可能負責不同的技術方面,但要求每成員必須要有很強的自我管理能力,同時具有一定的表達能力;成員可以採用任何工作方式,只要能達到Sprint的目標。
Scrum流程圖
什麼是Sprint?Sprint是短距離賽跑的意思,這裡面指的是一次迭代,而一次迭代的周期是半月時間(即2個星期),也就是我們要把一次迭代的開發內容以最快的速度完成它,這個過程我們稱它為Sprint。
如何進行Scrum開發?
1、我們首先需要確定一個Product Backlog(按優先順序排列的一個產品需求列表),這個是由Product Owner 負責的;
2、Scrum Team根據Product Backlog列表,做工作量的預估和安排;
3、有了Product Backlog列表,我們需要通過 Sprint Planning Meeting(Sprint計劃會議) 來從中挑選出一個Story作為本次迭代完成的目標,這個目標的時間周期是1~2個星期,然後把這個Story進行細化,形成一個Sprint Backlog;
4、Sprint Backlog是由Scrum Team去完成的,每個成員根據Sprint Backlog再細化成更小的任務(細到每個任務的工作量在1天內能完成);
5、在Scrum Team完成計劃會議上選出的Sprint Backlog過程中,需要進行 Daily Scrum Meeting(每日站立會議),每次會議控制在15分鐘左右,每個人都必鬚髮言,並且要向所有成員當面彙報你昨天完成了什麼,並且向所有成員承諾你今天要完成什麼,同時遇到不能解決的問題也可以提出,每個人回答完成後,要走到黑板前更新自己的 Sprint burn down;
6、做到每日整合,也就是每天都要有一個可以成功編譯、並且可以示範的版本
7、當一個Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,這時,我們要進行 Srpint Review Meeting(示範會議),也稱為評審會議,每一個Scrum Team的成員都要向他們示範自己完成的軟體產品(這個會議非常重要,一定不能取消);
8、最後就是 Sprint Retrospective Meeting(回顧會議),也稱為總結會議,以輪流發言方式進行,每個人都要發言,總結並討論改進的地方,放入下一輪Sprint的產品需求中。
轉自: http://www.15yan.com/topic/scrum/domKU5booha/
p.s.還沒理解透,以後慢慢理解。
敏捷式軟體開發 (Agile Software Development)