Daily Scrum Meeting是什么
In rugby, a scrum is a play, similar to a down in American football. In the Scrum methodology, the Scrum meeting makes a day of work like a play in rugby. It might be rough and tumble, but the goal to make forward progress is clear, and your team pulls together toward that common goal. Your team should hold daily Scrum meetings to determine what it needs to do in the next day to maximize its chances of meeting its commitments. Each team member describes what he or she has accomplished since the most recent meeting, the work that he or she plans to accomplish that day, and any issues or impediments that might affect or require help from other team members.
Your ScrumMaster strictly enforces the structure of the meeting and ensure that it starts on time and finishes in 15 minutes or less. In this meeting, each member of the team answers three questions:
What have I accomplished since the most recent Scrum?
What will I accomplish before the next Scrum?
What blocking issues or impediments might affect my work?
It is important that team members answer these questions quickly and concisely. An example of a good answer is, "Yesterday, I updated the class to reflect the new data element that we pull from the database, and I got it to appear in the interface. This task is complete. Today, I will ensure that the new data element is correctly calculating with the stored procedure and the other data elements in the table. I believe I will accomplish this task today. I will need someone to review my calculations. I have no impediments or blocking issues." Compare that answer to the less-than-stellar answer, "Yesterday, I worked on the class, and it works. Today, I will work on the interface. No blocking issues."
上面的內(nèi)容主要是scrum是來自橄欖球的一個名詞翔脱,每日站會的寓意是想橄欖球游戲一樣,整個團隊的目標(biāo)是明確的,共同努力達(dá)到這個目標(biāo)。每日站會的目的就是充分利用有限的時間和資源決定明天或者下一個階段要完成的任務(wù)钾恢,每一個成員都要總結(jié)在最近一次會議后完成了掸宛,在接下來的一次會議前將要完成什么,你的當(dāng)前工作進度遇到什么樣的阻礙盲厌。
對每日站會的調(diào)查與理解
Daily Scrum Meeting是敏捷開發(fā)Scrum的主要環(huán)節(jié)馒过。
什么是敏捷開發(fā)臭脓?
敏捷開發(fā)(Agile Development)是一種以人為核心、迭代腹忽、循序漸進的開發(fā)方法来累。
我們不能把它理解成一種技術(shù),因為它是一種開發(fā)方法窘奏,也就是一種軟件開發(fā)的流程嘹锁,它會指導(dǎo)我們用規(guī)定的環(huán)節(jié)去一步一步地完成項目的開發(fā);這種開發(fā)方式的主要驅(qū)動的核心是人着裹;它采用的是迭代式的開發(fā)模式领猾。
這種開發(fā)方式與瀑布式開發(fā)模型不同,瀑布式開發(fā)模型以文檔為驅(qū)動骇扇,在整個開發(fā)過程中要寫大量的文檔摔竿,開發(fā)人員需要根據(jù)寫好的需求文檔進行開發(fā),文檔是一切的依據(jù)匠题;但是敏捷開發(fā)只寫必須的文檔拯坟,注重的是人和人之間但金,面對面的交流韭山,這就是它以人為核心的本質(zhì)。
迭代的方式則是把一個復(fù)雜且開發(fā)周期很長的開發(fā)任務(wù),分解成很多小周期可完成的任務(wù)钱磅,這樣的一個周期就是一次迭代的過程梦裂;同時每一次迭代都可以生產(chǎn)或開發(fā)出一個可以交付的軟件產(chǎn)品。
什么是Scrum盖淡?
Scrum的英文意思是橄欖球運動的一個專業(yè)術(shù)語年柠,表示“爭球”的動作;把一個開發(fā)流程的名字取名為Scrum褪迟,我想你一定能想象出你的開發(fā)團隊在開發(fā)一個項目時冗恨,大家像打橄欖球一樣迅速、富有戰(zhàn)斗激情味赃、人人你爭我搶地完成它掀抹,你一定會感到非常興奮的。
而Scrum就是這樣的一個開發(fā)流程心俗,運用該流程傲武,你就能看到你團隊高效的工作。
Scrum開發(fā)流程中的三大角色
產(chǎn)品負(fù)責(zé)人(Product Owner)
主要負(fù)責(zé)確定產(chǎn)品的功能和達(dá)到要求的標(biāo)準(zhǔn)城榛,指定軟件的發(fā)布日期和交付的內(nèi)容揪利,同時有權(quán)力接受或拒絕開發(fā)團隊的工作成果。
流程管理員(Scrum Master)
主要負(fù)責(zé)整個Scrum流程在項目中的順利實施和進行狠持,以及清除擋在客戶和開發(fā)工作之間的溝通障礙疟位,使得客戶可以直接驅(qū)動開發(fā)。
開發(fā)團隊(Scrum Team)
主要負(fù)責(zé)軟件產(chǎn)品在Scrum規(guī)定流程下進行開發(fā)工作喘垂,人數(shù)控制在5~10人左右献汗,每個成員可能負(fù)責(zé)不同的技術(shù)方面,但要求每成員必須要有很強的自我管理能力王污,同時具有一定的表達(dá)能力罢吃;成員可以采用任何工作方式,只要能達(dá)到Sprint的目標(biāo)昭齐。
如何進行Scrum開發(fā)
我們首先需要確定一個Product Backlog(按優(yōu)先順序排列的一個產(chǎn)品需求列表)尿招,這個是由Product Owner 負(fù)責(zé)的;
Scrum Team根據(jù)Product Backlog列表阱驾,做工作量的預(yù)估和安排就谜;
有了Product Backlog列表,我們需要通過 Sprint Planning Meeting(Sprint計劃會議) 來從中挑選出一個Story作為本次迭代完成的目標(biāo)里覆,這個目標(biāo)的時間周期是1~4個星期丧荐,然后把這個Story進行細(xì)化,形成一個Sprint Backlog喧枷;
Sprint Backlog是由Scrum Team去完成的虹统,每個成員根據(jù)Sprint Backlog再細(xì)化成更小的任務(wù)(細(xì)到每個任務(wù)的工作量在2天內(nèi)能完成)弓坞;
在Scrum Team完成計劃會議上選出的Sprint Backlog過程中,需要進行 Daily Scrum Meeting(每日站立會議)车荔,每次會議控制在15分鐘左右渡冻,每個人都必須發(fā)言,并且要向所有成員當(dāng)面匯報你昨天完成了什么忧便,并且向所有成員承諾你今天要完成什么族吻,同時遇到不能解決的問題也可以提出,每個人回答完成后珠增,要走到黑板前更新自己的 Sprint burn down(Sprint燃盡圖)超歌;
做到每日集成,也就是每天都要有一個可以成功編譯蒂教、并且可以演示的版本握础;很多人可能還沒有用過自動化的每日集成,其實TFS就有這個功能悴品,它可以支持每次有成員進行簽入操作的時候禀综,在服務(wù)器上自動獲取最新版本,然后在服務(wù)器中編譯苔严,如果通過則馬上再執(zhí)行單元測試代碼定枷,如果也全部通過,則將該版本發(fā)布届氢,這時一次正式的簽入操作才保存到TFS中欠窒,中間有任何失敗,都會用郵件通知項目管理人員退子;
當(dāng)一個Story完成岖妄,也就是Sprint Backlog被完成,也就表示一次Sprint完成寂祥,這時荐虐,我們要進行 Srpint Review Meeting(演示會議),也稱為評審會議丸凭,產(chǎn)品負(fù)責(zé)人和客戶都要參加(最好本公司老板也參加)福扬,每一個Scrum Team的成員都要向他們演示自己完成的軟件產(chǎn)品(這個會議非常重要,一定不能取消)惜犀;
最后就是 Sprint Retrospective Meeting(回顧會議)铛碑,也稱為總結(jié)會議,以輪流發(fā)言方式進行虽界,每個人都要發(fā)言汽烦,總結(jié)并討論改進的地方,放入下一輪Sprint的產(chǎn)品需求中莉御;