微軟軟件開發(fā)流程實(shí)施課件

單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,微軟軟件開發(fā)流程實(shí)施,*,PPT,文檔演模板,Office,PPT,微軟軟件開發(fā)流程實(shí)施,2024/10/16,微軟軟件開發(fā)流程實(shí)施,現(xiàn)存問題,測(cè)試團(tuán)隊(duì)沒有權(quán)威,沒有明確的質(zhì)量標(biāo)準(zhǔn)和員工度量標(biāo)準(zhǔn),團(tuán)隊(duì)成員之間缺乏有效溝通,實(shí)現(xiàn)的功能不是最初的設(shè)計(jì)目標(biāo),既產(chǎn)品規(guī)格和產(chǎn)品開發(fā)的一致性,產(chǎn)品規(guī)格更改維護(hù),產(chǎn)品進(jìn)度無法控制,測(cè)試計(jì)劃,文檔管理,微軟軟件開發(fā)流程實(shí)施,解決方法,軟件開發(fā)過程管理,資源管理,包括管理時(shí)間,管理成本,管理人員,產(chǎn)品管理,管理功能,實(shí)現(xiàn),質(zhì)量,實(shí)施步驟,團(tuán)隊(duì)建立-一個(gè)高效的團(tuán)隊(duì)具有如下特征,目標(biāo)一致,信念明確,積極有效溝通,不要假設(shè)別人已經(jīng)知道,主動(dòng)做事,主動(dòng)促進(jìn)流程改進(jìn),主動(dòng)回復(fù)別人EMAIL等,主動(dòng)共享信息,通過Process使成員各司其職,每件事情必須有負(fù)責(zé)人,數(shù)字化管理,實(shí)現(xiàn)方式:流程+工具+文檔+數(shù)字,微軟軟件開發(fā)流程實(shí)施,實(shí)施考慮,軟件流程改進(jìn)實(shí)施前提條件-作為軟件企業(yè)的ERP系統(tǒng),改變必然涉及每一個(gè)人的日常工作和思維方式,必須有強(qiáng)有力的領(lǐng)導(dǎo)支持和自適應(yīng)的能力.,企業(yè)已經(jīng)建立了有效的郵件管理機(jī)制和信息共享機(jī)制(通過內(nèi)部站點(diǎn)共享知識(shí)庫,資源等).,潛意識(shí)的有效溝通-使每一次需求更改都被所有的團(tuán)隊(duì)成員知道,高效率協(xié)作,沒有權(quán)利而是依靠權(quán)威和知識(shí)領(lǐng)先性的管理方法,結(jié)果是高創(chuàng)造性,積極工作,發(fā)表意見,改進(jìn)流程,實(shí)施誤區(qū),不考慮企業(yè)自身的情況,盲目實(shí)施流程,過度強(qiáng)調(diào)工具的重要性:如過度強(qiáng)調(diào)自動(dòng)化測(cè)試工具而忽略了測(cè)試,微軟軟件開發(fā)流程實(shí)施,流程改進(jìn)本質(zhì)-注重溝通,強(qiáng)調(diào)溝通,更注重實(shí)用性,團(tuán)隊(duì)成員之間的相互牽制,三權(quán)分立;,程序經(jīng)理,開發(fā)組,測(cè)試組,溝通不會(huì)自動(dòng)發(fā)生,日常會(huì)議,TRD,里程碑總結(jié)(PostMotem),每日,每周匯報(bào),Bug Triage Meeting,One one review,微軟軟件開發(fā)流程實(shí)施,流程改進(jìn)本質(zhì)-使軟件開發(fā)可控制,使軟件過程開發(fā)成為一個(gè)可控制的過程,數(shù)字化管理:基于數(shù)字的軟件開發(fā)度量,樹立時(shí)間計(jì)劃的權(quán)威性,有效控制時(shí)間,軟件產(chǎn)品有清晰的標(biāo)準(zhǔn):功能規(guī)格書(Functional Specification)作為全組的標(biāo)準(zhǔn),必須具有權(quán)威性,基于功能的進(jìn)度計(jì)劃和多個(gè)檢查點(diǎn)保證所有的功能實(shí)現(xiàn)符合功能規(guī)格書,微軟軟件開發(fā)流程實(shí)施,流程改進(jìn)本質(zhì)-持續(xù)主動(dòng)調(diào)整,必須專門的人員監(jiān)測(cè)整個(gè)軟件開發(fā)流程,并加以調(diào)整.將盡可能多的流程書面化.,制定六大服務(wù)器的OWNER.,流程的不斷變化和不同時(shí)期角色的工作重點(diǎn)調(diào)整,微軟軟件開發(fā)流程實(shí)施,項(xiàng)目初始化(一),軟件企業(yè)需要一個(gè)能夠滿足缺陷跟蹤和管理的工具,同時(shí)能夠?yàn)闆Q策提供支持.,市場(chǎng)調(diào)查(市場(chǎng)人員),并給出產(chǎn)品需求書,產(chǎn)品前景,目標(biāo)用戶,產(chǎn)品包和構(gòu)件,平臺(tái)支持,硬件和軟件環(huán)境,語言支持,功能要求,管理層決定實(shí)施該項(xiàng)目,并決定PM,Test Lead,Dev Lead人選,管理層決定Review Meeting的時(shí)間,完成Vision Statement(前景陳述),微軟軟件開發(fā)流程實(shí)施,項(xiàng)目初始化(二),項(xiàng)目動(dòng)員大會(huì),Audience 聽眾:所有可得到的人力資源,主題,宣布項(xiàng)目開始,項(xiàng)目前景陳述,團(tuán)隊(duì)組織,人力資源獲得:招聘+培訓(xùn),項(xiàng)目發(fā)布時(shí)間,微軟軟件開發(fā)流程實(shí)施,工作準(zhǔn)則-明確準(zhǔn)則,積極工作,PM的工作,進(jìn)度監(jiān)控,樹立Spec和Schedule的權(quán)威性,溝通中心,對(duì)內(nèi)確保每一個(gè)理解產(chǎn)品的前景,功能和對(duì)外確保管理層的支持和滿足顧客需求,PM一般是整個(gè)TEAM的凝聚力所在,PM的主要工作以寫Spec,開會(huì)和查看EmailL,進(jìn)度監(jiān)控,查看BUG數(shù)據(jù)庫和溝通為主,Dev Lead 的工作,通過Code Review代碼審核提供高質(zhì)量代碼,制定合理的時(shí)間計(jì)劃,技術(shù)選型,代碼重利用從而達(dá)到按時(shí)完成代碼,總體構(gòu)架設(shè)計(jì)和通用程序設(shè)計(jì),團(tuán)隊(duì)成員溝通,Test Lead的工作,測(cè)試環(huán)境的建立,測(cè)試策略制訂,測(cè)試方法和工具的選用,測(cè)試案例的維護(hù),發(fā)布測(cè)試報(bào)告,微軟軟件開發(fā)流程實(shí)施,M0,目的,設(shè)定項(xiàng)目目標(biāo)和計(jì)劃,開始,完成Vision Document,結(jié)束,開始編碼,術(shù)語,Vision Statement(Marketing),Product Specification(PM),test Plan(Testing),Development Plan and Schedule(Dev),UE Strategy and Plan(UE),PM責(zé)任,1.完成產(chǎn)品規(guī)格書;2.確定產(chǎn)品功能優(yōu)先級(jí);3.確定項(xiàng)目日程表 4.處理外部部件和其它組關(guān)系;測(cè)試計(jì)劃?rùn)z驗(yàn),開發(fā)組責(zé)任,開發(fā)組日程表;代碼和構(gòu)架設(shè)計(jì);決定各個(gè)功能在哪個(gè)里程碑完成;規(guī)格書檢驗(yàn);測(cè)試計(jì)劃?rùn)z驗(yàn),測(cè)試組責(zé)任,規(guī)格書檢驗(yàn);初始化缺陷數(shù)據(jù)庫;移植前一個(gè)版本中的延遲的缺陷數(shù)據(jù);添加支持部報(bào)告的缺陷;,用戶教育,規(guī)格書檢驗(yàn)(易用性,完整性和與其它產(chǎn)品的關(guān)系),并反饋給PM;提供文檔資料計(jì)劃;日程安排,管理層,評(píng)估上個(gè)項(xiàng)目,并改進(jìn)流程;評(píng)估從項(xiàng)目中得到的數(shù)據(jù)(如缺陷數(shù)據(jù)分析,工作量統(tǒng)計(jì),缺陷質(zhì)量);定義不同團(tuán)隊(duì)之間的合作方式;同意項(xiàng)目計(jì)劃;,微軟軟件開發(fā)流程實(shí)施,其它工作,人員培訓(xùn),熟練掌握各種工具.,建立源代碼服務(wù)器,培訓(xùn)TEAM MEMBER使用版本控制工具.確定各團(tuán)隊(duì)工作目錄,確定常規(guī)會(huì)議,如周項(xiàng)目狀態(tài)會(huì)議,新員工工作手冊(cè),使新的員工能夠非常清楚的知道各個(gè)Server和環(huán)境安裝,及工作流程,建立Build服務(wù)器和Release服務(wù)器,測(cè)試團(tuán)隊(duì)建立BUG數(shù)據(jù)庫服務(wù)器,建立團(tuán)隊(duì)工作信息發(fā)布站點(diǎn),發(fā)布團(tuán)隊(duì)新聞,共享文檔資源,Team Member聯(lián)系方式,任務(wù)列表等.,微軟軟件開發(fā)流程實(shí)施,文檔模板-Function Specification,人力資源+Feature Team(功能團(tuán)隊(duì)),前景描述,平臺(tái)要求,語言支持(本地化和全球化),出錯(cuò)處理(日志,警告,信息)和最終返回錯(cuò)誤信息,用戶場(chǎng)景(User Scenarios),功能細(xì)分和說明,安裝程序,快捷鍵要求,性能目標(biāo),用戶教育文檔和進(jìn)度計(jì)劃,進(jìn)度計(jì)劃(Microsoft Project),UI 設(shè)計(jì)文檔,微軟軟件開發(fā)流程實(shí)施,文檔模板-Implementation spec,實(shí)現(xiàn)文檔是一個(gè)文檔集,包括數(shù)據(jù)字典,資源管理,指定Builder,BVT 所有者,Peer Review,開發(fā)環(huán)境,技術(shù)選型,程序構(gòu)架和設(shè)計(jì)模式,代碼重用,模塊劃分,出錯(cuò)處理,多語言支持,性能考慮,數(shù)據(jù)庫設(shè)計(jì),公用接口設(shè)計(jì),微軟軟件開發(fā)流程實(shí)施,文檔模板-測(cè)試計(jì)劃(一),測(cè)試環(huán)境描述,包括服務(wù)器,安裝程序描述,人力資源劃分,測(cè)試流程及不同階段的測(cè)試重點(diǎn),功能完備性測(cè)試,測(cè)試目標(biāo),范圍和質(zhì)量標(biāo)準(zhǔn),測(cè)試區(qū)域劃分,易用性測(cè)試,性能測(cè)試,可靠性測(cè)試,平臺(tái)測(cè)試(使用矩陣),恢復(fù)測(cè)試,回歸測(cè)試,缺陷跟蹤工具,微軟軟件開發(fā)流程實(shí)施,文檔模板-測(cè)試計(jì)劃(二),測(cè)試策略描述,頻率和所有者,測(cè)試案例開發(fā)和維護(hù),制訂測(cè)試案例覆蓋標(biāo)準(zhǔn),自動(dòng)化工具開發(fā),決定何時(shí)進(jìn)行自動(dòng)化工具開發(fā),存在大量的API和大量的測(cè)試案例,測(cè)試案例只需要結(jié)果”通過”或”不通過”,不需要用戶的干預(yù),有大量的回歸測(cè)試案例,雇開發(fā)人員寫自動(dòng)化工具比雇多個(gè)TESTER便宜,測(cè)試腳本開發(fā),測(cè)試工具,源代碼分析工具,測(cè)試進(jìn)度,微軟軟件開發(fā)流程實(shí)施,如何實(shí)現(xiàn)成功的進(jìn)度計(jì)劃,進(jìn)度計(jì)劃,由整個(gè)開發(fā)團(tuán)隊(duì)來制定進(jìn)度計(jì)劃而不是PM單獨(dú)制定,事情無論大小,全部列入計(jì)劃或算進(jìn)緩沖,保證進(jìn)度計(jì)劃的權(quán)威性.可以將進(jìn)度計(jì)劃貼在作戰(zhàn)會(huì)議或工作房間的墻壁上,PM必須非常清楚最重要的事情并推動(dòng)執(zhí)行.尤其是在不同的里程碑切換時(shí).并將這一信息傳達(dá)給全組.,在制訂計(jì)劃時(shí),必須考慮到會(huì)議,假期,匯報(bào)工作,單元測(cè)試,病假,解決缺陷和不可預(yù)料的事件.緩沖一般為30%50%.在固定發(fā)布日期條件下,尤其應(yīng)該增長(zhǎng)緩沖.,微軟軟件開發(fā)流程實(shí)施,如何實(shí)現(xiàn)成功的進(jìn)度控制,監(jiān)控和度量,每天隊(duì)員發(fā)Daily Report,它的格式:,Highlight,Shortcoming,To Do List,每周PM發(fā)Weekly Report,Dev Lead和Test Lead分別發(fā)Weekly Report對(duì)當(dāng)前項(xiàng)目狀態(tài)進(jìn)行總結(jié),這些REPORT的聽眾必須是所有團(tuán)隊(duì)成員,包括管理人員.周報(bào)的格式和日?qǐng)?bào)格式相同,在周報(bào)中安排除了日常工作以外的其它必須檢查的事宜.這可以補(bǔ)充進(jìn)度計(jì)劃的不足.,每周召開團(tuán)隊(duì)會(huì)議,總結(jié)項(xiàng)目當(dāng)前狀態(tài).,微軟軟件開發(fā)流程實(shí)施,M1,目的,開發(fā)產(chǎn)品,保證代碼質(zhì)量并降低BUG數(shù)量,開始,編碼開始,結(jié)束,測(cè)試團(tuán)隊(duì)認(rèn)為編碼按時(shí)符合規(guī)格書規(guī)范完成,術(shù)語,Test specification;test cases;test scripts;unit testing;TRD;check in;check in test;BVT;Acceptance Test;Daily build;MileStone Postmortems;Bug Committee;,PM責(zé)任,管理產(chǎn)品規(guī)格書,管理功能組工作狀況,保持全組工作重點(diǎn),推動(dòng)工作進(jìn)度,開發(fā)組責(zé)任,設(shè)計(jì),記錄和編碼;單元測(cè)試,冒煙測(cè)試,每日構(gòu)建,BVT;TRD;解決問題;保證按時(shí)完成;,測(cè)試組責(zé)任,設(shè)計(jì),記錄測(cè)試規(guī)范;寫自動(dòng)化測(cè)試編碼;在正式提交的代碼中進(jìn)行可接受測(cè)試;在里程碑時(shí)運(yùn)行所有的測(cè)試案例;報(bào)告和關(guān)閉缺陷;給出產(chǎn)品質(zhì)量和功能完成性評(píng)估報(bào)告;認(rèn)證功能完成;檢驗(yàn)用戶文檔,用戶教育,書寫用戶教育文檔;基于用戶任務(wù)來評(píng)估功能的完成;用戶輔助工具;用戶教育文檔測(cè)試計(jì)劃,微軟軟件開發(fā)流程實(shí)施,工作流程(一),DEVELOPER檢查BUG數(shù)據(jù)庫和電子郵件.如果發(fā)現(xiàn)自己的BUG數(shù)量高于給定值,則停止開發(fā),更改BUG.,PM和LEAD檢查BUG數(shù)據(jù)庫和電子郵件.指定BUG給某一個(gè)TEAM MEMBER.如果可爭(zhēng)議BUG太多,召開BUG TRIAGE會(huì)議,討論BUG的優(yōu)先級(jí).,每天的RELEASE中需要包含說明文件(本版本更正BUG,實(shí)現(xiàn)功能,改變的文件),如果是API測(cè)試應(yīng)包含類庫文檔,微軟軟件開發(fā)流程實(shí)施,工作流程(二),DEVELOPER每天早上從源代碼服務(wù)器下載代碼,更新其它程序員的改變.(SD SYNC),DEV編輯自己的文件(SD EDIT),完成某個(gè)FEATURE.,DEV編譯自己的本地源代碼拷貝并進(jìn)行單元測(cè)試,如無錯(cuò)誤,交給BUDDY TESTER或CODE REVIEW測(cè)試.,如果沒有錯(cuò)誤,提交到源代碼服務(wù)器.通過這種方法保證源代碼服務(wù)器中的程序始終是可運(yùn)行的.,如果本次CHECK IN完成了某一個(gè)功能,發(fā)送TRD到TEST TEAM,證明此功能已完成并可測(cè)試,DEV發(fā)送日?qǐng)?bào).,DEV LEAD指定專門的BUILDER和BVT人員.并寫成BUILD SCRIPT.每天在固定的時(shí)間運(yùn)行該BUILD SCRIPT.如,每天2:00AM.,每天早上9:00-9:30對(duì)當(dāng)天的BUILD進(jìn)行BVT和冒煙測(cè)試,通過后提交到RELEASE服務(wù)器.,微軟軟件開發(fā)流程實(shí)施,工作流程(三),TEST TEAM指定專門的可接受測(cè)試人員,并給出可接受的標(biāo)準(zhǔn).9:30-10:00,指定的測(cè)試人員每天早上運(yùn)行可接受測(cè)試,如果成功發(fā)EMAIL給全組.,其它測(cè)試人員開始進(jìn)行功能測(cè)試.功能測(cè)試僅測(cè)試那些已經(jīng)發(fā)出TRD的功能.,TEST TEAM發(fā)現(xiàn)BUG,并登記在BUG數(shù)據(jù)庫中.,TEST TEAM進(jìn)行其它測(cè)試,如性能測(cè)試,本地測(cè)試和平臺(tái)測(cè)試.測(cè)試頻率和目標(biāo)在TEST計(jì)劃中制定.如果是MILESTONE結(jié)束時(shí),運(yùn)行所有測(cè)試案例.,TEST TEAM根據(jù)TEST計(jì)劃開發(fā)TEST CASE,編寫自動(dòng)化工具和測(cè)試腳本.,TEST TEAM發(fā)送日?qǐng)?bào)表,微軟軟件開發(fā)流程實(shí)施,使用源代碼控制工具,放入源文件,文檔資料和所有頻繁改動(dòng)的資料,不要放入二進(jìn)制代碼,包括動(dòng)態(tài)庫和可執(zhí)行文件,只編輯需要改動(dòng)的編碼(SD EDIT),每次Check In時(shí),填寫變化列表.,每次Check In 之前,保證本地編譯通過,。