微軟軟件研發(fā)方式論及軟件開發(fā)平臺(tái)構(gòu)建_第1頁
微軟軟件研發(fā)方式論及軟件開發(fā)平臺(tái)構(gòu)建_第2頁
微軟軟件研發(fā)方式論及軟件開發(fā)平臺(tái)構(gòu)建_第3頁
微軟軟件研發(fā)方式論及軟件開發(fā)平臺(tái)構(gòu)建_第4頁
微軟軟件研發(fā)方式論及軟件開發(fā)平臺(tái)構(gòu)建_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、議題微軟研發(fā)簡介和研發(fā)系統(tǒng)觀開發(fā)人員配置開發(fā)流程中的重要階段和實(shí)踐開發(fā)工具的演化用VSTS/TFS構(gòu)建軟件開發(fā)平臺(tái)來加強(qiáng)管理、提高效率微軟對(duì)創(chuàng)新的投入從未間斷微軟研發(fā)中心55個(gè)研究領(lǐng)域 產(chǎn)品開發(fā)/技術(shù)孵化/根底研究微軟成功的核心研究中心開發(fā)中心 2021 MicrosoftEcosystemDevelopmentResearchIncubationMade IN China(Deployment)Made FOR China(Production)Made BY China(Ownership)Made WITH China(Impact)微軟在美國以外投資最大、職能最完備、機(jī)構(gòu)設(shè)置最全的創(chuàng)新

2、基地五大研發(fā)方向:移動(dòng)通訊和嵌入式系統(tǒng)、互聯(lián)網(wǎng)技術(shù)產(chǎn)品和效勞、數(shù)字娛樂、效勞器與開發(fā)工具和新興市場(chǎng)微軟中國研發(fā)集團(tuán)微軟開發(fā)面對(duì)的挑戰(zhàn)了解客戶的需求 多樣化的客戶群未來以及潛在需求的開發(fā) 怎樣開發(fā)多種產(chǎn)品為客戶提供長期的價(jià)值 很多大團(tuán)隊(duì)怎樣一起共同研發(fā)復(fù)雜的產(chǎn)品雇用優(yōu)秀的工程師 并讓他們很快進(jìn)入狀態(tài)與全世界不同地區(qū)的同事做分布式的協(xié)同開發(fā)微軟并沒有硬性的開發(fā)規(guī)定微軟有許多不同的產(chǎn)品類型和周期在線產(chǎn)品:每周或每日病毒預(yù)防,重要補(bǔ)丁等等:每月重要的產(chǎn)品:每年Office: 兩到三年 其它不同周期:操作系統(tǒng),數(shù)據(jù)庫但是,都用同樣的理念!研發(fā)系統(tǒng)觀人員流程工具功能團(tuán)隊(duì)的核心項(xiàng)目管理項(xiàng)目經(jīng)理調(diào)查客戶需求、

3、了解競爭對(duì)手并發(fā)展出相關(guān)軟件需求開發(fā)軟件開發(fā)人員編寫符合需求的程序測(cè)試軟件測(cè)試人員確保產(chǎn)品性能符合需求多重專業(yè)的有序分工開發(fā)測(cè)試工程管理IT 運(yùn)行產(chǎn)品方案可用性設(shè)計(jì)創(chuàng)意內(nèi)容根底研究工程管理專業(yè) 開發(fā) 測(cè)試 項(xiàng)目管理 IT 運(yùn)行 產(chǎn)品計(jì)劃 創(chuàng)意 可用性 基礎(chǔ)研究 內(nèi)容 工程管理組織結(jié)構(gòu)用某開發(fā)團(tuán)隊(duì)為例在微軟,產(chǎn)品是由產(chǎn)品組 “Product Units 來開發(fā)的,由Product Unit Manager來負(fù)責(zé)Group Program Manager, Dev Manager, Test Manager 各負(fù)責(zé)一類職責(zé)并向Product Unit Manager匯報(bào)工程管理 (Program

4、Management)負(fù)責(zé)產(chǎn)品功能集和功能定義七位工程管理經(jīng)理最終向 Group Program Manager 匯報(bào)開發(fā) (Development)負(fù)責(zé)產(chǎn)品的實(shí)現(xiàn)和架構(gòu)十五位軟件開發(fā)工程師最終向Dev Manager匯報(bào)測(cè)試 (Testing)負(fù)責(zé)產(chǎn)品的質(zhì)量保證二十八位軟件開發(fā)測(cè)試工程師最終向Test Manager匯報(bào)開發(fā)流程: 產(chǎn)品生命周期管理產(chǎn)品年度策略總結(jié)價(jià)值分析價(jià)值分析價(jià)值分析多次發(fā)布策略服務(wù)開發(fā)定義項(xiàng)目服務(wù)上市測(cè)試版進(jìn)度表工程系統(tǒng)版本目標(biāo)功能計(jì)劃里程碑優(yōu)化選擇里程碑里程碑功能重復(fù)設(shè)計(jì)文件功能描述測(cè)試描述測(cè)試代碼產(chǎn)品代碼質(zhì)量檢驗(yàn)功能團(tuán)隊(duì)會(huì)用Agile方法時(shí)間方案里程碑 = 產(chǎn)品周期

5、進(jìn)展的單元常見的里程碑方案: M0, M1, M2, , Beta1, Beta2, RTM有利于對(duì)當(dāng)前進(jìn)展和所剩工作的評(píng)估在里程碑方案中功能分優(yōu)先級(jí)當(dāng)質(zhì)量到達(dá)里程碑終結(jié)標(biāo)準(zhǔn)“exit criteria,里程碑才算完成 2021 Microsoft主要的功能里程碑事件里程碑事件定義Spec Complete規(guī)格完成日里程碑功能設(shè)計(jì)規(guī)格應(yīng)寫好并審核完的日期Feature Coding寫功能代碼功能里程碑通常 用8-9 周長短來寫代碼Code Complete(CC)代碼完成日所有里程碑計(jì)劃的功能都應(yīng)完成的日期Test Plan Complete測(cè)試計(jì)劃完成日里程碑功能測(cè)試計(jì)劃應(yīng)寫好并審核完的日期

6、Zero Bug Bounce (ZBB)零漏洞震蕩本里程碑大于48小時(shí)的漏洞數(shù)量 = 0ZBB Test Pass (ZBB TP) ZBB全測(cè)試所有功能測(cè)試都在當(dāng)前構(gòu)建(build)上運(yùn)行一遍Zero Resolved Bugs (ZRB)零解決漏洞里程碑內(nèi)解決的并等待驗(yàn)證的漏洞數(shù)量 = 0Test Sign-Off測(cè)試驗(yàn)收對(duì)里程碑構(gòu)建(build)做最后的驗(yàn)證和媒介驗(yàn)收 2021 Microsoft設(shè)計(jì)規(guī)格沒有設(shè)計(jì)就不要寫產(chǎn)品代碼即使是一個(gè)人的工程也要遵守這個(gè)好規(guī)那么對(duì)團(tuán)隊(duì)工程來說那么是必須的功能集是由微軟Program Managers來負(fù)責(zé)的負(fù)責(zé)寫每個(gè)功能的設(shè)計(jì)規(guī)格,開發(fā)和測(cè)試給反響

7、一個(gè)好設(shè)計(jì)規(guī)格有如下特點(diǎn):清楚地說明功能的目標(biāo)和非目標(biāo)清楚地說明客戶和合作伙伴怎樣來用這個(gè)功能準(zhǔn)確地說明功能的對(duì)象模式和架構(gòu)設(shè)計(jì)足夠清楚地讓分開的開發(fā)、測(cè)試、文檔、本地化團(tuán)隊(duì)一起來完成編寫代碼對(duì)源代碼樹的任何改動(dòng)在提交前都要由別的開發(fā)工程師來做代碼審核開發(fā)者負(fù)責(zé)對(duì)實(shí)現(xiàn)的功能進(jìn)行提交測(cè)試現(xiàn)趨向于開發(fā)者寫的單元測(cè)試達(dá)不到60% block-level code-coverage 不能提交功能代碼代碼提交前所有的提交測(cè)試都要運(yùn)行,通過率要100% (2-3 小時(shí)的過程)工具:提交排隊(duì)系統(tǒng)來運(yùn)行提交測(cè)試提交排隊(duì)系統(tǒng)在每次成功提交后會(huì)給團(tuán)隊(duì)發(fā)“Check-in mail 電郵,信中總結(jié)修改了什么代碼、解

8、決的漏洞、修改的文件 Unit Testing單元unit測(cè)試源代碼樹的結(jié)構(gòu)Main Source BranchFeature BranchTeam1 BranchTeam2 BranchFeature BranchFeature BranchFeature BranchFeature BranchFeature Branch產(chǎn)生每日構(gòu)建Daily Builds每天都要產(chǎn)生一個(gè)產(chǎn)品的新構(gòu)建“build中央build lab 為全division (2800 人)做daily buildBuild 流程:Build 團(tuán)隊(duì)同步源代碼樹 (半夜)開始端到端的build (4:00am)Build 完

9、成 (1:00pm)做 BVT (Build Verification Tests) 來驗(yàn)證build 是否正常 (4:00pm)從BFD那里拿到hot-fixes 然后re-build BVT 失敗的地方重復(fù) hotfix/BVT 周期直到build 沒有問題 2021 Microsoft每天都有Build報(bào)告測(cè)試測(cè)試團(tuán)隊(duì)是由開發(fā)人員組成的,他們負(fù)責(zé)設(shè)計(jì)測(cè)試方案、寫自動(dòng)測(cè)試、建立測(cè)試根底設(shè)施著重于提高質(zhì)量、防止退化、能夠快速分析不同的builds和它的變異以及各語言版VS2005測(cè)試狀況:102,000 功能測(cè)試用例Test Cases505,000 功能測(cè)試方案Test Scenarios

10、71 壓力混和變異測(cè)試測(cè)試實(shí)驗(yàn)室1000 效勞器來自動(dòng)運(yùn)行這些測(cè)試測(cè)試管理系統(tǒng)儲(chǔ)存并管理測(cè)試方案和自動(dòng)測(cè)試運(yùn)行允許用戶很容易地增加、刪除、分析測(cè)試方案及用例允許用戶遠(yuǎn)程用再映像方式(re-image)來配置實(shí)驗(yàn)室里的機(jī)器允許用戶遠(yuǎn)程在一系列實(shí)驗(yàn)室機(jī)器上啟動(dòng)test-run允許用戶遠(yuǎn)程分析測(cè)試運(yùn)行結(jié)果并公布結(jié)果測(cè)試質(zhì)量保證QA的第一步是測(cè)試方案自動(dòng)測(cè)試用例的實(shí)現(xiàn)目標(biāo)是在產(chǎn)品周期結(jié)束時(shí)所有測(cè)試代碼覆蓋率 85%總是在尋找“test holes測(cè)試中找到的缺陷bug會(huì)在VSTS/TFS 中記錄定期的自動(dòng)測(cè)試運(yùn)行會(huì)捕捉到退化regressionsTest Case Management測(cè)試用例管理手動(dòng)

11、和自動(dòng)在一個(gè)系統(tǒng)里Code Coverage代碼覆蓋率Unit, BVT, Suite, AllBug 漏洞跟蹤Bugs 和 work-items 放在 Team Foundation Server上功能leads 會(huì)“triage Bugs 并給出優(yōu)先級(jí)每天會(huì)有Status郵件發(fā)給全division來跟蹤bug狀況主要觀察尺度: 新進(jìn)來的bug數(shù)和修掉的數(shù)以及在每個(gè)dev上的bug數(shù)在最后一個(gè)功能里程碑完成后,產(chǎn)品團(tuán)隊(duì)的任務(wù)主要是把bug數(shù)減少到零Bug查詢Bug詳細(xì)情況產(chǎn)品近尾聲時(shí)的滑翔路徑大工程會(huì)慢慢滑入“glide in 而不是突然結(jié)束產(chǎn)品盡早得到真正用戶的反響很關(guān)鍵 微軟團(tuán)隊(duì)常常在R

12、TM(Release To Manufacture)發(fā)放前要有兩個(gè)公開betas在進(jìn)入“尾聲前,“滑翔路徑中的一些主要步驟1) 鎖定功能集,停止增加或改變功能設(shè)計(jì)2) 在鎖定設(shè)計(jì)根底上做全方位的測(cè)試找出所有能找到的bug3) 努力到達(dá)零漏洞震蕩zero bug bounce (ZBB)4) 用幾周時(shí)間來吸收回彈的bug數(shù)5) 從系統(tǒng)中把不必須修的bug推掉6) 進(jìn)入尾聲“end-game ,開始把代碼改動(dòng)量減到最小 2021 Microsoft工具的演化單一功能的工具 編輯器、調(diào)試器整合的開發(fā)環(huán)境(IDE) Visual Studio Professional應(yīng)用開發(fā)周期管理(ALM) Vis

13、ual Studio Team System with Team Foundation Server 2021 Microsoft微軟的 ALM 解決方案PMODevelopmentOperations 2021 MicrosoftVisual Studio Team SystemTeam Foundation Server團(tuán)隊(duì)協(xié)作開發(fā)的一個(gè)整合的平臺(tái)團(tuán)隊(duì) Portal 團(tuán)隊(duì)協(xié)作SharePoint site變更管理 提供靈活的需求、變更請(qǐng)求、bugs、問題、工作工程的跟蹤系統(tǒng)工程管理 管理工程資源、時(shí)間線、質(zhì)量版本控制 強(qiáng)健的源代碼版本控制系統(tǒng),包括所有工程的代碼、分支、變更集changes

14、et、擱置集shelveset報(bào)告 提供中央數(shù)據(jù)倉庫,實(shí)時(shí)工程指標(biāo)和分析團(tuán)隊(duì) Build 為團(tuán)隊(duì)工程創(chuàng)立和管理build類型由工具來制定的流程在建立新項(xiàng)目時(shí)選擇流程工作項(xiàng)的解剖Value PropositionExperienceFeatureTaskTaskFeatureTaskExperienceFeatureTaskBack of the box Marketing featureSpec Feature CrewTask每一次提交代碼都可以與工作項(xiàng)關(guān)聯(lián),使得需求、任務(wù)、Bug和代碼關(guān)聯(lián)版本控制 - 關(guān)聯(lián)工作項(xiàng)構(gòu)建工作流 - VSTS/TFS 2021Edit CodeSubmit gated check-inAutomated BuildCommit Check-InY / NReady for Test商業(yè)需求記錄并管理商業(yè)需求,提供從頭到尾的可追蹤性 哪里需要調(diào)整資源?大部分要做的工作在測(cè)試方面,表明資源分配不合適或質(zhì)量有問題范圍蠕變“黑事” 在迭代中浮現(xiàn)計(jì)劃的工作減少了我們團(tuán)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論