【課程背景】
敏捷(Agile)是一種快速響應(yīng)變化的軟件開發(fā)方法,據(jù)美國專門從事跟蹤軟件項(xiàng)目成功或失敗的權(quán)威機(jī)構(gòu)Standish Group的統(tǒng)計(jì)數(shù)據(jù)顯示,敏捷方法的實(shí)施可以將項(xiàng)目失敗的概率從29%降低至9%,敏捷方法的價(jià)值毋庸置疑。
然而,敏捷方法看似簡單,實(shí)則內(nèi)涵豐富,知易行難,這也導(dǎo)致了在國內(nèi)敏捷開發(fā)很多時(shí)候被實(shí)施為“996”的拼命急速開發(fā)模式;同時(shí),也有較多的企業(yè)在導(dǎo)入敏捷方法后,實(shí)踐過程中形似而神非,并沒有帶來應(yīng)有的價(jià)值和效果。這些都是對敏捷的誤解和誤用。
本課程重點(diǎn)介紹了敏捷管理-Scrum與敏捷開發(fā)-極限編程這兩種在業(yè)界應(yīng)用最廣的兩套敏捷方法,通過知識講解、案例分享、討論反思、練習(xí)及點(diǎn)評的方式,讓學(xué)員掌握敏捷軟件開發(fā)的過程、方法及技能,以運(yùn)用到實(shí)際的研發(fā)工作中。
【培訓(xùn)特色】
1.多實(shí)戰(zhàn)。本課程注重實(shí)戰(zhàn),設(shè)計(jì)了10多個練習(xí),讓學(xué)員通過練習(xí)與教員的點(diǎn)評,應(yīng)用學(xué)到的技能。
2.多案例。本課程授課過程中,教員會和學(xué)員分享自己實(shí)際咨詢過的客戶的多個項(xiàng)目的實(shí)際案例。
3.多討論。本課程授課過程中,引入了常見難點(diǎn)、疑點(diǎn)的討論和反思,透過現(xiàn)象把握敏捷的本質(zhì),以在不同的研發(fā)場景下更加靈活、有效的運(yùn)用敏捷方法。
【目標(biāo)收益】
通過本課程可以讓學(xué)員掌握敏捷軟件開發(fā)的過程與方法實(shí)踐,理解每條典型實(shí)踐背后的原理,以及每條實(shí)踐如何因地制宜的進(jìn)行變通。學(xué)員可收獲的主要知識及技能包括:
? 敏捷方法中如何進(jìn)行計(jì)劃與估算?
? 敏捷方法中如何管理團(tuán)隊(duì)?
? 敏捷方法中如何開發(fā)需求、管理需求?
? 敏捷方法中如何進(jìn)行設(shè)計(jì)與編碼?
? 敏捷方法中如何保證產(chǎn)品質(zhì)量?
? 實(shí)施敏捷方法的常見誤區(qū)有哪些?
【培訓(xùn)對象】
研發(fā)部門經(jīng)理、項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理、需求工程師、軟件工程師、測試工程師、PPQA 、EPG等
【課程大綱】
主題 |
內(nèi)容 |
第一部分敏捷軟件開發(fā)概述 |
討論:你是如何理解“敏捷”的? 辨析:對敏捷方法的誤解 敏捷方法的文化基礎(chǔ)與背景 規(guī)范VS敏捷:敏捷方法與瀑布方法的成功率對比 規(guī)范VS敏捷:敏捷方法與規(guī)范方法的平衡策略的比較 規(guī)范VS敏捷:規(guī)范與敏捷的假設(shè)與反思 為什么敏捷方法可以成功? 敏捷方法的根基:敏捷方法宣言 與12條原則 討論:什么樣的開發(fā)人員適合/不適合參與敏捷開發(fā)? 練習(xí):命令式開發(fā)管理 練習(xí):自管理式團(tuán)隊(duì) |
第二部分Scrum概述 |
Scrum名詞釋義:橄欖球是野蠻人的運(yùn)動嗎? Scrum的過程:雪人模型 Scrum的框架:三個角色 Scrum的框架:三個活動 Scrum的框架:三個工作產(chǎn)品 |
第三部分Scrum的角色 |
Scrum開發(fā)團(tuán)隊(duì)的組成 豬與雞:Scrum 的角色 討論:誰是pigs? Scrum Master的職責(zé) 優(yōu)秀的Scrum Master的6種品質(zhì) 練習(xí):不同人擔(dān)當(dāng)Scrum Master的優(yōu)缺點(diǎn) Product Owner的職責(zé) 討論:是否可以擁有兩個產(chǎn)品負(fù)責(zé)人 產(chǎn)品負(fù)責(zé)人的品質(zhì):ABCDE 討論:是否可以讓Product owner和Scrum Master合并? Product Owner在實(shí)踐中的常見問題 如何讓需求分析人員升級為Product Owner Scrum Team 團(tuán)隊(duì)成員的交叉職責(zé) Team的承諾 討論:完美需求文檔的夢想 測試人員在Scrum中的職能演變 練習(xí):西游記中Scrum角色的映射 |
第四部分Scrum的文檔 |
文檔1:好看又好用Scrum看板 Scrum看板案例 燃盡圖案例 文檔2:需求與需求池 用戶故事 與 Product Backlog 用戶故事的描述方式 用戶故事樣例 用戶故事的特征 練習(xí):用戶故事描述需求 思考:完備地識別用戶故事 討論:用戶故事的其他表達(dá)方式 辨析:User Story 和 Use Case 的區(qū)別 討論:用戶故事的細(xì)化 Product Backlog樣例 文檔3:敏捷任務(wù)清單Sprint backlog 用戶故事拆分為任務(wù) 任務(wù)的工作量估算 Sprint Backlog的演變 |
第五部分Scrum的過程 |
Scrum雪人模型 活動1:Sprint策劃會議 敏捷的估算:策劃撲克法 策劃撲克法的原理 策劃撲克法的流程與步驟 練習(xí):策劃撲克法 定范圍:Sprint策劃會議上半場 劃分需求的優(yōu)先級 劃分用戶故事的優(yōu)先級 排任務(wù):Sprint策劃會議下半場 分配任務(wù)時(shí)—切片法 預(yù)防過于樂觀的估計(jì):迭代內(nèi)可支配時(shí)間平衡表 練習(xí):制定Sprint的Backlog 活動2:沖刺 Sprint與站立會議 討論:沖刺的特征 迭代中的同步工作 Sprint中需求的變更管理 Sprint的中止 每日站立會議的目的 站立會議的典型實(shí)踐 每日站立會議的做法 每日站立會議的紀(jì)律 站立會議的細(xì)節(jié)1:如何站 站立會議的細(xì)節(jié)2:外部人員的參與 站立會議的細(xì)節(jié)3:議題的延展 站立會議的細(xì)節(jié)4:看板的使用 站立會議的細(xì)節(jié)5:何謂“任務(wù)已完成”? 站立會議的細(xì)節(jié)6:大團(tuán)隊(duì)的站立會議 站立會議的細(xì)節(jié)7:會后處理 站立會議體現(xiàn)的團(tuán)隊(duì)文化 每日站立會議的制度化 案例:晨會作業(yè)指南 練習(xí):每日開發(fā)與站立會議 Sprint評審 sprint演示的作用 Sprint Review Sprint review的注意事項(xiàng) Sprint Review — 可能的措施 練習(xí):迭代評審 活動3:Sprint評審 Sprint review的作用 Sprint review的注意事項(xiàng) 練習(xí):迭代評審 活動4:Sprint 回顧 Sprint 回顧的流程 Sprint 回顧的案例 練習(xí):迭代回顧 |
第六部分Scrum方法中的其他話題 |
Scrum方法中的開發(fā)階段:項(xiàng)目生命周期 Scrum方法中的開發(fā)階段:產(chǎn)品定義階段的主要活動 Scrum方法中的開發(fā)階段:迭代開發(fā)階段的主要活動 Scrum方法中的開發(fā)階段:結(jié)束階段的主要活動 SCRUM方法中的時(shí)間箱管理 時(shí)間箱管理的好處 沒有銀彈:Scrum不是萬能鑰匙 Scrum方法的10大典型障礙 |
第七部分極限編程簡介 |
極限的含義:極限編程( eXtreme Programming ) 誰在用XP? 什么時(shí)候需要XP? XP的4個價(jià)值目標(biāo):溝通 XP的4個價(jià)值目標(biāo):簡單 XP的4個價(jià)值目標(biāo):反饋 XP的4個價(jià)值目標(biāo):勇氣 XP的過程 XP中程序員的一天 |
第八部分極限編程的12條核心實(shí)踐 |
現(xiàn)場客戶(On-site customer) 策劃游戲(Planning game) 小發(fā)行版(Small releases) 集體代碼所有權(quán)(Collective ownership) 一周40小時(shí) (40-hour week) 系統(tǒng)隱喻(System Metaphor) 簡單設(shè)計(jì)(Simple design) 配對編程(pair programming) 編碼標(biāo)準(zhǔn)(Coding standards) 測試驅(qū)動(Test-driven) 重構(gòu)(Refactoring) 持續(xù)集成(Continuous integration) 12條實(shí)踐之間的互相支持 |
第九部分 XP的其他話題 |
從CMM角度看XP 對XP的置疑 不適用于XP的場合 XP項(xiàng)目失敗的常見錯誤 |
第十部分 敏捷方法小結(jié) |
敏捷實(shí)踐的使用率調(diào)查 敏捷方法 VS 計(jì)劃驅(qū)動方法 實(shí)施敏捷方法的常見錯誤 推薦書籍與資源 |