敏捷知識分享 - Scrum簡單理論及有效管理敏捷團隊
1, 什么是Scrum
Scrum的英文意思是橄欖球運動的一個專業(yè)術(shù)語,表示“爭球”的動作;把一個開發(fā)流程的名字取名為Scrum,我想你一定能想象出你的開發(fā)團隊在開發(fā)一個項目時,大家像打橄欖球一樣迅速朱灿、富有戰(zhàn)斗激情、人人你爭我搶地完成它钠四,你一定會感到非常興奮的盗扒。而Scrum就是這樣的一個開發(fā)流程,運用該流程缀去,你就能看到你團隊高效的工作侣灶。
【Scrum開發(fā)流程中的三大角色】
產(chǎn)品負責人(Product?Owner)
主要負責確定產(chǎn)品的功能和達到要求的標準,指定軟件的發(fā)布日期和交付的內(nèi)容缕碎,同時有權(quán)力接受或拒絕開發(fā)團隊的工作成果炫隶。
流程管理員(ScrumMaster)
主要負責整個Scrum流程在項目中的順利實施和進行,以及清除擋在客戶和開發(fā)工作之間的溝通障礙阎曹,使得客戶可以直接驅(qū)動開發(fā)伪阶。
開發(fā)團隊(ScrumTeam)
主要負責軟件產(chǎn)品在Scrum規(guī)定流程下進行開發(fā)工作,人數(shù)控制在5~10人左右处嫌,每個成員可能負責不同的技術(shù)方面栅贴,但要求每成員必須要有很強的自我管理能力,同時具有一定的表達能力熏迹;成員可以采用任何工作方式檐薯,只要能達到Sprint的目標。
2,什么是Sprint坛缕?
Sprint是短距離賽跑的意思墓猎,這里面指的是一次迭代,而一次迭代的周期是1個月時間(即4個星期)赚楚,也就是我們要把一次迭代的開發(fā)內(nèi)容以最快的速度完成它毙沾,這個過程我們稱它為Sprint。
如何進行Scrum開發(fā)宠页?
1左胞、我們首先需要確定一個Product Backlog(按優(yōu)先順序排列的一個產(chǎn)品需求列表),這個是由Product Owner 負責的举户;
2烤宙、Scrum Team根據(jù)Product Backlog列表,做工作量的預(yù)估和安排俭嘁;
3躺枕、有了Product Backlog列表,我們需要通過Sprint Planning Meeting(Sprint計劃會議) 來從中挑選出一個Story作為本次迭代完成的目標供填,這個目標的時間周期是1~4個星期拐云,然后把這個Story進行細化,形成一個Sprint Backlog捕虽;
4、Sprint Backlog是由Scrum Team去完成的坡脐,每個成員根據(jù)Sprint
Backlog再細化成更小的任務(wù)(細到每個任務(wù)的工作量在2天內(nèi)能完成)泄私;
5、在Scrum Team完成計劃會議上選出的Sprint
Backlog過程中备闲,需要進行Daily Scrum Meeting(每日站立會議)晌端,每次會議控制在15分鐘左右,每個人都必須發(fā)言恬砂,并且要向所有成員當面匯報你昨天完成了什么咧纠,并且向所有成員承諾你今天要完成什么,同時遇到不能解決的問題也可以提出泻骤,每個人回答完成后漆羔,要走到黑板前更新自己的?Sprint burn down(Sprint燃盡圖);
6狱掂、做到每日集成演痒,也就是每天都要有一個可以成功編譯、并且可以演示的版本趋惨;很多人可能還沒有用過自動化的每日集成鸟顺,其實TFS就有這個功能,它可以支持每次有成員進行簽入操作的時候器虾,在服務(wù)器上自動獲取最新版本讯嫂,然后在服務(wù)器中編譯蹦锋,如果通過則馬上再執(zhí)行單元測試代碼,如果也全部通過欧芽,則將該版本發(fā)布莉掂,這時一次正式的簽入操作才保存到TFS中,中間有任何失敗渐裸,都會用郵件通知項目管理人員巫湘;
7、當一個Story完成昏鹃,也就是Sprint Backlog被完成尚氛,也就表示一次Sprint完成,這時洞渤,我們要進行?Srpint Review Meeting(演示會議)阅嘶,也稱為評審會議,產(chǎn)品負責人和客戶都要參加(最好本公司老板也參加)载迄,每一個Scrum Team的成員都要向他們演示自己完成的軟件產(chǎn)品(這個會議非常重要讯柔,一定不能取消);
8护昧、最后就是?Sprint Retrospective?Meeting(回顧會議)魂迄,也稱為總結(jié)會議,以輪流發(fā)言方式進行惋耙,每個人都要發(fā)言捣炬,總結(jié)并討論改進的地方,放入下一輪Sprint的產(chǎn)品需求中绽榛;
3, ScrumMaster的作用
Scrum是一種輕量級的軟件開發(fā)模式--敏捷開發(fā)框架湿酸,scrum master是整個團隊的組織者和管理者,作為Team Leader和Productowner緊密地工作在一起灭美,他可以及時地為團隊成員提供幫助推溃。
他必須:
?保證團隊資源完全可被利用并且全部是高產(chǎn)出的。
?保證各個角色及職責的良好協(xié)作届腐。
?解決團隊開發(fā)中的障礙铁坎。
?做為團隊和外部的接口,屏蔽外界對團隊成員的干擾犁苏。
?保證開發(fā)過程按計劃進行厢呵,組織每日碰頭會議,評審 ,工作計劃等
4, ScrumMaster作為仆人式的領(lǐng)導(dǎo)
ScrumMaster承擔領(lǐng)導(dǎo)角色傀顾,但它更關(guān)心長期目標和策略襟铭,而不是短期硬性指標,自我驅(qū)動,充滿創(chuàng)意寒砖,團隊第一赐劣,自己第二,需要在如下幾方面改善自己:
聆聽他人
共情
治療關(guān)系
作為領(lǐng)導(dǎo)者的意識和自我意識
使用說服哩都,而不是依靠職位權(quán)威
概念化
先見之明
管家
承諾其他人的成長
建立共同體
5魁兼,心態(tài)模式
根據(jù)團隊狀態(tài)和公司使用敏捷的狀況,可以使用心態(tài)模式漠嵌,決定采取何種方法咐汞。此模式包含四個核心方法:
移除障礙 (我?guī)湍阃瓿蛇@個)支持團隊尋找解決方案,從而移除障礙。
教導(dǎo)和輔導(dǎo)(解釋或給出建議)共享Scrum以及敏捷的經(jīng)驗儒鹿,并利用自己的經(jīng)驗提出更多的實踐和方法化撕。
教練(如果出現(xiàn)這種情況,你會做些什么约炎?)教練法比解釋植阴、分享經(jīng)驗或者提供建議更強大。不是短期目標圾浅,不會短期內(nèi)見效快掠手,而是長期內(nèi)要得到改善。
引導(dǎo)(我們開始于…)確保團隊會議順利進行狸捕,討論或者談話應(yīng)有明確的目標喷鸽,有可交付的結(jié)果,不應(yīng)干擾討論內(nèi)容或者解決方案本身灸拍,只是推進討論流程做祝。
6, 塔克曼團隊發(fā)展理論
發(fā)展階段模型:組建期 - 激蕩期 - 規(guī)范期 - 執(zhí)行期 - 改變期
組建期時:ScrumMaster需要采取心態(tài)模式中的所有方法,但是更多的需要“教導(dǎo)和輔導(dǎo)”來解釋和分享經(jīng)驗株搔。
激蕩期時:ScrumMaster需要順暢的溝通剖淀,讓團隊在爭論中達成可用協(xié)議纯蛾,所以心態(tài)模式的最重要方法是“引導(dǎo)“纤房。
規(guī)范期時:團隊感受到改變帶來的好處,使用在此的心態(tài)模式中最重要的方法是“教練”翻诉。
執(zhí)行期時:執(zhí)行期中的團隊充滿自信炮姨,不怕失敗,不覺得已經(jīng)功德圓滿碰煌,不停嘗試舒岸,ScrumMaster主要防止事情出錯,避免團隊返回以前的任意階段芦圾。ScrumMaster的工作是觀察蛾派,在心態(tài)模式中的所有方法都會使用。