敏捷開發(fā)TOSC分享(2012.3.28)_第1頁
敏捷開發(fā)TOSC分享(2012.3.28)_第2頁
敏捷開發(fā)TOSC分享(2012.3.28)_第3頁
敏捷開發(fā)TOSC分享(2012.3.28)_第4頁
敏捷開發(fā)TOSC分享(2012.3.28)_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、分享 敏捷開發(fā) Scrum 目錄什么是敏捷軟件開發(fā)?敏捷方法的工程方案敏捷工程管理和傳統(tǒng)工程管理為什么使用敏捷?Scrum概述 Scrum的角色 Scrum實(shí)踐和工作產(chǎn)品 什么是敏捷軟件開發(fā)敏捷軟件開發(fā)是軟件工程的一個概念框架.有許多建立在敏捷概念上的方法,如 Scrum 和 Extreme Programming (XP).與僵化的、重量級的、官僚式的方法形成對照,比方瀑布模型指純粹形式的最大限度地降低短期固定時(shí)間的迭代式軟件的開發(fā)風(fēng)險(xiǎn).敏捷宣言2001年人和交互勝過過程和工具. Individuals and interactions over processes and tools可以工

2、作的軟件勝過完備的文檔.Working software over comprehensive documents客戶協(xié)作勝過合同談判.Customer collaboration over contract negotiation隨時(shí)應(yīng)對變化勝過遵循方案.Responding to change over following a plan敏捷過程的限制敏捷軟件開發(fā)過程包含過程、原那么、工具,和最重要的-人因此 誠信是根底沒有過程能夠?qū)φ\信進(jìn)行有效地約束 誠信與否是有效實(shí)施敏捷過程的最大限制比較傳統(tǒng)工程管理:事先對整個工程進(jìn)行估計(jì)、方案、分析反對變更; 變更需要重新估計(jì)、重新規(guī)劃嚴(yán)密的合同來減

3、少風(fēng)險(xiǎn), 如果改變需求要走 CR 流程.工程作為一個“黑盒子 ,對客戶與供給商的可視性差.產(chǎn)品化和測試階段是別離的.文檔和方案驅(qū)動的方法.軟件交付時(shí)間晚, 意識到風(fēng)險(xiǎn)的時(shí)間晚.敏捷工程管理:對整個工程做一個粗略的估計(jì),每一次迭代都有詳細(xì)的方案.鼓勵變化, 客戶價(jià)值驅(qū)動開發(fā).信任和賦予權(quán)力;合約使變更變得簡單,增加價(jià)值.客戶和開發(fā)人員之間是緊密的連續(xù)的合作關(guān)系每次迭代都產(chǎn)生可交付的軟件專注于交付軟件.第一次迭代就可交付能工作的版本,風(fēng)險(xiǎn)發(fā)現(xiàn)的早. 為什么采用敏捷采用敏捷方法得當(dāng)?shù)脑?,可以:更加透? 隨時(shí)跟蹤工程的狀態(tài)和進(jìn)展情況,及早發(fā)現(xiàn)問題和風(fēng)險(xiǎn) .快速交付, 每次迭代都能交付可運(yùn)行的軟件.最

4、高風(fēng)險(xiǎn)和最高優(yōu)先級的需求,最優(yōu)先進(jìn)行開發(fā).改善應(yīng)對變更能力, 減少大量的重方案.改善工程溝通.更好的客戶參與, 防止錯誤的假設(shè).預(yù)期的收益總之:提高了生產(chǎn)率; 減少“浪費(fèi) 不需要的文檔,重復(fù)工作等 ,工程的每次迭代都有明確的目標(biāo).提高客戶滿意度; 短期內(nèi)產(chǎn)生成效, 按預(yù)期交付軟件, 每次迭代結(jié)束產(chǎn)生可以運(yùn)行的軟件.改善員工的滿意度; 團(tuán)隊(duì)精神,減少官僚,能夠規(guī)劃和管理自己的工作,減少“恐慌 ,穩(wěn)定的工作量可持續(xù)的步伐. 敏捷方法何時(shí)有效公司和客戶一致認(rèn)為應(yīng)當(dāng)使用敏捷方法,雙方都能理解敏捷方法.敏捷方法對需求不完整以及經(jīng)常變換的工程比較有效.工程可以劃分成固定時(shí)間間隔的迭代, 并且可以凍結(jié)正在進(jìn)

5、行的迭代的范圍公司和客戶都有能力擔(dān)當(dāng)角色尤其是Product Owner 和 Scrum Master.工程的人員結(jié)構(gòu)能夠分成6到10人的團(tuán)隊(duì),最好每個工作地點(diǎn)一個小組.團(tuán)隊(duì)成員能夠以自組織的方式工作. 工程的合同允許變更.固定價(jià)格的工程可以使用敏捷,但應(yīng)當(dāng)盡量防止。最好在按時(shí)間和材料付費(fèi)或者按月付費(fèi)的工程中進(jìn)行使用、變更工程的范圍不需要高級管理層的批準(zhǔn).Scrum 概述Scrum是管理軟件工程的一個輕量級的敏捷方法, 名字來源于橄欖球運(yùn)動中的scrum 過程簡單,但高度的紀(jì)律性依賴迭代和增量的敏捷方法.Scrum 是一種工作管理的方法,不僅僅限于軟件開發(fā),可以用來管理其它活動.Scrum 不

6、包含技術(shù)方法或?qū)嵺`.Scrum 工程的階段工程分成增量的迭代過程,在Scrum中稱為迭代任務(wù)清單通常持續(xù)2-4周的時(shí)間.Sprint 的時(shí)間是限定好的; 不能從外部改變正在進(jìn)行中的sprint持續(xù)時(shí)間和范圍.每個sprint都可以產(chǎn)生可交付的迭代, 即測試過并具備文檔的的功能點(diǎn)原那么上, 當(dāng)產(chǎn)品開發(fā)到一定程度時(shí),如實(shí)現(xiàn)了足夠的客戶價(jià)值,工程可以在任何一個sprint后結(jié)束,.如同任何工程,敏捷的工程有三個主要階段 :產(chǎn)品定義 (規(guī)劃); 運(yùn)行Sprints 所需要的準(zhǔn)備、規(guī)劃、技術(shù)分析.執(zhí)行Sprints (執(zhí)行): 在增量時(shí)間段內(nèi)實(shí)現(xiàn) 需求 (產(chǎn)品需求清單).結(jié)束: 準(zhǔn)備最終發(fā)布,結(jié)束工程S

7、print Planning Meeting:Next Sprint GoalSprint BacklogUpdated Product BacklogDaily Scrum meetings : What did you do yesterdayWhat will you do today?What obstacles are in your way?Scrum中的三種角色Product Owner- 產(chǎn)品所有者個人:代表所有的干系人Scrum Master: 個人:負(fù)責(zé)指導(dǎo)過程的執(zhí)行Scrum Team Scrum團(tuán)隊(duì):承諾完成工作,向干系人交付產(chǎn)品價(jià)值Scrum 團(tuán)隊(duì)Scrum 團(tuán)隊(duì)是S

8、crum的中心角色, 產(chǎn)品交付要依靠團(tuán)隊(duì).Scrum 團(tuán)隊(duì)自我組織、自我管理Scrum 團(tuán)隊(duì)是職能交叉的, 包含產(chǎn)品交付的所有角色:開發(fā)人員、測試人員、build managers, 文檔編寫, 界面設(shè)計(jì)人員.Scrum 團(tuán)隊(duì)中的角色是不分等級的; 不應(yīng)當(dāng)出現(xiàn)“我是開發(fā)人員我不作測試.團(tuán)隊(duì)按照最有利于工程的原那么來分擔(dān)責(zé)任 (如組件的所有權(quán)等 ).敏捷是建立在信任和授權(quán)的根底上,因此團(tuán)隊(duì)是自發(fā)組織的,組員選擇自己的任務(wù),而不是別人強(qiáng)制加以分配的.另一方面,Scrum團(tuán)隊(duì)有交付的責(zé)任,他們需要能夠自我鼓勵和對工作目標(biāo)進(jìn)行承諾.團(tuán)隊(duì)最正確規(guī)模: 6-10 人主要職責(zé)參與迭代任務(wù)清單的創(chuàng)立執(zhí)行為干系

9、人創(chuàng)造價(jià)值的工作根據(jù)團(tuán)隊(duì)的承諾完成所需的各項(xiàng)任務(wù)將工作中的各項(xiàng)障礙迅速與Scrum Master 進(jìn)行溝通全面參與所有的各項(xiàng)會議更新任務(wù)狀態(tài)自發(fā)選擇任務(wù)標(biāo)識任務(wù)的完成標(biāo)識發(fā)現(xiàn)的新的任務(wù)與其它團(tuán)隊(duì)共同進(jìn)行工作Scrum MasterScrum Master不是一個管理者,而是一個教練和推動者 - Scrum團(tuán)隊(duì)是一種自發(fā)的組織,是自我管理的.Scrum Master的角色通常由工程組的成員擔(dān)當(dāng),組長或者工程經(jīng)理。Scrum Master 應(yīng)當(dāng)是工程中的成員.主要職責(zé):評價(jià)過程的健康狀況加強(qiáng)過程消除障礙促進(jìn)過程改進(jìn)支持團(tuán)隊(duì)開發(fā)Scrum Master 的主要工作是做決策、消除障礙,保證團(tuán)隊(duì)能順利交

10、付產(chǎn)品Scrum Master 還有如下責(zé)任與其它角色配合.訓(xùn)練團(tuán)隊(duì),提高生產(chǎn)率.培訓(xùn)產(chǎn)品所有者和干系人,確保Scrum流程的執(zhí)行確保一切工作按照既定的標(biāo)準(zhǔn)來運(yùn)行.規(guī)劃并進(jìn)行必要的改進(jìn).推動會議的召開.維護(hù)障礙列表維護(hù)Scrum過程改進(jìn)列表優(yōu)秀的 Scrum Master 應(yīng)當(dāng)是專注的,、有決心的、有領(lǐng)導(dǎo)才能.Product Owner產(chǎn)品所有者代表投資方的利益,確保交付的產(chǎn)品與期望的一致 提供更好的投資回報(bào)).Product Owner決定產(chǎn)品具有哪些功能.Product Owners的主要責(zé)任是創(chuàng)立和維護(hù)產(chǎn)品需求清單, 即管理工程的范圍.Product Owner不斷的把產(chǎn)品需求清單按優(yōu)先

11、級進(jìn)行排序 ,使得最重要的功能能優(yōu)先實(shí)現(xiàn).對于團(tuán)隊(duì)來說,只有一個需求集。所有的需求申請都?xì)w口到Product Owner管理商業(yè)價(jià)值投資回報(bào)Product Owner 還有如下責(zé)任:方案工程的發(fā)布,什么時(shí)間、向什么人等.對每次Sprint的結(jié)果進(jìn)行評審和批準(zhǔn)參與Scrum會議迭代方案會議團(tuán)隊(duì)進(jìn)展跟蹤會議迭代評審和回憶會議能夠隨時(shí)答復(fù)團(tuán)隊(duì)工作中產(chǎn)生的各項(xiàng)和產(chǎn)品/業(yè)務(wù)相關(guān)的問題Product Owner 的角色一般由客戶擔(dān)當(dāng),作為效勞提供商的公司無法設(shè)定優(yōu)先級產(chǎn)品需求清單 Product Backlog根本上,產(chǎn)品需求清單是為了實(shí)現(xiàn)產(chǎn)品的功能所需要的工作的列表,包括:功能方面的需求; 功能點(diǎn).非功

12、能方面的需求, 如性能改進(jìn).要修改的Bug; 上一版本的錯誤.新技術(shù), 如支持新的操作系統(tǒng)或者平臺.問題; 日后的不確定項(xiàng), 如新的功能.產(chǎn)品需求清單是不斷完善的.PO在工程進(jìn)行過程中可以隨時(shí)更新:增加、刪除、修改功能,變更優(yōu)先級等.下一次迭代中要包含較高優(yōu)先級的需求.產(chǎn)品需求清單也可稱為User Stories (用例) ,因?yàn)樗鼈兡軌蚪o產(chǎn)品的用戶帶來價(jià)值.在一次迭代中要能夠?qū)崿F(xiàn)產(chǎn)品需求清單,如果不能全部實(shí)現(xiàn)要進(jìn)行分解. 產(chǎn)品需求清單 構(gòu)成Product Owner負(fù)責(zé)創(chuàng)立最初的產(chǎn)品需求清單,一開始是不完整的.最初的清單應(yīng)當(dāng)包含足夠的需求.清單應(yīng)當(dāng)包含多少需求, 取決于定價(jià)模型 (black

13、-box, 更多的方案時(shí)間).產(chǎn)品需求清單來源于:客戶; 標(biāo)書, 需求規(guī)格說明等.Scrum團(tuán)隊(duì)的想法; 增強(qiáng)型新功能等.現(xiàn)有產(chǎn)品的迭代增量; 錯誤, 技術(shù)問題等.比較好的做法是Product Owner 、Scrum團(tuán)隊(duì)、客戶/管理以及其它相關(guān)方如相關(guān)的Scrum團(tuán)隊(duì)舉行一次或者屢次研討會Scrum Master 或者 Product Owner 來促成會議的召開,必須要有人來做.要有效率、要圍繞主題、 溝通良好 、防止不同的假設(shè),承諾并且共通合作,確定優(yōu)先級.產(chǎn)品需求清單 估計(jì)Scrum團(tuán)隊(duì)對產(chǎn)品需求清單的每一項(xiàng)的規(guī)模提供初步的估計(jì),通常采用事件點(diǎn)作為單位Story Points (模糊的

14、).也可采用人天或者人小時(shí)作為單位,但容易混淆: a) 實(shí)際的規(guī)模 b) 時(shí)間的單位.精確的估計(jì)值可以在Sprint 規(guī)劃時(shí)給出, 當(dāng)前階段沒有足夠的信息.規(guī)模的相對值才有意義.這個估計(jì)值有助于確定優(yōu)先級; 所需時(shí)間團(tuán)隊(duì)速度產(chǎn)品規(guī)模產(chǎn)品需求清單 優(yōu)先級優(yōu)先級是產(chǎn)品需求清單中的主要問題.優(yōu)先級不但反映了客戶的價(jià)值也反映了風(fēng)險(xiǎn).產(chǎn)品所有者-PO 設(shè)定優(yōu)先級.清單中的每一項(xiàng)的優(yōu)先級是唯一的, 但可以對它們進(jìn)行分類優(yōu)先級可以在工程的任何時(shí)候進(jìn)行更改; 如新的重要的功能可以直接給較高的優(yōu)先級.確定優(yōu)先級考慮:價(jià)值風(fēng)險(xiǎn)依賴關(guān)系PriorityID, like in any requirements doc

15、umentDescription of the item = User StoryThese will likely endup in the first Sprint迭代任務(wù)清單規(guī)劃迭代任務(wù)清單規(guī)劃 的主要目的是從產(chǎn)品任務(wù)清單中挑選高優(yōu)先級的任務(wù)包含在下一次迭代中,即確定迭代的范圍.至于能夠包含多少產(chǎn)品任務(wù)清單中的任務(wù)取決于Scum團(tuán)隊(duì)能夠承諾完成多少.迭代的范圍在迭代任務(wù)清單中描述; 團(tuán)隊(duì)設(shè)定優(yōu)先級.產(chǎn)品所有者 PO 定義每個迭代的任務(wù)說明mission statement,目標(biāo)(sprint goal),使迭代更具有針對性,如. “實(shí)現(xiàn)一個可擴(kuò)展的列表控件,其工程是可以選擇的Sprint

16、 迭代方案 輸入和輸出Sprint PlanningMeetingProduct BacklogTeam CapabilitiesBusiness ConditionsTechnologyCurrent ProductSprint BacklogProduct OwnerScrum TeamManagementCustomersSprint Goal一天,一頭豬和一只雞在路上散步,雞看了一下豬說,“嗨,我們合伙開一家餐館怎么樣?,豬回頭看了一下雞說,“好主意,那你準(zhǔn)備給餐館賣什么呢?,雞想了想說“餐館賣火腿和雞蛋怎么樣?,“我不這么認(rèn)為,豬說,“我全身投入,而你只是參與而已迭代任務(wù)清單規(guī)劃 邏

17、輯迭代任務(wù)清單規(guī)劃 是“鐵三角法那么的另一個例子在Scrum, 邊界是一個變量,因?yàn)?資源 (Scrum團(tuán)隊(duì)) 是確定的.進(jìn)度表迭代的時(shí)間是不能變的.質(zhì)量是無法協(xié)商的團(tuán)隊(duì)在一個迭代內(nèi)能完成的任務(wù),可以用團(tuán)隊(duì)進(jìn)度來衡量 (Story Points / Sprint).如果可能的話利用同一個團(tuán)隊(duì)上個迭代的進(jìn)度, “yesterdays weather.迭代任務(wù)清單規(guī)劃規(guī)劃會議召開迭代任務(wù)清單規(guī)劃會議的目的是確定迭代的邊界.時(shí)間是限定的, 最長時(shí)間是一個工作日 (對持續(xù)4個星期的迭代, 迭代持續(xù)的時(shí)間越短,用在規(guī)劃上的時(shí)間也應(yīng)該越少. 由 Scrum Master推動會議.由于會議時(shí)間有限,Prod

18、uct Owner 和Scrum 團(tuán)隊(duì)都應(yīng)該事前進(jìn)行準(zhǔn)備.前提: 產(chǎn)品需求清單是有效的valid; 最新的, 標(biāo)注了優(yōu)先級并且表述清楚.規(guī)劃會議要解決兩個問題:下次迭代要做什么.確定迭代的目標(biāo),包含產(chǎn)品需求清單上高優(yōu)先級的功能.給Bug修改留一定的余地怎么樣實(shí)現(xiàn)下次增量所需要的功能.改進(jìn)設(shè)計(jì)以實(shí)現(xiàn)產(chǎn)品需求清單上的功能.Personsworking onthe taskDescription of the taskEffort estimateTask blockedby an impedimentSprint goalMeets the definition of doneSprint Backlog 例如迭代進(jìn)度圖- Burndown ChartScrum 注重成果,它關(guān)心的是要花多少時(shí)間到達(dá)目標(biāo),而不是已經(jīng)花費(fèi)的時(shí)間;.團(tuán)隊(duì)能否在既定的時(shí)間到達(dá)迭代的目標(biāo),可以查看要完成產(chǎn)品需求清單的功能所剩余的工作Remaining work = Estimate to Complete (ETC).描述剩余工作量和時(shí)間關(guān)系的圖表稱為Sprint Burndown圖, 是Scrum中非常重要的控制方法(control measure).給

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論