敏捷開發(fā)流程與方法講義_第1頁(yè)
敏捷開發(fā)流程與方法講義_第2頁(yè)
敏捷開發(fā)流程與方法講義_第3頁(yè)
敏捷開發(fā)流程與方法講義_第4頁(yè)
敏捷開發(fā)流程與方法講義_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

敏捷開發(fā)流程與方法StrictlyPrivateandConfidentialBGCN交付管理部目錄1.1敏捷的起源2敏捷系列1.2敏捷方法體系1敏捷開發(fā)簡(jiǎn)介3敏捷開發(fā)的誤區(qū)1.3敏捷宣言1.4為什么要敏捷?敏捷開發(fā)的起源上個(gè)世紀(jì)90年代2001年2004年以后萌芽--產(chǎn)生敏捷方法敏捷方法是從上個(gè)世紀(jì)90年代開始發(fā)展起來的一組方法學(xué)的總稱,包括極限編程等等。這些方法學(xué)之間有一些差異,但是差異不是特別大正規(guī)—成立敏捷聯(lián)盟每種方法學(xué)的領(lǐng)導(dǎo)人共同起草了敏捷軟件開發(fā)宣言,總結(jié)出方法之間的共同點(diǎn),最終就是價(jià)值,并且用敏捷這個(gè)詞給這種方法學(xué)一個(gè)統(tǒng)稱發(fā)展—開始廣為流行500強(qiáng)公司中眾多公司應(yīng)用敏捷;如HP,Microsoft,IBM等什么是敏捷開發(fā)?敏捷開發(fā)(AgileDevelopment)是一種以人為核心、迭代、循序漸進(jìn)的開發(fā)方法。子項(xiàng)目特征-

各個(gè)子項(xiàng)目的成果都經(jīng)過測(cè)試-

具備集成和可運(yùn)行的特征-

小項(xiàng)目相互聯(lián)系目錄1.1敏捷的起源1.2敏捷方法體系1敏捷開發(fā)簡(jiǎn)介1.3敏捷宣言1.4為什么要敏捷?2敏捷系列3敏捷開發(fā)的誤區(qū)敏捷方法XP-eXtremePrograming極限編程:思想源自KentBeck和WardCunningham在軟件項(xiàng)目中的合作經(jīng)歷。SCRUM:是一種迭代的增量化過程,用于產(chǎn)品開發(fā)或工作管理。水晶方法Crystal:由AlistairCockburn在1990年代末提出。把不同類型的項(xiàng)目采用不同的方法。FDD-特性驅(qū)動(dòng)FeatureDrivenDevelopment,由PeterCoad、JeffdeLuca、EricLefebvre共同開發(fā),是一套針對(duì)中小型軟件開發(fā)項(xiàng)目的開發(fā)模式。它強(qiáng)調(diào)的是簡(jiǎn)化、實(shí)用、易于被開發(fā)團(tuán)隊(duì)接受,適用于需求經(jīng)常變動(dòng)的項(xiàng)目。DSDM-DynamicSystemDevelopmentMethodology,它倡導(dǎo)以業(yè)務(wù)為核心,快速而有效地進(jìn)行系統(tǒng)開發(fā),在英國(guó)等歐洲國(guó)家比較流行。ASD-AdaptiveSoftwareDevelopment,由JimHighsmith在1999年正式提出。ASD強(qiáng)調(diào)開發(fā)方法的適應(yīng)性(Adaptive)敏捷開發(fā)特點(diǎn)

敏捷開發(fā)包括很多方法,例如XP和FDD,同重量級(jí)的文檔驅(qū)動(dòng)的開發(fā)過程相比較,敏捷方法在靈活性等方面更有吸引力。這個(gè)方法的創(chuàng)始人強(qiáng)調(diào)了在軟件實(shí)踐過程中的變更而不是孤立的進(jìn)行一些實(shí)踐。

很多方法很難獨(dú)立的使用。如:測(cè)試驅(qū)動(dòng)的開發(fā),結(jié)對(duì)開發(fā),計(jì)劃調(diào)整周期以及持續(xù)改進(jìn),不過,后來的結(jié)果證實(shí),這些方法都取得了成功。

使用這些方法并不能保證一定成功。開發(fā)者的經(jīng)驗(yàn)和技術(shù)仍舊是影響開發(fā)結(jié)果的最主要因素。對(duì)于合適的人,基于敏捷原則的開發(fā)方法可以產(chǎn)生更好的結(jié)果,同時(shí)形成一個(gè)愉快地、有激情的工作環(huán)境目錄1.1敏捷的起源1.2敏捷方法體系1敏捷開發(fā)簡(jiǎn)介1.3敏捷宣言1.4為什么要敏捷?2敏捷系列3敏捷開發(fā)的誤區(qū)敏捷宣言核心理念:適應(yīng)和以人為本客戶合作勝過合同談判響應(yīng)變化勝過遵循計(jì)劃可以工作的軟件勝過面面俱到的文檔個(gè)體和交互勝過過程和工具敏捷規(guī)則最高目標(biāo)是能持續(xù)地、及早地向客戶交付軟件;擁抱變化;頻繁地發(fā)布可運(yùn)行的軟件;客戶和開發(fā)人員在一起工作;以人為本;最重要的衡量開發(fā)過程的手段,是可工作的軟件;穩(wěn)定的開發(fā)速度;敏捷高效的設(shè)計(jì);簡(jiǎn)單有效;重視Teamwork;積極的調(diào)整。目錄1.1敏捷的的起源源1.2敏捷方方法體體系1敏捷開開發(fā)簡(jiǎn)簡(jiǎn)介1.3敏捷宣宣言1.4為什么么要敏敏捷?2敏捷系系列3敏捷開開發(fā)的的誤區(qū)區(qū)我們?yōu)闉槭裁疵葱枰艚萁蓓?xiàng)目為什么失敗?軟件工程試圖解決這些問題:對(duì)用戶需求理解得不清楚,甚至有錯(cuò)誤;用戶需求變化;軟件很難維護(hù)或擴(kuò)展;在項(xiàng)目后期階段發(fā)現(xiàn)很嚴(yán)重的設(shè)計(jì)缺陷;軟件質(zhì)量或性能不合格;Test-Build-Release過程的可操作性、可維護(hù)性很差;人員流動(dòng);

……為了規(guī)范化開發(fā)過程,引進(jìn)傳統(tǒng)工程的概念(瀑布型);為了理解需求,提出原型法;為了提高設(shè)計(jì)開發(fā)的效率和擴(kuò)展性,提出重用和面向?qū)ο蟮人枷?;為了讓開發(fā)過程更靈活,提出了開發(fā)框架的概念;為了降低風(fēng)險(xiǎn),提出了風(fēng)險(xiǎn)評(píng)估、成本控制和增量開發(fā)等思想;我們?yōu)闉槭裁疵葱枰艚萁莶块T:1)培養(yǎng)團(tuán)團(tuán)隊(duì)合合作精精神,,穩(wěn)定定開發(fā)發(fā)隊(duì)伍伍;2)提高開開發(fā)人人員的的水平平;3)提高項(xiàng)項(xiàng)目成成功率率,降降低開開發(fā)成成本,,提升軟軟件開開發(fā)效效率項(xiàng)目經(jīng)經(jīng)理:1)更好地地和用用戶溝溝通,,更清清晰地地理解解用戶戶需求求;2)更充分分地使使用資資源,,更科科學(xué)地地調(diào)配配資源源,更更精確確地掌掌握開開發(fā)進(jìn)進(jìn)度。。系統(tǒng)分分析設(shè)設(shè)計(jì):1)設(shè)計(jì)更更加完完善;;2)更有效效地更更新知知識(shí),,得到到其他他成員員更多多的尊尊重。。程序員員:1)學(xué)習(xí)系系統(tǒng)設(shè)設(shè)計(jì)和和項(xiàng)目目管理理;2)提高學(xué)學(xué)習(xí)和和工作作效率率,受受到重重視,,減少少加班班時(shí)間間,工工作更更高效效誰在用用敏捷捷Fortune500公司中中成功功應(yīng)用用XP的公司司包括括Ford,Daimler-Chrysler,F(xiàn)irstUnionNationalBank,IBM,HP等等。。通信業(yè)業(yè)NS,Ericsson,Alcatel等都號(hào)號(hào)稱在在轉(zhuǎn)向向敏捷捷更多是是小規(guī)規(guī)模開開發(fā)隊(duì)隊(duì)伍((小規(guī)規(guī)模開開發(fā)隊(duì)隊(duì)伍小小規(guī)規(guī)模項(xiàng)項(xiàng)目))越來越越多的的公司司開始始使用用敏捷捷開發(fā)發(fā)過程程敏捷開開發(fā)成成功的的因素素知識(shí)和和技能能文化和和氛圍圍自組織織團(tuán)隊(duì)隊(duì)開放的的心態(tài)態(tài)目錄2.1XP-eXtremePrograming2敏捷系系列2.2SCRUM1敏捷開開發(fā)簡(jiǎn)簡(jiǎn)介3敏捷開開發(fā)的的誤區(qū)區(qū)敏捷實(shí)實(shí)踐在敏捷捷的兩兩個(gè)門門派::XP、Scrum中,整整理歸歸納了了很多多可以以用于于協(xié)助助軟件件開發(fā)發(fā)的實(shí)實(shí)踐,,后面面統(tǒng)稱稱為敏敏捷實(shí)實(shí)踐。。什么是是XPXPisalightweightmethodologyforsmalltomediumsizedteamsdevelopingsoftwareinthefaceofvagueorrapidlychangingrequirements.--KentBeck.KentBeck,WardCunningham,MartinFowler,RonJeffries于2000年創(chuàng)立立XP是軟件件開發(fā)發(fā)過程程中的的紀(jì)律律,它它規(guī)定定你::必須須在編編程前前些測(cè)測(cè)試,,必須須兩個(gè)個(gè)人一一起編編程,,必須須遵守守編程程規(guī)范范……。XP是把最最好的的實(shí)踐踐經(jīng)驗(yàn)驗(yàn)提取取出來來,形形成了了一個(gè)個(gè)嶄新新的開開發(fā)方方法。。ExtremeProgramming什么是是XPExtremeProgramming極限的的含義義:軟件開開發(fā)中中的優(yōu)優(yōu)點(diǎn)發(fā)發(fā)揮到到極致致(KentBeck).XP:給程序序員提提供了了明確確的方方法,,使得得程序序員盡盡管面面對(duì)需需求的的改變變,卻卻能夠夠從容容應(yīng)對(duì)對(duì),即即使著著重變變化發(fā)發(fā)生在在項(xiàng)目目的后后期,,仍然然能夠夠編出出代碼碼。XP核心::溝通、、簡(jiǎn)明明、反反饋和和勇氣氣XP重視溝溝通,,客戶戶、開開發(fā)人人員、、管理理者共共同組組成團(tuán)團(tuán)隊(duì)。。XP是一個(gè)個(gè)實(shí)踐踐系統(tǒng)統(tǒng)13個(gè)實(shí)踐踐XP方方法的的貢獻(xiàn)獻(xiàn)以擁抱抱變化化的思思想,,協(xié)作作的團(tuán)團(tuán)隊(duì),,簡(jiǎn)單單的規(guī)規(guī)則等等為原原則的的13個(gè)具體體實(shí)踐踐是知名名度最最高的的敏捷捷開發(fā)發(fā)方法法XP的計(jì)劃/反饋饋循環(huán)環(huán)XP開發(fā)工工作流流XP的關(guān)鍵鍵實(shí)踐踐:編程方方法交付和和管理理小組實(shí)實(shí)踐XP的關(guān)鍵鍵實(shí)踐踐結(jié)對(duì)編編程測(cè)試驅(qū)驅(qū)動(dòng)開開發(fā)重構(gòu)簡(jiǎn)單設(shè)設(shè)計(jì)代碼集集體所所有編碼標(biāo)標(biāo)準(zhǔn)穩(wěn)定高高速的的步伐伐持續(xù)集集成隱喻現(xiàn)場(chǎng)客客戶完整的的團(tuán)隊(duì)隊(duì)小規(guī)模模發(fā)布布計(jì)劃游游戲編程方方法小組實(shí)實(shí)踐交付和和管理理交付和和管理理交付和和管理理1:完整的的團(tuán)隊(duì)隊(duì)(WholeTeam)ProductManager/ProjectmanagerCoachTeamleadDevelopersTrackerTester(On-Site)Customers所有的的小組組成員員應(yīng)在在同一一個(gè)工工作地地點(diǎn)工工作。。成員員中中必必須須有有一一個(gè)個(gè)用用戶戶代代表表((On-siteUser),由他他/她來來提提出出需需求求,,確確定定開開發(fā)發(fā)優(yōu)優(yōu)先先級(jí)級(jí),,把把握握開開發(fā)發(fā)的的動(dòng)動(dòng)向向。。通常常還還設(shè)設(shè)一一個(gè)個(gè)教教練練((Coach)角角色色,,來來指指導(dǎo)導(dǎo)XP方法法的的實(shí)實(shí)施施及及與與外外部部的的溝溝通通協(xié)協(xié)調(diào)調(diào)等等。。小組組每每個(gè)個(gè)成成員員都都應(yīng)應(yīng)圍圍繞繞用用戶戶代代表表,,充充分分貢貢獻(xiàn)獻(xiàn)自自己己的的技技能能。。交付付和和管管理理2:計(jì)劃劃游游戲戲(PlanningGame)增加/改變需求產(chǎn)生和評(píng)估UserStory發(fā)布計(jì)劃迭代計(jì)劃1迭代計(jì)劃2迭代計(jì)劃n…………實(shí)施迭代1實(shí)施迭代2實(shí)施迭代n…………1..N個(gè)發(fā)布探索階段計(jì)劃階段調(diào)整階段調(diào)整開發(fā)速度/內(nèi)容交付付和和管管理理3:現(xiàn)場(chǎng)場(chǎng)客客戶戶(On-SiteCustomer)客戶戶是是Team成員員,,在在開開發(fā)發(fā)現(xiàn)現(xiàn)場(chǎng)場(chǎng)和和開開發(fā)發(fā)人人員員一一起起工工作作。。傳傳統(tǒng)統(tǒng)的的客客戶戶任任務(wù)務(wù)一一般般是是講講解解需需求求,,運(yùn)運(yùn)行行驗(yàn)驗(yàn)收收測(cè)測(cè)試試,,接接收收發(fā)發(fā)布布的的系系統(tǒng)統(tǒng)。。XP新增增加加的的任任務(wù)務(wù)::(1)寫UserStory(2)評(píng)估估UserStory的商商業(yè)業(yè)優(yōu)優(yōu)先先級(jí)級(jí)(3)為每每個(gè)個(gè)UserStory定義義驗(yàn)驗(yàn)收收測(cè)測(cè)試試(4)計(jì)劃劃開開發(fā)發(fā)內(nèi)內(nèi)容容(5)調(diào)控控開開發(fā)發(fā)過過程程(6)建立立商商業(yè)業(yè)模模型型,,把把隱隱藏藏在在客客戶戶需需求求下下的的原原則則傳傳授授給給開開發(fā)發(fā)人人員員(8)程序序員員分分擔(dān)擔(dān)任任務(wù)務(wù)的的過過程程支支解解了了對(duì)對(duì)他他們們商商業(yè)業(yè)模模型型的的理理解解(9)參加加設(shè)設(shè)計(jì)計(jì)過過程程(10)和程程序序員員一一起起找找出出Metaphor,導(dǎo)導(dǎo)引引設(shè)設(shè)計(jì)計(jì)方方向向(11)在Metaphor的幫幫助助下下,,定定義義更更有有效效更更實(shí)實(shí)際際的的功功能能測(cè)測(cè)試試,,給給程程序序員員的的設(shè)設(shè)計(jì)計(jì)制制定定了了規(guī)規(guī)范范交付和管管理4:小規(guī)模發(fā)發(fā)布降低開發(fā)發(fā)風(fēng)險(xiǎn)。。保證客戶戶有足夠夠的依據(jù)據(jù)調(diào)控開開發(fā)過程程(增加、刪刪除或改改變UserStory)??蛻羰褂糜冒l(fā)布的的系統(tǒng),,可以保保證頻繁繁地反饋饋和交流流。發(fā)布過程程應(yīng)該盡盡可能地地自動(dòng)化化、規(guī)范范化。不斷地發(fā)發(fā)布可用用的系統(tǒng)統(tǒng)可以告告訴客戶戶你在做做正確的的事情。。低風(fēng)險(xiǎn)智能化適應(yīng)調(diào)整整頻繁交流流知會(huì)客戶戶頻繁發(fā)布布經(jīng)過驗(yàn)證證隨著開發(fā)發(fā)的推進(jìn)進(jìn),發(fā)布布越來越越頻繁。。所有的發(fā)發(fā)布都要要經(jīng)過功功能測(cè)試試。小規(guī)模發(fā)發(fā)布小組實(shí)踐踐小組實(shí)踐踐1:持續(xù)集成成(Continuousintegration)持續(xù)集成成指不斷斷地把完完成的功功能模塊塊整合在在一起。。目的在在于不斷斷獲得客客戶反饋饋以及盡盡早發(fā)現(xiàn)現(xiàn)BUG。隨時(shí)整合合,越頻頻繁越好好;集成成及測(cè)試試過程的的自動(dòng)化化程度越越高越好好。“ATestaday,takesthebugsaway””---Siemens失敗通過時(shí)間功能測(cè)試小組實(shí)踐踐1:持續(xù)集成成(Continuousintegration)1自動(dòng)化編編譯質(zhì)量量度量23自動(dòng)化測(cè)測(cè)試持續(xù)反饋饋團(tuán)隊(duì)實(shí)踐踐2:隱喻(SystemMetaphor)“Thesystemmetaphorisastorythateveryone-customers,programmers,andmanagers-

cantellabouthowthesystemworks.”——KentBeckTeam將Domain/Sub-DomainModel,Design/Sub-DesignModel以及一些些關(guān)鍵概概念等等等抽象化化為比喻喻。通過過這些比比喻,加加強(qiáng)客戶戶和程序序員之間間的相互互理解,,消化積積累知識(shí)識(shí),指導(dǎo)導(dǎo)設(shè)計(jì)開開發(fā)的方方向。例:Market——發(fā)布/瀏覽,價(jià)價(jià)格洽談?wù)?,生成成和履行行合同;;String,Tree,Package,Chartroom,Spider,Robot………;電影后期期制作—>郵遞—>電影院播播放電影影。小組實(shí)踐踐2:隱喻(SystemMetaphor)Metaphor的形成過過程,是是客戶建建立并抽抽象商業(yè)業(yè)模型和和商業(yè)概概念的過過程,是是程序員員建立并并抽象設(shè)設(shè)計(jì)模型型和設(shè)計(jì)計(jì)概念的的過程。。Metaphor使客戶和和程序員員用共通通的模型型和語言言進(jìn)行交交流—““OneTeam,onelanguage”。Metaphor可以幫助助減少““知識(shí)泄泄露”和和“支解解知識(shí)””。Metaphor是設(shè)計(jì)過過程的航航標(biāo)——真正靈活活有效的的設(shè)計(jì)是是針對(duì)商商業(yè)原則則的設(shè)計(jì)計(jì),而不不是針對(duì)對(duì)商業(yè)原原則表現(xiàn)現(xiàn)形式的的設(shè)計(jì),,更不是是脫離商商業(yè)需求求目的的的學(xué)術(shù)設(shè)設(shè)計(jì)。隨著開發(fā)發(fā)的繼續(xù)續(xù),Team會(huì)找到更更好的Metaphor。這是知知識(shí)細(xì)化化、深化化的結(jié)果果,是““持續(xù)學(xué)學(xué)習(xí)”(Continuouslearning)的過程;;是對(duì)商商業(yè)模型型和設(shè)計(jì)計(jì)模型的的持續(xù)重重構(gòu)。小組實(shí)踐踐3:編碼標(biāo)準(zhǔn)準(zhǔn)(Codingstandards)編碼標(biāo)準(zhǔn)準(zhǔn)的目的的:防防止團(tuán)隊(duì)隊(duì)被一些些無關(guān)緊緊要的愚愚蠢爭(zhēng)論論搞得不不知所措措。不要預(yù)先先花費(fèi)太太多時(shí)間間目標(biāo)應(yīng)該該是團(tuán)隊(duì)隊(duì)中沒有有人辨認(rèn)認(rèn)各自的的代碼以團(tuán)隊(duì)為為單位對(duì)對(duì)某一標(biāo)標(biāo)準(zhǔn)達(dá)成成協(xié)議,,然后遵遵守這一一標(biāo)準(zhǔn)不是事無無巨細(xì)的的規(guī)則列列表,而而是確保保代碼可可交流的的指導(dǎo)方方針七個(gè)原則則編碼標(biāo)準(zhǔn)準(zhǔn)開始時(shí)時(shí)應(yīng)很簡(jiǎn)簡(jiǎn)單,然然后根據(jù)據(jù)團(tuán)隊(duì)經(jīng)經(jīng)驗(yàn)逐步步進(jìn)化創(chuàng)建能夠夠工作的的最簡(jiǎn)單單標(biāo)準(zhǔn),,然后逐逐步發(fā)展展只制訂適適合本團(tuán)團(tuán)隊(duì)的小組實(shí)踐4:集體擁有代代碼“我們”的的代碼,而而不是“我我”的代碼碼。任何人可以以改動(dòng)任何何一段代碼碼,但改動(dòng)動(dòng)后的代碼碼必須通過過所有相關(guān)關(guān)的測(cè)試。。簡(jiǎn)單設(shè)計(jì),,編碼標(biāo)準(zhǔn)準(zhǔn)和結(jié)對(duì)編編程,使閱閱讀和修改改Team內(nèi)其他人的的代碼變得得實(shí)際可行行。思考:同公公司信息安安全可能有有沖突?在一定范圍圍內(nèi)進(jìn)行集集體擁有代代碼還是可可行的小組實(shí)踐5:穩(wěn)定高速的的步伐(40-HourWeek)“每天早晨都都感到有活活力有激情情,每天晚晚上都感到到疲憊而滿滿足。”---KentBeck8:00AMStandupMeetingPairUpTester自我測(cè)試編碼重構(gòu)集成并納入CI驗(yàn)證5:30PM結(jié)束測(cè)試用例編程方法編程方法1:測(cè)試驅(qū)動(dòng)開開發(fā)(TDD)失敗通過時(shí)間單元測(cè)試100%

通過設(shè)計(jì)先寫單元測(cè)試重構(gòu)運(yùn)行單元測(cè)試編程發(fā)現(xiàn)BUG集成先寫功能測(cè)試UserStory運(yùn)行功能測(cè)試編程方法2:重構(gòu)(Refactoring)減少重復(fù)設(shè)設(shè)計(jì),優(yōu)化化設(shè)計(jì)結(jié)構(gòu)構(gòu),提高技技術(shù)上的重重用性和可可擴(kuò)展性。。重構(gòu)和編程程前的計(jì)劃劃型設(shè)計(jì)(PlannedDesign)結(jié)合,使XP的簡(jiǎn)單設(shè)計(jì)計(jì)可行有效效。XP提倡毫不留留情的重構(gòu)構(gòu)(Refactormercilessly)。任何人可以以重構(gòu)任何何代碼,前前提是重構(gòu)構(gòu)后的代碼碼一定要通通過100%測(cè)試單元測(cè)測(cè)試后才能能被Check-in??梢愿鶕?jù)需需要,將一一個(gè)迭代的的全部目標(biāo)標(biāo)定為重構(gòu)構(gòu)。不要太在意意什么是最最簡(jiǎn)單的設(shè)設(shè)計(jì)——愿意在最后后重構(gòu),比比知道如何何做簡(jiǎn)單的的設(shè)計(jì)重要要得多。在Metaphor指引下的重重構(gòu),是為為商業(yè)模型型服務(wù)的。。不要把重重構(gòu)變成不不斷的盲目目精簡(jiǎn)代碼碼。編程方法3:簡(jiǎn)單設(shè)計(jì)簡(jiǎn)單設(shè)計(jì)Dothesimplestthingthatcouldpossiblywork;Youaren’’tgoingtoneedit如果沒有它它和眾多慣慣例規(guī)則之之間的耦合合,XP的演化設(shè)計(jì)計(jì)就蛻化成成CODE-FIX。XP的演化設(shè)計(jì)計(jì)是在Up-frontdesign和Refactoring之間找到新新的平衡。。需求分析設(shè)計(jì)編碼測(cè)試集成使用和維護(hù)PlannedDesignXPDesign變化導(dǎo)致的成本增加軟件研發(fā)異動(dòng)曲線編程方法3:簡(jiǎn)單設(shè)計(jì)標(biāo)準(zhǔn)(依重要性):通過所有有測(cè)試,可可讀性高的的代碼,避避免重復(fù),,最少數(shù)量量的類別或或方法。SystemMetaphor給設(shè)計(jì)提供供了指引,,加強(qiáng)Team對(duì)設(shè)計(jì)的理理解;第一個(gè)迭代代搭建了基基本的系統(tǒng)統(tǒng)框架。以后的迭代代過程,是是在反饋和和編程的基基礎(chǔ)上做交交互式設(shè)計(jì)計(jì),減少了了設(shè)計(jì)的投投機(jī)性。迭代過程中中的CRC卡幫助Team交流設(shè)計(jì)思思想,簡(jiǎn)化化了設(shè)計(jì)文文檔。構(gòu)對(duì)設(shè)計(jì)進(jìn)進(jìn)行優(yōu)化。。XP認(rèn)為設(shè)計(jì)非非常重要,,因此應(yīng)該該是一個(gè)持持續(xù)的事務(wù)務(wù)。我們總總是先嘗試試使用能夠夠工作的最最簡(jiǎn)單的設(shè)設(shè)計(jì),然后后隨著現(xiàn)實(shí)實(shí)的不斷顯顯現(xiàn)來更改改它。對(duì)對(duì)簡(jiǎn)單設(shè)計(jì)計(jì)的需求并并不是說所所有設(shè)計(jì)都都很小,也也不表示它它們是無足足輕重的。。它們只不不過需要盡盡可能簡(jiǎn)單單,但是仍仍能工作。。編程方法4:結(jié)對(duì)編程(PairProgramming)所有設(shè)計(jì)決決策都牽涉涉到至少兩兩個(gè)人。至少有兩個(gè)個(gè)人熟悉系系統(tǒng)的每一一部分。幾乎不可能能出現(xiàn)兩個(gè)個(gè)人同時(shí)疏疏忽測(cè)試或或其它任務(wù)務(wù)。改變各對(duì)的的組合在可可以在團(tuán)隊(duì)隊(duì)范圍內(nèi)傳傳播知識(shí)。。代碼總是由由至少一人人復(fù)查。結(jié)對(duì)的編程程比單獨(dú)編編程更有效效。XP中最有爭(zhēng)議議的實(shí)踐之之一目錄2.1XP-eXtremePrograming2敏捷系列2.2SCRUM1敏捷開發(fā)簡(jiǎn)簡(jiǎn)介3敏捷與CMM4敏捷開發(fā)的的誤區(qū)SCRUMSCRUM來源于橄欖欖球運(yùn)動(dòng),,指:“在橄欖球比比賽中,雙雙方前鋒站站在一起緊緊密相連,,當(dāng)球在他他們之間投投擲時(shí)他們們奮力爭(zhēng)球球。”Scrum提供了一種種經(jīng)驗(yàn)方法法,它使得得團(tuán)隊(duì)成員員能夠獨(dú)立立地,集中中地在創(chuàng)造造性的環(huán)境境下工作。。它發(fā)現(xiàn)了了軟件工程程的社會(huì)意意義。這一一過程是迅迅速,有適適應(yīng)性,自自組織的,,它代表了了從順序開開發(fā)過程以以來的重大大變化。(KenSchwaber)Scrum是一種靈活活的軟件管管理過程,,它可以幫幫助駕馭迭迭代、遞增增的軟件開開發(fā)過程。。Scrum于1995年提出,并并在2001年同其他方方法論一起起組成“敏敏捷聯(lián)盟((AgileAlliance)”。Scrum這個(gè)輕量的的過程可以以作為包裝裝器,也就就是說你可可以把Scrum與其它靈活活的過程框框架組合起起來。SCRUM的過程圖SCRUM實(shí)踐1.Scrum團(tuán)隊(duì):5-7個(gè)人的小項(xiàng)項(xiàng)目團(tuán)隊(duì),,團(tuán)隊(duì)的的負(fù)責(zé)人可可能擔(dān)負(fù)起起ScrumMaster的角色。2.Backlog:急待完成的的一系列任任務(wù),包括括:未細(xì)化化的產(chǎn)品功功能要求、、Bugs、缺陷、用用戶提出的的改進(jìn)、具具競(jìng)爭(zhēng)力的的功能及技技術(shù)升級(jí)等等,按優(yōu)先先級(jí)定義出出來,這些些任務(wù)可能能不是完整整的,甚至至可能隨時(shí)時(shí)會(huì)更改或或添加。3.Sprint(沖刺):通常為30天的迭代時(shí)時(shí)間,把Backlog中的每一項(xiàng)項(xiàng)安排在Sprint中,由團(tuán)隊(duì)隊(duì)估算出所所需要的時(shí)時(shí)間(按小小時(shí)記)。。每一次次Sprint之后,一定定要有可以以交付使用用的功能。。4.Scrum會(huì)議:這是與傳統(tǒng)統(tǒng)方式最大大的區(qū)別,,每天15-20分鐘的Scrum會(huì)議,通常常在每天的的同一時(shí)間間和同一個(gè)個(gè)房間內(nèi)舉舉行。Scrum團(tuán)隊(duì)所有人人都參加,,也可以有有旁聽者((但不允許許旁聽者指指手劃腳))。在這這個(gè)15分鐘的會(huì)議議上,ScrumMaster會(huì)詢問每個(gè)個(gè)成員三個(gè)個(gè)問題:

a)自上次Scrum會(huì)議后的1天里你做了了什么?b)從現(xiàn)在到下下次Scrum會(huì)議的1天時(shí)間里你你準(zhǔn)備做什什么?c)你在工作中中遇到了哪哪些困難??

每個(gè)成成員在Backlog條目上所花花費(fèi)的時(shí)間間會(huì)被記錄錄到Springbacklog中。ScrumMaster在會(huì)上對(duì)存存在的問題題提出即時(shí)時(shí)的解決方方案或指導(dǎo)導(dǎo),使團(tuán)隊(duì)隊(duì)不斷向著著目標(biāo)前進(jìn)進(jìn)。Scrum會(huì)議不同于于項(xiàng)目會(huì)議議,對(duì)團(tuán)隊(duì)隊(duì)來說,它它起到了快快速簡(jiǎn)報(bào)的的作用。5.通過SprintBacklog的分析,可可以了解Backlog的進(jìn)度,盡盡早的了解解所發(fā)生的的問題6.管理者不在在是項(xiàng)目或或者團(tuán)隊(duì)的的``老板",而是幫助團(tuán)團(tuán)隊(duì)解決問問題的``協(xié)調(diào)者"或是``助手"。7.每一次Sprint之后要review,團(tuán)隊(duì)按照照既定的SprintBacklog目標(biāo)來演示示完成的內(nèi)內(nèi)容。Scrum中的3、3、3三種工件三種會(huì)議三種角色待開發(fā)任務(wù)務(wù)列表(TheSprintBacklog)待修復(fù)缺陷陷列表(Thedefectbacklog)進(jìn)度圖、燃燃盡圖(BrunDownChart)ProductOwnerScrumMaster團(tuán)隊(duì)成員(ScrumTeam)迭代計(jì)劃會(huì)會(huì)議(SprintPlanningMeeting)每日晨會(huì)(DailyScrumMeeting)迭代回顧會(huì)會(huì)議(SprintReviewMeeting)ProductBacklogSPRINT劃分示意Sprint會(huì)議根據(jù)Backlog,制定每次次Sprint的計(jì)劃目錄2敏捷系列1敏捷開發(fā)簡(jiǎn)簡(jiǎn)介3敏捷開發(fā)的的誤區(qū)討論誤區(qū)一:敏捷是"一個(gè)”過程誤區(qū)二:敏捷僅是個(gè)個(gè)軟件過程程誤區(qū)三:敏捷是反文文檔的誤區(qū)四:為了敏捷而敏捷捷誤區(qū)五:重做就是重重構(gòu)誤區(qū)一:敏捷是"一個(gè)”過程敏捷不是一一個(gè)過程,,是一類過過程的統(tǒng)稱稱,它們有有一個(gè)共性性,就是符符合敏捷價(jià)價(jià)值觀,遵遵循敏捷的的原則。誤區(qū)二:敏捷僅是個(gè)個(gè)軟件過程程敏捷相對(duì)以以前的軟件件工程最大大的革新之之處在于把把人的作用用提高到了了過程至上上,正如敏敏捷宣言的的第一條““個(gè)體和交交互勝過過過程和工具具”所說的的。涉及到人的的問題,就就已經(jīng)不再再是過程所所能覆蓋的的了,就到到了企業(yè)管管理的層面面上了,包包括企業(yè)的的價(jià)值觀和和文化。這這也是敏捷捷在國(guó)內(nèi)實(shí)實(shí)施的最大大障礙:把客戶當(dāng)作作合作伙伴伴而不是對(duì)對(duì)手,從客客戶角度

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論