敏捷開發(fā)培訓(xùn)材料_第1頁
敏捷開發(fā)培訓(xùn)材料_第2頁
敏捷開發(fā)培訓(xùn)材料_第3頁
敏捷開發(fā)培訓(xùn)材料_第4頁
敏捷開發(fā)培訓(xùn)材料_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

敏捷開發(fā)培訓(xùn)材料第1頁/共35頁目錄一DevOps實施思路二DevOps實施效果展示四Q&A三DevOps實施經(jīng)驗總結(jié)第2頁/共35頁DevOps理念推進DevOps實施的主要階段業(yè)務(wù)人員開發(fā)測試人員運維人員最終用戶想法市場計劃和需求開發(fā)和測試發(fā)布和部署反饋和優(yōu)化持續(xù)業(yè)務(wù)計劃和需求分析協(xié)作式開發(fā)持續(xù)測試持續(xù)監(jiān)控持續(xù)發(fā)布和部署DevOps精益和敏捷原理持續(xù)改進、持續(xù)反饋、持續(xù)優(yōu)化第3頁/共35頁DevOps實施策略體系建立敏捷提效任務(wù)自助內(nèi)建質(zhì)量度量改進建立適用于自身特點的DevOps實踐體系盡可能清晰定義活動邊界、標(biāo)準(zhǔn)組件和標(biāo)準(zhǔn)敏捷開發(fā)模式推薦作為DevOps的必選項選擇Scrum+KANBAN+XP實踐方法構(gòu)建、部署活動一鍵執(zhí)行,可重復(fù)保質(zhì)量持續(xù)集成交付(CI/CD)可非專職人員進行軟件構(gòu)建、部署對接自動化測試代碼編寫規(guī)范和產(chǎn)出率的Sonar掃描代碼變更影響分析自動化評估持續(xù)集成各環(huán)節(jié)時長度量持續(xù)交付各環(huán)節(jié)成功率度量代碼質(zhì)量各維度度量根據(jù)度量結(jié)果進一步優(yōu)化工作流程123455種核心策略第4頁/共35頁DevOps體系全景圖整體流程BACKLOG用戶需求用戶故事用戶故事用戶需求用戶故事用戶故事用戶需求用戶故事用戶故事開發(fā)任務(wù)測試任務(wù)設(shè)計任務(wù)單元測試驗證測試開發(fā)任務(wù)開發(fā)任務(wù)BACKLOG障礙問題計劃會議:PO主持創(chuàng)建Sprintbacklog評審會議:PO主持驗收用戶故事回顧會議:只有團隊成員參與好的、待改進、如何改進看板+每日例會:可視化流程鼓勵團隊溝通產(chǎn)品backlog:條目化用戶故事優(yōu)先級排序按用戶故事組織開發(fā)和交付SprintBacklog:經(jīng)任務(wù)分解和估算的用戶故事經(jīng)設(shè)計的測試用例可以迭代完成的周期持續(xù)集成:自動化隨需的軟件構(gòu)建、靜態(tài)代碼掃描、單元測試、部署任務(wù)領(lǐng)取編碼&單元測試測試用例&自動化測試腳本集成測試環(huán)境準(zhǔn)生產(chǎn)環(huán)境生產(chǎn)環(huán)境開發(fā)分支測試分支交付(生產(chǎn))分支持續(xù)集成版本發(fā)布集成自動化測試UAT測試應(yīng)用上線UAT測試組織者缺陷反饋開發(fā)測試環(huán)境自動化部署執(zhí)行測試+自動化測試Scrum團隊組成:干系人POScrumMaster團隊(跨職能,開發(fā),測試等)DevOps平臺系統(tǒng)(工具集)用戶故事未認(rèn)領(lǐng)未開始執(zhí)行中阻塞完成1.需求敏捷

開發(fā)模式2.敏捷活動

與看板3.團隊4.CI/CD第5頁/共35頁目錄一DevOps實施思路與計劃二DevOps實施效果展示四Q&A三DevOps實施經(jīng)驗總結(jié)第6頁/共35頁敏捷提效-與瀑布流程對比需求提出需求分析功能設(shè)計代碼開發(fā)測試驗證發(fā)布上線運維監(jiān)控1-2個月長周期交付無法及時響應(yīng)需求變化需求從提出到上線反饋時間長1-2周短周期交付快速響應(yīng)需求變化自動化測試保證質(zhì)量瀑布式開發(fā)敏捷開發(fā)敏捷開發(fā)CI/CD自動化測試Sonar掃描成果展示第7頁/共35頁敏捷團隊與會議敏捷開發(fā)CI/CD自動化測試Sonar掃描成果展示建立融合型的敏捷開發(fā)團隊業(yè)務(wù)POMaster團隊運維提供業(yè)務(wù)需求及相關(guān)素材、負責(zé)需求澄清說明及驗收確認(rèn)需求轉(zhuǎn)化拆分為用戶故事、面向團隊代表客戶進行需求跟蹤協(xié)助團隊完成迭代任務(wù)、排除團隊面臨的障礙、確保團隊遵守敏捷開發(fā)規(guī)則根據(jù)需求實現(xiàn)迭代承諾并交付、完成迭代開發(fā)中的各項工程實踐任務(wù)在團隊實現(xiàn)需求時提出運維建議并在迭代評審時進行確認(rèn)迭代啟動會迭代計劃會每日立會迭代評審迭代回顧迭代開始前3天進行,評估分析可以進入迭代的需求范圍,后續(xù)進行需求分析,時長1小時迭代開始前1天進行,根據(jù)完成分析的需求進行迭代任務(wù)拆分,估算任務(wù)工作量,時長1小時迭代中每天早上9點40分準(zhǔn)時開始,團隊成員講述任務(wù)完成情況,時長15分鐘迭代結(jié)束后進行迭代評審,演示并驗證交付的需求,展示單元測試和自動化測試結(jié)果,時長1小時迭代評審后進行迭代回顧,總結(jié)迭代中的經(jīng)驗教訓(xùn),確定下迭代的改進內(nèi)容,時長30分鐘第8頁/共35頁敏捷管理流程導(dǎo)入用戶原始需求拆分用戶故事拆分迭代任務(wù)每日站立會議燃盡圖跟蹤敏捷開發(fā)CI/CD自動化測試Sonar掃描成果展示第9頁/共35頁敏捷迭代量化數(shù)據(jù)分析量化數(shù)據(jù)分析:1.四個迭代,研發(fā)產(chǎn)出逐漸增加(按功能點數(shù))2.生產(chǎn)率:超過行業(yè)基準(zhǔn)(7.2人時/功能點)3.各個迭代在保證產(chǎn)出效率的情況下,增加了自動測試用例覆蓋、減少了評審問題和BUG數(shù),產(chǎn)出質(zhì)量進一步改善4.在各個迭代中,逐漸確認(rèn)了團隊的實際產(chǎn)出能力和合適的故事/任務(wù)拆分大小原則第10頁/共35頁敏捷活動

–每日立會及培訓(xùn)隨著敏捷開發(fā)的深入實施,為北京移動的開發(fā)團隊組織了接口自動化測試、UI自動化測試、Sonar違規(guī)修改培訓(xùn)3次大規(guī)模培訓(xùn),針對項目現(xiàn)場的特性,在不影響整體開發(fā)效率的前提下,個性化的調(diào)整了站立會議模式、迭代計劃會議估算方法,通過簡單易用的App工具來讓團隊成員快速識別拆分任務(wù),領(lǐng)取任務(wù)。在迭代評審中通過實際成果展示,讓團隊成員可以感性的看到自己的工作成果。通過細化接口自動化測試任務(wù),團隊成員可以實現(xiàn)低投入高產(chǎn)出,一次開發(fā)長效使用,把自動化測試實施落到了實處。第11頁/共35頁DevOps實施落地–Sonar掃描Sonar效果:1)阻斷級違規(guī):405->202)嚴(yán)重級違規(guī):

2307->22913)代碼變更行數(shù):

190->360+敏捷開發(fā)CI/CD自動化測試Sonar掃描成果展示第12頁/共35頁DevOps實施落地-CI/CD整體流程圖CI/CD整體流程開發(fā)活動、測試活動、生產(chǎn)交付活動通過CI/CD系統(tǒng)串聯(lián)自動化并全領(lǐng)域覆蓋Agile-敏捷活動CI-持續(xù)集成CD-持續(xù)交付設(shè)計開發(fā)需求軟件構(gòu)建(代碼&SQL)Sonar掃描單元測試Junit應(yīng)用部署(測試環(huán)境)自動化測試(接口&UI)集成測試版本交付應(yīng)用部署(準(zhǔn)生產(chǎn)環(huán)境)驗收測試應(yīng)用部署(生產(chǎn)環(huán)境)系統(tǒng)運營敏捷開發(fā)CI/CD自動化測試Sonar掃描成果展示流程節(jié)點可定制第13頁/共35頁DevOps實施落地-CI/CD按環(huán)境管理多業(yè)務(wù)環(huán)境的處理按交付領(lǐng)域不同的環(huán)境進行分領(lǐng)域多維度的統(tǒng)一管理開發(fā)環(huán)境測試環(huán)境準(zhǔn)生產(chǎn)環(huán)境生產(chǎn)環(huán)境分領(lǐng)域集成預(yù)處理軟件構(gòu)建部署發(fā)布在線測試多維度敏捷開發(fā)CI/CD自動化測試Sonar掃描成果展示第14頁/共35頁CI/CD任務(wù)單提交變更流程開發(fā)人員直觀視角開發(fā)人員提交代碼時,CI根據(jù)任務(wù)單號自動捕獲、自動編譯、自動測試環(huán)境部署需求單提交測試分支構(gòu)建版本生成部署版本生成測試環(huán)境部署交付分支構(gòu)建版本生成準(zhǔn)生產(chǎn)環(huán)境部署生產(chǎn)環(huán)境部署交付使用敏捷開發(fā)CI/CD自動化測試Sonar掃描成果展示第15頁/共35頁CI/CD版本管理

統(tǒng)一的版本管控發(fā)布版本管理-詳細關(guān)聯(lián)具體的任務(wù)單信息,防止遺漏和多出任務(wù)部署版本構(gòu)建版本部署版本…構(gòu)建版本…構(gòu)建版本構(gòu)建版本…Svn-測試分支Svn-生產(chǎn)分支測試環(huán)境生產(chǎn)環(huán)境準(zhǔn)生產(chǎn)環(huán)境交付版本變更范圍-需求處理范圍-代碼&SQL來源-代碼分支構(gòu)建版本部署環(huán)境部署版本上線交付范圍交付版本第16頁/共35頁準(zhǔn)生產(chǎn)環(huán)境測試環(huán)境CI/CD持續(xù)部署開發(fā)環(huán)境生產(chǎn)環(huán)境多環(huán)境多規(guī)則多能力定時配置人工自助Jenkins調(diào)用Shell調(diào)用第17頁/共35頁DevOps實施落地–自動測試平臺(ATP)其他對接系統(tǒng)用戶HA/LVS安全認(rèn)證APIGateway消息中心消息總線消息路由探測微服務(wù)性能測試微服務(wù)任務(wù)調(diào)度微服務(wù)仿真微服務(wù)7*24小時業(yè)務(wù)監(jiān)控UI及接口自動化測試對壓力性能測試進行管理代碼審查微服務(wù)對源碼進行編碼審查安全掃描微服務(wù)對系統(tǒng)進行安全掃描Web服務(wù)器集群測試過程管理數(shù)據(jù)存儲測試案例管理測試任務(wù)管理缺陷管理服務(wù)注冊服務(wù)發(fā)現(xiàn)共享緩存日志管理配置管理測試計劃管理運維管理自動化測試微服務(wù)測試流程管控數(shù)據(jù)存儲Iaas(測試資源管理)可持續(xù)集成敏捷開發(fā)CI/CD自動化測試Sonar掃描成果展示第18頁/共35頁DevOps實施落地–接口自動化測試工具接口自動化測試工具是自開發(fā)的接口及服務(wù)測試工具。主要特點包括:1.支持Http/https,WEBService,Restful等接口協(xié)議2.支持HSF、CSF等微服接口協(xié)議3.支持接口定義批量導(dǎo)入4.支持從接口報文自動解析接口定義5.支持自動解析WSDL6.支持個性化的報文加解密敏捷開發(fā)CI/CD自動化測試Sonar掃描成果展示實施效果:1.目前已完成30個接口自動測試用例,涵蓋5類模塊2.每次持續(xù)集成(CI)部署必須調(diào)用接口自動測試3.確保關(guān)鍵接口的高可用性4.每個成員都承擔(dān)接口測試用例的編寫與調(diào)試工作,不由專人負責(zé)第19頁/共35頁DevOps實施落地–UI自動化測試目前已完成測試案例11個,覆蓋業(yè)務(wù)推薦、業(yè)務(wù)查詢、業(yè)務(wù)辦理等系統(tǒng)菜單另外開發(fā)了快速驗證channel、commission、app-web-console等多平臺發(fā)布狀態(tài)的冒煙測試案例,用于日常發(fā)布環(huán)境驗證。UI自動化測試計劃已經(jīng)可以從持續(xù)集成(CI)調(diào)用同步開展CRM和BOSS側(cè)UI自動化測試工作敏捷開發(fā)CI/CD自動化測試Sonar掃描成果展示封裝Selenium第20頁/共35頁DevOps實施落地–門戶面板多維度的數(shù)據(jù)沉淀、維護、度量DevOps多節(jié)點過程數(shù)據(jù)整合度量及統(tǒng)一展示持續(xù)集成面板:構(gòu)建數(shù)據(jù)、分支合并數(shù)據(jù)、部署數(shù)據(jù)Sonar度量面板:違規(guī)、技術(shù)債、復(fù)雜度、注釋率等單元測試面板:單元測試覆蓋率、通過率自動測試面板:含接口自動測試、UI自動測試的測試通過率、覆蓋率、測試匯總結(jié)果等持續(xù)交付面板:版本上線及部署情況運維監(jiān)控面板:主機、服務(wù)等資源狀況、應(yīng)用狀態(tài)等數(shù)據(jù)展示第21頁/共35頁DevOps實施成果展示–CI/CD過程提效代碼編譯頻率編譯時長部署時長編譯問題處理測試環(huán)境部署頻率SQL合并&執(zhí)行自動化測試持續(xù)集成(編譯、部署、接口&UI自動化)實施前1次/天20分鐘30分鐘人工分析&口頭協(xié)調(diào)1次/天人工收集執(zhí)行無各環(huán)節(jié)人工觸發(fā)實施后大于5次4分鐘7分鐘自動定位&自動郵件>=4次/天自動收集執(zhí)行應(yīng)用部署后自動觸發(fā)約23分鐘流程自動化過程可視化反饋及時化測試常態(tài)化解放人力促進協(xié)同增強溝通保證質(zhì)量問題及早發(fā)現(xiàn)結(jié)果持續(xù)可見過程自動提效持續(xù)集成部署綜合效率提升超過300%,8月份共編譯92次,部署48次敏捷開發(fā)CI/CD自動化測試Sonar掃描成果展示第22頁/共35頁DevOps實施成果展示–團隊能力提升團隊進行需求分解快速完成并行任務(wù)迭代交付完整需求團隊合作取代單打獨斗知識技能團隊共享團隊能力和士氣快速提升通過站會、評審、討論、任務(wù)完成獎勵等方式提高團隊熟悉程度和信任成員之間自動產(chǎn)生了提前完成任務(wù)的比較心理新技術(shù)手段的引入,帶來了成員新的學(xué)習(xí)熱情以團隊合作取代單打獨斗的工作方式,團隊內(nèi)形成了良好的知識分享和技能提升的氛圍,大家可以積極領(lǐng)取任務(wù)并保質(zhì)完成,在迭代結(jié)束時可以看到完成的成果,士氣得到了很好的提升。敏捷開發(fā)CI/CD自動化測試Sonar掃描成果展示第23頁/共35頁DevOps實施成果展示–敏捷成熟度敏捷成熟度模型和DevOps成熟度模型參考CMMI成熟度模型及行業(yè)經(jīng)驗制定第24頁/共35頁DevOps實施成果展示–DevOps成熟度第25頁/共35頁目錄一DevOps實施思路與計劃二DevOps實施效果展示四Q&A三DevOps實施經(jīng)驗總結(jié)第26頁/共35頁北京移動DevOps試點實施計劃與完成情況第27頁/共35頁北京移動DevOps試點實施計劃與完成情況(續(xù))第28頁/共35頁試點經(jīng)驗經(jīng)驗總結(jié)緊急需求:預(yù)留10-15%的產(chǎn)能,或預(yù)留不納入敏捷流程的支撐人員代碼版本:使用持續(xù)集成工具(CI)自動進行代碼分支合并,不再人工管理自組織團隊建設(shè):培養(yǎng)團隊綜合能力,從功能型團隊轉(zhuǎn)為產(chǎn)品團隊迭代實施原則:每1-2個迭代增加一個節(jié)點/流程,減少轉(zhuǎn)型阻力激勵機制:按時或提前完成任務(wù),給團隊成員一定的獎勵,鼓勵更好的協(xié)作與承諾因地制宜:根據(jù)應(yīng)用系統(tǒng)的實際情況對DevOps各個環(huán)節(jié)進行相應(yīng)裁減,并充分利用已有資源/系統(tǒng)高ROI原則:先進行最高性價比的節(jié)點實踐,如先上接口自動化測試工具。不足之處缺少對運維/運營側(cè)工作的整體融合方案灰度發(fā)布需要系統(tǒng)架構(gòu)的同步升級第29頁/共35頁達成成果3.取得的成果需求交付時間團隊開發(fā)效率代碼提交頻率集成頻率部署流程代碼質(zhì)量自動化測試發(fā)布次數(shù)正常排期需求交付時間從實施敏捷開發(fā)前的2周到縮短為1周團隊開發(fā)效率從實施敏捷開發(fā)前的7人時/功能點提升到3.94人時/功能點(行業(yè)均值7.2人時)從實施敏捷開發(fā)前的不固定到每天50次以上的提交測試環(huán)境從實施敏捷開發(fā)前的每天1次到每小時1次從實施敏捷開發(fā)前的手工部署到自動化部署測試環(huán)境從每天1次到每天>4次,生產(chǎn)環(huán)境由每月2次到可以隨需要立即發(fā)布從實施敏捷開發(fā)前的空白到單元測試、Sonar掃描、代碼評審工具全支持從實施敏捷開發(fā)前的空白到接口自動化測試、UI自動化測試全覆蓋目標(biāo)達成第30頁/共35頁DevOps實施的關(guān)鍵特性總結(jié)版本控制:開發(fā)、測試、部署等各種版本分支策略:雙分支或三分支管控代碼質(zhì)量掃描:基于Sonar單元測試覆蓋:核心模塊80%以上漏洞掃描:結(jié)合安全測試(待實施)開源工具掃描:優(yōu)選可靠開源工具,及時修補漏洞制品(工件)版本控制:Nexus制品倉庫,CI統(tǒng)一管理環(huán)境自動創(chuàng)建:需調(diào)用DCOS或其他云平臺功能(待實施)不可變服務(wù)器:需容器化(待實施)性能測試:自動化的性能測試和必要的手工測試(待實施)每次提交都觸發(fā)自動構(gòu)建、自動部署、自動化測試:基于CMP實現(xiàn)自動化變更請求:每次關(guān)鍵變更自動處理零停機發(fā)布:灰度發(fā)布、應(yīng)用無狀態(tài)化(待實施)功能開關(guān):業(yè)務(wù)/服務(wù)功能可以由開關(guān)控制,而無需更新版本統(tǒng)一視圖門戶:基于CMP實現(xiàn)第31頁/共35頁待實踐-灰度發(fā)布與容器化(基于K8s或Mesos)LB負載均衡CD/云平臺灰度發(fā)布典型流程:可部分更新服務(wù),并選擇更新的實例數(shù)如果更新成功,更新會暫??蓪⒉糠至髁恳龑?dǎo)至新實例,進行測試如果測試通過,可繼續(xù)更新剩余實例如果測試失敗,可將服務(wù)回滾至舊版本在任何階段如果更新發(fā)生錯誤,可將服務(wù)回滾到舊版本真正的灰度發(fā)布需要實現(xiàn)應(yīng)用容器化、數(shù)據(jù)庫分布化以及負載均衡的無狀態(tài)切換第32頁/共35頁DevOps在大Paas規(guī)劃中的定位DevOps是大Paas平臺規(guī)劃中的核心組成部分,有了DevOps能力才使快速交付、熱修復(fù)和灰度發(fā)布成為可能SaaSPaaSIaaS通用fu’wuX86服

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論