![敏捷開發(fā)培訓課件_第1頁](http://file4.renrendoc.com/view/439ccaa538075218f2c963a6bd60ece5/439ccaa538075218f2c963a6bd60ece51.gif)
![敏捷開發(fā)培訓課件_第2頁](http://file4.renrendoc.com/view/439ccaa538075218f2c963a6bd60ece5/439ccaa538075218f2c963a6bd60ece52.gif)
![敏捷開發(fā)培訓課件_第3頁](http://file4.renrendoc.com/view/439ccaa538075218f2c963a6bd60ece5/439ccaa538075218f2c963a6bd60ece53.gif)
![敏捷開發(fā)培訓課件_第4頁](http://file4.renrendoc.com/view/439ccaa538075218f2c963a6bd60ece5/439ccaa538075218f2c963a6bd60ece54.gif)
![敏捷開發(fā)培訓課件_第5頁](http://file4.renrendoc.com/view/439ccaa538075218f2c963a6bd60ece5/439ccaa538075218f2c963a6bd60ece55.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
敏捷開發(fā)()09/28/20101/5/20231
敏捷開發(fā)()12/25/20221
介紹1/5/20232介紹12/25/20222-敏捷的開發(fā)流程(敏捷的開發(fā)流程)是一種軟件開發(fā)流程的泛稱,幾項共通的特性:客戶與開發(fā)人員形成密切合作的團隊,因為客戶無法于初期定義完整的規(guī)格,而開發(fā)人員于開發(fā)過程中也常常無法知悉外在環(huán)境或業(yè)務的變動,所以需要兩者密切合作方能開發(fā)適用的軟件。項目最終的目標是可執(zhí)行的程序,因此所有的中間產(chǎn)品必須經(jīng)過審慎評估,確認有助于最終目標,才需要制作中間產(chǎn)品。采用與方式分階段進行,密集是否符合需求。流程可以簡單,但規(guī)劃與執(zhí)行必須嚴謹。強調團隊合作,賦予高度的責任,團隊有自主權得以因應變化做調整1/5/20233-敏捷的開發(fā)流程(敏捷的開發(fā)流程)是一種軟件開發(fā)
敏捷開發(fā)是一種以人為核心、迭代、循序漸進的開發(fā)方法在敏捷開發(fā)中,項目的構建被切分成多個子項目,各個子項目的成果都經(jīng)過測試,具備集成和可運行的特征。1/5/20234敏捷開發(fā)是一種以人為核心、迭代、循序漸進的開發(fā)方法12/敏捷開發(fā)核心價值()
個人和交流重于過程和工具
正在運行的軟件本身重于復雜的文檔
與客戶的溝通和交流重于使用合同約束客戶
a
對變化的快速響應重于跟隨計劃1/5/20235敏捷開發(fā)核心價值()
個人和交流重于過程和敏捷開發(fā)原則()最高目標是通過快速的和經(jīng)常的發(fā)布軟件滿足客戶的需要提交軟件的周期為幾個星期到幾個月產(chǎn)生正確的軟件是衡量進度的首要標準主動接受需求的改變而不是拒絕商務人員和開發(fā)人員工作在一起個人必須有動力,要創(chuàng)造環(huán)境支持他們的要求,信任他們最有效的交流方法是面對面的交流最好的結構,需求和設計來自于自組織的團隊(),允許任何人提出想法和建議持續(xù)改進設計和編碼鼓勵正常工作,減少長時間加班保持簡單,減少不必要的部分,認識到簡單的設計比復雜的設計更難()定期調整過程,獲得更高效率1/5/20236敏捷開發(fā)原則()最高目標是通過快速的和經(jīng)常的發(fā)布軟件滿足客戶敏捷開發(fā)的設計原則單一職責原則:開放封閉原則:-替換原則:依賴倒置原則:接口隔離原則:1/5/20237敏捷開發(fā)的設計原則12/25/20227敏捷開發(fā)-迭代計劃最新版本驗收測試發(fā)布計劃迭代計劃開發(fā)項目周期1/5/20238敏捷開發(fā)-迭代計劃最新版本驗收測試發(fā)布計劃迭代計劃開發(fā)項目周敏捷開發(fā)-迭代計劃1/5/20239敏捷開發(fā)-迭代計劃12/25/20229名詞解釋故事故事是客戶想要系統(tǒng)做的事情,適合在一至兩個迭代內完成,并且是可測試的,他不一定是商業(yè)價值的直接體現(xiàn)。迭代迭代是一個周期在2-4周,能夠完成當前團隊所能實現(xiàn)的,最具商業(yè)價值的功能,并可以提供一個可工作的小版本供發(fā)布。VelocityVelocity翻譯為項目周轉時間。代表團隊在給定周期內能夠完成多少商業(yè)價值,以便用于衡量將來該團隊能夠提供的商業(yè)價值。也即昨天的天氣。1/5/202310名詞解釋故事故事是客戶想要系統(tǒng)做的事情,適合在一至兩個迭代名詞解釋優(yōu)先級優(yōu)先級主要考慮商業(yè)價值,同時兼顧市場風險、商業(yè)風險、技術風險等因素在內的一個衡量數(shù)字,優(yōu)先級越高通常意味著其商業(yè)價值越高風險系數(shù)風險系數(shù)綜合商業(yè)環(huán)境、項目資源、技術以及項目環(huán)境等等因素在內的一個衡量數(shù)字,它是優(yōu)先級的重要衡量指標之一。它通常出現(xiàn)在故事中。風險系數(shù)較大意味著優(yōu)先級也較大。負載因子負載因子是綜合項目成員的技術能力、技能集、精神狀態(tài)等等因素,對于團隊成員的一個負載系數(shù)。1/5/202311名詞解釋優(yōu)先級優(yōu)先級主要考慮商業(yè)價值,同時兼顧市場風險、商名詞解釋理想時間理想時間排除一切可能的外界干擾,同時排除自身的精神狀態(tài),職業(yè)態(tài)度等等因素,完成某項工作所需要的時間。實際時間實際時間理想時間乘上負載因子任務任務分配到項目成員,從故事切分的出來。通常任務時間不應該超過10個實際工作日。1/5/202312名詞解釋理想時間理想時間排除一切可能的外界干擾,同時排除自1.2.3.1/5/2023131.2.3.12/25/202213
為提出的軟件開發(fā)流程內容含蓋,,,,,等軟件開發(fā)生命周期的直接工作與,&,等支持性工作。1/5/202314為提出的軟件開發(fā)流程12/25/202214的主要精神項目進行采用程序分階段漸進地完成項目功能;廣泛使用于商業(yè)需求分析、系統(tǒng)分析與系統(tǒng)設計;強調架構設計;對每項工作所需要的技術、工具、做法、模板、檢查項目均有詳細的定義,架構完備且具有可調整的彈性。1/5/202315的主要精神項目進行采用程序分階段漸進地完成項目功能;1.2.3.1/5/2023161.2.3.12/25/202216-極限編程,最輕量級的開發(fā)流程,其最主要的精神是『在客戶有系統(tǒng)需求時,給予及時滿意的可執(zhí)行程序』,所以最適合需求快速變動的項目強調客戶所要的是的執(zhí)行碼,所以把與撰寫程序無關的工作降至最低,并要求客戶與開發(fā)人員最好以的方式一起工作1/5/202317-極限編程,最輕量級的開發(fā)流程,其最主要的精神是『在客強調4個因素交流(),要求程序員之間以及和用戶之間有大量而迅速的交流簡單(),要求設計和實現(xiàn)簡單和干凈反饋()通過測試得到反饋,盡快提交軟件并根據(jù)反饋修改勇氣()。勇敢的面對需求和技術上的變化1/5/202318強調4個因素交流(),要求程序員之間以及和用戶之間有大量而迅開發(fā)流程開發(fā)人員隨時可以和客戶進行有效溝通,撰寫以確認需求。簡易快速的系統(tǒng)設計,撰寫獨立的驗證程序以解決特殊困難的問題,找出算法即可丟棄驗證程序。規(guī)劃多次小型階段的項目計劃,以最快速度完成每一階段的程序交付客戶,客戶負責;前必須完成與程序,所有模塊整合前都須經(jīng)過;開發(fā)人員必須快速響應與需求變更;要求二人一組使用一臺計算機設計程序,當一人時,另一人負責思考與設計;程序必須符合程序規(guī)范,并常做程序的重構()。1/5/202319開發(fā)流程12/25/202219原則和實踐
類似,描述用戶所見的系統(tǒng)功能,但避免使用大量的文檔,由用戶編寫(不僅限于描述用戶界面)。使用用戶的語言編寫,不使用技術性的語言,每個限于幾句話。用于在會議上對開發(fā)時間進行評估,也用于產(chǎn)生驗收測試(),必須使用可以自動進行的驗收測試保證軟件的正確性。與傳統(tǒng)的用戶需求的區(qū)別在于詳細的程度,并不會確定需求的每個細節(jié),它只是用來簡單的描述系統(tǒng)功能,供開發(fā)人員進行估計開發(fā)進度,在開發(fā)過程中開發(fā)人員和用戶會不斷的交流以討論細節(jié)問題。應該專注于功能,不應該過分注重用戶界面等細節(jié)。一般一個在1-3周的時間完成,如果估計超過3周,說明太大了,需要細分.1/5/202320原則和實踐12/25/202220原則和實踐
召開一個會議,產(chǎn)生。將用于指定每個的計劃。開發(fā)人員對每個估計開發(fā)時間(在不被打斷,無其他工作情況下的開發(fā)時間,包括測試),用戶對給出優(yōu)先級,會議并不制訂每個的計劃。要用戶,開發(fā)人員和管理者都同意,在完成功能范圍(),使用資源(),時間()和質量()上達成一致(一般質量是不能改變的)1/5/202321原則和實踐12/25/202221原則和實踐
是的一個原則,每個完成一些用戶有意義的功能集合,盡快的提交給用戶以獲得反饋,及時調整,提交的越晚,調整越困難。1/5/202322原則和實踐12/25/202222原則和實踐
團隊在開發(fā)過程中要收集數(shù)據(jù),以便于對自己的開發(fā)速度進行評估,用于以后的1/5/202323原則和實踐12/25/202223原則和實踐
每個的周期稱為,每個約為1-3周,在一個項目中保持每個的時間相等,不要超前制定計劃,每個的計劃在的開始時制定。這樣能夠更靈活的應付變化。不要急于完成本次沒有包括的功能。要注重每個的時間限制,當團隊覺得不能按時完成時,召開一次會議,重新評估,減少一些。1/5/202324原則和實踐12/25/202224原則和實踐
在每個開始的時候召開會議,從中選擇還沒有實現(xiàn)的用戶最迫切需要的。上一個中沒有通過驗收測試的功能也要在這個中實現(xiàn)。可以根據(jù)上一個的實踐調整團隊速度。和失敗的測試被分解成,使用技術語言編寫,作為的詳細描述。程序員主動領取并估計完成時間,每個應該在1-3天內完成,超過3天的應該被細分。如果整個團隊需要的時間多于或少于規(guī)定的時間,調整。1/5/202325原則和實踐12/25/202225原則和實踐
不要使每個開發(fā)人員局限于一項工作,不要使某項工作依賴于一個開發(fā)人員,增加知識共享,減少信息孤島,多進行交流和培訓。當項目中的所有人對所有模塊都了解并可以進行開發(fā)時是效率最高的,鼓勵開發(fā)人員在不同中開發(fā)不同的模塊。1/5/202326原則和實踐12/25/202226原則和實踐
每天工作開始之前,開5-10分鐘的會議(站立會議),站立的目的是為了強迫節(jié)省時間,會議的目的是交流,提出存在的問題,但不要在會議上解決問題。開一個所有人員參加的短會比多個個別人員參加的會議要高效。在會議上提出的問題可以由少數(shù)人討論解決,這個少數(shù)人參加的會議如果涉及到代碼,可以在計算機前討論。1/5/202327原則和實踐12/25/202227原則和實踐
并不是一成不變的,當團隊覺得需要修改的時候,可以根據(jù)自己的情況進行修改,任何修改都要經(jīng)過整個團隊的討論和達成一致1/5/202328原則和實踐12/25/202228原則和實踐1
保持簡單的設計,在完成同樣的功能的情況下,選擇簡單的設計,不要急于設計沒有計劃的功能,應該認識到:a
使用統(tǒng)一的術語描述系統(tǒng),在用戶,管理者和開發(fā)人員之間使用統(tǒng)一的術語。這將使交流清晰。
使用(,,)進行系統(tǒng)設計,鼓勵更多的人參加設計。每個卡片表示系統(tǒng)中一個對象,寫上對象的名字,責任和每個責任需要交互的其他對象??梢阅M對象之間的交互??ㄆ且子诶斫獾?,但是是非正式的,如果需要正式的文檔,要將卡片轉換為相應的文檔。
1/5/202329原則和實踐112/25/202229原則和實踐2
使用減低風險,當遇到技術難題或設計問題時,使用簡單的程序進行測試,找出問題,在不同的解決方法之間進行評估。在早期進行實驗可以有效的降低風險。
不要過早的設計沒有計劃的功能,在一個需求經(jīng)常變化的環(huán)境中,過早的設計經(jīng)常是沒有用的。
鼓勵對設計和代碼經(jīng)常進行重構(),目的是去除冗余,提高質量,保持設計簡單。重構必須以完全測試為檢驗條件1/5/202330原則和實踐212/25/202230原則和實踐1
用戶是項目組的成員之一,用戶的參加貫穿整個開發(fā)過程,用戶與開發(fā)人員之間的交流是重要的
使用統(tǒng)一的編碼標準,這是保持代碼整潔和共享代碼的基礎
是的一個特點,在編寫代碼之前先編寫單元測試代碼,單元測試代碼和代碼由同一個程序員完成。先編寫測試代碼可以使程序員更好的理解需求,避免直接編碼造成的理解偏差,對需求的不清晰,可以在編寫測試代碼時就發(fā)現(xiàn)。測試代碼也是檢驗程序是否完成的標準。編碼工作應該是以下工作的循環(huán):
1編寫測試代碼
2運行測試程序,確認失敗
3編寫實現(xiàn)這個測試程序要求功能的代碼,不需要實現(xiàn)其他的功能,只需要實現(xiàn)剛剛滿足測試程序的功能
4運行測試程序,確認成功
實踐證明,方式需要的編碼實踐少于先編碼,后寫測試代碼1/5/202331原則和實踐112/25/202231原則和實踐2
是的特色,它要求兩個程序員在一臺計算機上同時進行編程工作。共用鼠標和鍵盤,通常一個人進行戰(zhàn)略上的思考,程序架構和函數(shù),類之間的關系,一個人進行輸入和戰(zhàn)術上的思考,完成函數(shù)和類。兩個人可以經(jīng)常交換角色。
要保證源代碼庫的狀態(tài)是可標識的,同一時間,只允許一個的程序進行整和和測試,這樣可以縮小問題產(chǎn)生的范圍。不同的可以在自己的機器上隨時進行整和和測試.
只要有可能就進行代碼整合,周期可以在幾個小時,最好不要超過一天。1/5/202332原則和實踐212/25/202232原則和實踐3共同擁有代碼鼓勵每個人對項目中的任何人提出新的想法,任何開發(fā)人員對項目中的任何代碼都可以進行增加功能,改正錯誤和重構。優(yōu)化工作放在最后先使系統(tǒng)能夠正常工作,不要猜測系統(tǒng)的瓶頸,要實際測量
不要長時間的加班,大多數(shù)加班并不能挽回已有的延遲,連續(xù)超過兩個星期的加班說明有問題存在。向一個已經(jīng)延遲的項目填加人員也不是一個好的選擇。1/5/202333原則和實踐312/25/202233原則和實踐1所有的代碼都有單元測試單元測試是的基石,中的單元測試應該是可以自動進行的,所以可以很快的進行所有的單元測試,單元測試應該在編碼之前創(chuàng)建。單元測試的代碼和代碼一起,沒有單元測試的代碼不能夠。使用自動單元測試可以系統(tǒng)整合時節(jié)省大量的發(fā)現(xiàn)錯誤和改正的時間。單元測試越完善,節(jié)省的時間越多。代碼在前必須通過所有的單元測試發(fā)現(xiàn)后,首先增加測試在實際運行中發(fā)現(xiàn),首先增加,然后增加,在增加完測試后在查找和修改代碼,增加的測試保證同樣的錯誤不會再出現(xiàn)
根據(jù)在會議上創(chuàng)建,它也應該可以自動運行以便可以經(jīng)常運行。1/5/202334原則和實踐1所有的代碼都有單元測試12/25/2022341.2.3.1/5/2023351.2.3.12/25/202235
1/5/20233612/25/202236特點自我管理的團隊以“”為周期迭代的產(chǎn)品開發(fā)以一系列“產(chǎn)品”記錄了產(chǎn)品需求沒有特定的工程實踐慣例在以生成規(guī)則創(chuàng)造的敏捷開發(fā)環(huán)境交付產(chǎn)品是其中一種“敏捷方法”1/5/202337特點自我管理的團隊12/25/202237開發(fā)流程開發(fā)流程是的一種,以英式橄欖球爭球隊形()為名,基本假設是『開發(fā)軟件就像開發(fā)新產(chǎn)品,無法一開始就能定義的規(guī)程,過程中需要研發(fā)、創(chuàng)意、嘗試錯誤,所以沒有一種固定的流程可以保證項目成功』。將軟件開發(fā)團隊比擬成橄欖球隊,有明確的最高目標,熟悉開發(fā)流程中所需具備的最佳典范與技術,具有高度自主權,緊密地溝通合作,以高度彈性解決各種挑戰(zhàn),碓保每天、每個階段都朝向目標有明確的推進,因此非常適用于產(chǎn)品開發(fā)項目。1/5/202338開發(fā)流程開發(fā)流程是的一種,以英式橄欖球爭球隊形開發(fā)流程(.)開發(fā)流程通常以30天為一個迭代周期,每個迭代周期叫做一個,由客戶提供新產(chǎn)品的需求規(guī)格開始,開發(fā)團隊與客戶于每一個階段開始時挑選該完成的規(guī)格部份,開發(fā)團隊必須盡力于30天后交付成果,團隊每天用15分鐘開會檢視每個成員的進度與計劃,了解所遭遇的困難并設法排除,決定第二天的任務安排.較為有特色的,是它特別強調開發(fā)隊伍和管理層的交流協(xié)作。每天,開發(fā)隊伍都會向管理層匯報進度,如果有問題,也會向管理層要求幫助解決。1/5/202339開發(fā)流程(.)開發(fā)流程通常以30天為一個迭代周期,每總體骨架迭代每30天DailySCRUM每24小時高優(yōu)先級可運行的軟件工作項分解產(chǎn)品訂單ProductBacklog迭代訂單SprintBacklog新的功能增量迭代規(guī)劃會議SprintPlan一般不超過8小時。前4個小時:產(chǎn)品負責人向團隊展示最高優(yōu)先級的產(chǎn)品,團隊則向他詢問產(chǎn)品Backlog的內容、目的、含義及意圖。后4小時:團隊計劃本Sprint的安排迭代復審會議SprintReview一般4個小時,由團隊成員向產(chǎn)品負責人額其他利益相關人展示Sprint周期內的產(chǎn)品開發(fā)情況迭代回顧會議SprintRetrospective一般3個小時,ScrumMaster將鼓勵團隊在SCRUM過程框架和實踐范圍內,對開發(fā)過程做出修改,使它在下一個Sprint周期中更加有效和令人愉快每日站立會議DailyScrumMeeting在簡會上,每個成員主要回答三個問題;–自上次SCRUM簡會后的一天了(昨天),你做了什么?–從現(xiàn)在到下次SCRUM簡會的一天里(今天),你要做什么?–在實現(xiàn)SCRUM及項目目標的工作中,你遇到哪些困難嗎?產(chǎn)品負責人Scrum主管開發(fā)團隊1/5/202340總體骨架迭代DailySCRUM高優(yōu)先級可運行的軟件工作項順序.重疊開發(fā)過程并非以一段時間集中完成一個過程...而是將所有過程中必須的每一部分集中在這段時間內完成需求設計代碼測試1/5/202341順序.重疊開發(fā)過程并非以一段時間集中完成一個過程...而結構框架產(chǎn)品所有者ScrumMaster團隊職能迭代計劃迭代驗收迭代回顧每天召開的scrum會議儀式產(chǎn)品backlog迭代backlog進度曲線圖產(chǎn)出1/5/202342結構框架產(chǎn)品所有者職能迭代計劃儀式產(chǎn)品backlog產(chǎn)出1
自組織的團隊跨功能團隊沒有角色區(qū)分最少2個,最多7個對工作交付負責只要交付工作需求,授權做任何事情.1/5/202343自組織的團隊12/25/202243角色及職責火腿雞蛋!三思過后我決定不和你開餐館了。因為我全身心投入,而你只牽涉入內!1/5/202344角色及職責火腿雞蛋!三思過后我決定不和你開餐館了。因為我全身&:成員:他們承諾對迭代目標交付負責:項目組有關的成員,但并不專注于項目以觀察者的形式參加1/5/202345&:成員:他們承諾對迭代目標交付負責:項目組
優(yōu)先級制定開發(fā)的版本規(guī)劃必須確保驅動開發(fā)的需求只有一份受管理層,客戶等影響但僅有權調整與相關成員協(xié)同工作來確定的消除關于的疑惑,確保理解一致,消除干擾1/5/202346優(yōu)先級制定開發(fā)的版本規(guī)劃12/25/202246
職責確保的成功實施實踐和規(guī)定,保護團隊以免受干擾項目管理的代表1/5/202347職責12/25/202247交付產(chǎn)品的固定的時間箱.建議2-3周迭代包括,,,一旦迭代開始,僅能增加或者刪除中的當?shù)哪繕俗兊臎]有意義的時候,才能終止迭代開發(fā)對于,不允許迭代內的需求變更:需求優(yōu)先級調整僅存在于迭代之間1/5/202348交付產(chǎn)品的固定的時間箱.建議2-3周12/25/202248如何定義團隊自己從產(chǎn)品的中選擇一些他們能夠完成的任務作為迭代的迭代被創(chuàng)建任務被確認并且每一任務估計工作量應該在1-16小時左右迭代的的確定是團隊協(xié)作的結果,而不是只有的決定概要設計已經(jīng)討論過為了選擇好去處度過這個假期,我需要先看到酒店的照片.編寫后臺和中間層(8小時)編寫界面(4)編寫測試用例(4)寫類foo(6)更新性能測試用例(4)1/5/202349如何定義團隊自己從產(chǎn)品的中選擇一些他們能夠完成的任務作為迭代
每天15分鐘,團隊面對面站立成圈晨會是為項目信息同步可視化,不是為了解決問題避免無關的討論1/5/202350每天15分鐘,團隊面對面站立成圈12/25/20225團隊成員需要回答3個問題昨天你做了什么?1今天你將要做什么?2你有需要幫助的地方嗎?3對于來說這些問答不是工作進度報告他們是團隊成員彼此的承諾1/5/202351團隊成員需要回答3個問題昨天你做了什么?1今天你將要做什么?
1/5/20235212/25/202252迭代結果的驗收團隊需要演示所完成的迭代工作典型的做法是使用演示形式展示新功能或者底層架構的實現(xiàn)非正式的2小時的提前準備不需要正式演示文檔整個團隊都需要參加邀請所有關注產(chǎn)品的人參加1/5/202353迭代結果的驗收團隊需要演示所完成的迭代工作12/25/202迭代的回顧周期性的回顧,總結工作中的經(jīng)驗和教訓一般15–30分鐘在每個迭代結束時開始做整個團隊都需要參加產(chǎn)品所有者團隊可能還包括客戶1/5/202354迭代的回顧周期性的回顧,總結工作中的經(jīng)驗和教訓12/25/2產(chǎn)品需求項目中待完成的工作列表理想的是每一個待完成的工作都將對客戶和用戶產(chǎn)生價值產(chǎn)品所有者將對這個列表進行優(yōu)先級排序每個迭代開始前優(yōu)先級的排序工作還需要再度修正一組產(chǎn)品1/5/202355產(chǎn)品需求一組產(chǎn)品12/25/202255產(chǎn)品的樣例列表估計量顧客可以酒店預定3顧客可以取消預定.5顧客可以提前更改預定的日期.3酒店工作人員可以出具()報告8提高對突發(fā)事情的處理能力8...30...501/5/202356產(chǎn)品的樣例列表估計量顧客可以酒店預定3顧客可以取消預定.管理迭代的團隊的個人將要簽收其將擁有的工作工作不是單向的分配對于剩余工作量的估計每天需要更新團隊中任何人都可以添加,刪減或者更改迭代中的工作項目為了迭代目標以及將發(fā)布的結果而工作如果對將要面對的困難不清楚,最好先定義一個相對工作量較大的工作項目然后適時在以后將其分散成較小額工作量的幾個部分更新每個項目的剩余工作量1/5/202357管理迭代的團隊的個人將要簽收其將擁有的工作12/25/20迭代的樣例任務編寫用戶界面848編寫中間層1612104測試中間層81616118編寫在線幫助12編寫類88888增加對錯誤的日志記錄841/5/202358迭代的樣例任務編寫用戶界面848編寫中間層1612104測試迭代燃盡圖1/5/202359迭代燃盡圖12/25/202259Q&A1/5/202360Q&A12/25/202260演講完畢,謝謝觀看!演講完畢,謝謝觀看!
敏捷開發(fā)()09/28/20101/5/202362
敏捷開發(fā)()12/25/20221
介紹1/5/202363介紹12/25/20222-敏捷的開發(fā)流程(敏捷的開發(fā)流程)是一種軟件開發(fā)流程的泛稱,幾項共通的特性:客戶與開發(fā)人員形成密切合作的團隊,因為客戶無法于初期定義完整的規(guī)格,而開發(fā)人員于開發(fā)過程中也常常無法知悉外在環(huán)境或業(yè)務的變動,所以需要兩者密切合作方能開發(fā)適用的軟件。項目最終的目標是可執(zhí)行的程序,因此所有的中間產(chǎn)品必須經(jīng)過審慎評估,確認有助于最終目標,才需要制作中間產(chǎn)品。采用與方式分階段進行,密集是否符合需求。流程可以簡單,但規(guī)劃與執(zhí)行必須嚴謹。強調團隊合作,賦予高度的責任,團隊有自主權得以因應變化做調整1/5/202364-敏捷的開發(fā)流程(敏捷的開發(fā)流程)是一種軟件開發(fā)
敏捷開發(fā)是一種以人為核心、迭代、循序漸進的開發(fā)方法在敏捷開發(fā)中,項目的構建被切分成多個子項目,各個子項目的成果都經(jīng)過測試,具備集成和可運行的特征。1/5/202365敏捷開發(fā)是一種以人為核心、迭代、循序漸進的開發(fā)方法12/敏捷開發(fā)核心價值()
個人和交流重于過程和工具
正在運行的軟件本身重于復雜的文檔
與客戶的溝通和交流重于使用合同約束客戶
a
對變化的快速響應重于跟隨計劃1/5/202366敏捷開發(fā)核心價值()
個人和交流重于過程和敏捷開發(fā)原則()最高目標是通過快速的和經(jīng)常的發(fā)布軟件滿足客戶的需要提交軟件的周期為幾個星期到幾個月產(chǎn)生正確的軟件是衡量進度的首要標準主動接受需求的改變而不是拒絕商務人員和開發(fā)人員工作在一起個人必須有動力,要創(chuàng)造環(huán)境支持他們的要求,信任他們最有效的交流方法是面對面的交流最好的結構,需求和設計來自于自組織的團隊(),允許任何人提出想法和建議持續(xù)改進設計和編碼鼓勵正常工作,減少長時間加班保持簡單,減少不必要的部分,認識到簡單的設計比復雜的設計更難()定期調整過程,獲得更高效率1/5/202367敏捷開發(fā)原則()最高目標是通過快速的和經(jīng)常的發(fā)布軟件滿足客戶敏捷開發(fā)的設計原則單一職責原則:開放封閉原則:-替換原則:依賴倒置原則:接口隔離原則:1/5/202368敏捷開發(fā)的設計原則12/25/20227敏捷開發(fā)-迭代計劃最新版本驗收測試發(fā)布計劃迭代計劃開發(fā)項目周期1/5/202369敏捷開發(fā)-迭代計劃最新版本驗收測試發(fā)布計劃迭代計劃開發(fā)項目周敏捷開發(fā)-迭代計劃1/5/202370敏捷開發(fā)-迭代計劃12/25/20229名詞解釋故事故事是客戶想要系統(tǒng)做的事情,適合在一至兩個迭代內完成,并且是可測試的,他不一定是商業(yè)價值的直接體現(xiàn)。迭代迭代是一個周期在2-4周,能夠完成當前團隊所能實現(xiàn)的,最具商業(yè)價值的功能,并可以提供一個可工作的小版本供發(fā)布。VelocityVelocity翻譯為項目周轉時間。代表團隊在給定周期內能夠完成多少商業(yè)價值,以便用于衡量將來該團隊能夠提供的商業(yè)價值。也即昨天的天氣。1/5/202371名詞解釋故事故事是客戶想要系統(tǒng)做的事情,適合在一至兩個迭代名詞解釋優(yōu)先級優(yōu)先級主要考慮商業(yè)價值,同時兼顧市場風險、商業(yè)風險、技術風險等因素在內的一個衡量數(shù)字,優(yōu)先級越高通常意味著其商業(yè)價值越高風險系數(shù)風險系數(shù)綜合商業(yè)環(huán)境、項目資源、技術以及項目環(huán)境等等因素在內的一個衡量數(shù)字,它是優(yōu)先級的重要衡量指標之一。它通常出現(xiàn)在故事中。風險系數(shù)較大意味著優(yōu)先級也較大。負載因子負載因子是綜合項目成員的技術能力、技能集、精神狀態(tài)等等因素,對于團隊成員的一個負載系數(shù)。1/5/202372名詞解釋優(yōu)先級優(yōu)先級主要考慮商業(yè)價值,同時兼顧市場風險、商名詞解釋理想時間理想時間排除一切可能的外界干擾,同時排除自身的精神狀態(tài),職業(yè)態(tài)度等等因素,完成某項工作所需要的時間。實際時間實際時間理想時間乘上負載因子任務任務分配到項目成員,從故事切分的出來。通常任務時間不應該超過10個實際工作日。1/5/202373名詞解釋理想時間理想時間排除一切可能的外界干擾,同時排除自1.2.3.1/5/2023741.2.3.12/25/202213
為提出的軟件開發(fā)流程內容含蓋,,,,,等軟件開發(fā)生命周期的直接工作與,&,等支持性工作。1/5/202375為提出的軟件開發(fā)流程12/25/202214的主要精神項目進行采用程序分階段漸進地完成項目功能;廣泛使用于商業(yè)需求分析、系統(tǒng)分析與系統(tǒng)設計;強調架構設計;對每項工作所需要的技術、工具、做法、模板、檢查項目均有詳細的定義,架構完備且具有可調整的彈性。1/5/202376的主要精神項目進行采用程序分階段漸進地完成項目功能;1.2.3.1/5/2023771.2.3.12/25/202216-極限編程,最輕量級的開發(fā)流程,其最主要的精神是『在客戶有系統(tǒng)需求時,給予及時滿意的可執(zhí)行程序』,所以最適合需求快速變動的項目強調客戶所要的是的執(zhí)行碼,所以把與撰寫程序無關的工作降至最低,并要求客戶與開發(fā)人員最好以的方式一起工作1/5/202378-極限編程,最輕量級的開發(fā)流程,其最主要的精神是『在客強調4個因素交流(),要求程序員之間以及和用戶之間有大量而迅速的交流簡單(),要求設計和實現(xiàn)簡單和干凈反饋()通過測試得到反饋,盡快提交軟件并根據(jù)反饋修改勇氣()。勇敢的面對需求和技術上的變化1/5/202379強調4個因素交流(),要求程序員之間以及和用戶之間有大量而迅開發(fā)流程開發(fā)人員隨時可以和客戶進行有效溝通,撰寫以確認需求。簡易快速的系統(tǒng)設計,撰寫獨立的驗證程序以解決特殊困難的問題,找出算法即可丟棄驗證程序。規(guī)劃多次小型階段的項目計劃,以最快速度完成每一階段的程序交付客戶,客戶負責;前必須完成與程序,所有模塊整合前都須經(jīng)過;開發(fā)人員必須快速響應與需求變更;要求二人一組使用一臺計算機設計程序,當一人時,另一人負責思考與設計;程序必須符合程序規(guī)范,并常做程序的重構()。1/5/202380開發(fā)流程12/25/202219原則和實踐
類似,描述用戶所見的系統(tǒng)功能,但避免使用大量的文檔,由用戶編寫(不僅限于描述用戶界面)。使用用戶的語言編寫,不使用技術性的語言,每個限于幾句話。用于在會議上對開發(fā)時間進行評估,也用于產(chǎn)生驗收測試(),必須使用可以自動進行的驗收測試保證軟件的正確性。與傳統(tǒng)的用戶需求的區(qū)別在于詳細的程度,并不會確定需求的每個細節(jié),它只是用來簡單的描述系統(tǒng)功能,供開發(fā)人員進行估計開發(fā)進度,在開發(fā)過程中開發(fā)人員和用戶會不斷的交流以討論細節(jié)問題。應該專注于功能,不應該過分注重用戶界面等細節(jié)。一般一個在1-3周的時間完成,如果估計超過3周,說明太大了,需要細分.1/5/202381原則和實踐12/25/202220原則和實踐
召開一個會議,產(chǎn)生。將用于指定每個的計劃。開發(fā)人員對每個估計開發(fā)時間(在不被打斷,無其他工作情況下的開發(fā)時間,包括測試),用戶對給出優(yōu)先級,會議并不制訂每個的計劃。要用戶,開發(fā)人員和管理者都同意,在完成功能范圍(),使用資源(),時間()和質量()上達成一致(一般質量是不能改變的)1/5/202382原則和實踐12/25/202221原則和實踐
是的一個原則,每個完成一些用戶有意義的功能集合,盡快的提交給用戶以獲得反饋,及時調整,提交的越晚,調整越困難。1/5/202383原則和實踐12/25/202222原則和實踐
團隊在開發(fā)過程中要收集數(shù)據(jù),以便于對自己的開發(fā)速度進行評估,用于以后的1/5/202384原則和實踐12/25/202223原則和實踐
每個的周期稱為,每個約為1-3周,在一個項目中保持每個的時間相等,不要超前制定計劃,每個的計劃在的開始時制定。這樣能夠更靈活的應付變化。不要急于完成本次沒有包括的功能。要注重每個的時間限制,當團隊覺得不能按時完成時,召開一次會議,重新評估,減少一些。1/5/202385原則和實踐12/25/202224原則和實踐
在每個開始的時候召開會議,從中選擇還沒有實現(xiàn)的用戶最迫切需要的。上一個中沒有通過驗收測試的功能也要在這個中實現(xiàn)。可以根據(jù)上一個的實踐調整團隊速度。和失敗的測試被分解成,使用技術語言編寫,作為的詳細描述。程序員主動領取并估計完成時間,每個應該在1-3天內完成,超過3天的應該被細分。如果整個團隊需要的時間多于或少于規(guī)定的時間,調整。1/5/202386原則和實踐12/25/202225原則和實踐
不要使每個開發(fā)人員局限于一項工作,不要使某項工作依賴于一個開發(fā)人員,增加知識共享,減少信息孤島,多進行交流和培訓。當項目中的所有人對所有模塊都了解并可以進行開發(fā)時是效率最高的,鼓勵開發(fā)人員在不同中開發(fā)不同的模塊。1/5/202387原則和實踐12/25/202226原則和實踐
每天工作開始之前,開5-10分鐘的會議(站立會議),站立的目的是為了強迫節(jié)省時間,會議的目的是交流,提出存在的問題,但不要在會議上解決問題。開一個所有人員參加的短會比多個個別人員參加的會議要高效。在會議上提出的問題可以由少數(shù)人討論解決,這個少數(shù)人參加的會議如果涉及到代碼,可以在計算機前討論。1/5/202388原則和實踐12/25/202227原則和實踐
并不是一成不變的,當團隊覺得需要修改的時候,可以根據(jù)自己的情況進行修改,任何修改都要經(jīng)過整個團隊的討論和達成一致1/5/202389原則和實踐12/25/202228原則和實踐1
保持簡單的設計,在完成同樣的功能的情況下,選擇簡單的設計,不要急于設計沒有計劃的功能,應該認識到:a
使用統(tǒng)一的術語描述系統(tǒng),在用戶,管理者和開發(fā)人員之間使用統(tǒng)一的術語。這將使交流清晰。
使用(,,)進行系統(tǒng)設計,鼓勵更多的人參加設計。每個卡片表示系統(tǒng)中一個對象,寫上對象的名字,責任和每個責任需要交互的其他對象??梢阅M對象之間的交互??ㄆ且子诶斫獾模鞘欠钦降?,如果需要正式的文檔,要將卡片轉換為相應的文檔。
1/5/202390原則和實踐112/25/202229原則和實踐2
使用減低風險,當遇到技術難題或設計問題時,使用簡單的程序進行測試,找出問題,在不同的解決方法之間進行評估。在早期進行實驗可以有效的降低風險。
不要過早的設計沒有計劃的功能,在一個需求經(jīng)常變化的環(huán)境中,過早的設計經(jīng)常是沒有用的。
鼓勵對設計和代碼經(jīng)常進行重構(),目的是去除冗余,提高質量,保持設計簡單。重構必須以完全測試為檢驗條件1/5/202391原則和實踐212/25/202230原則和實踐1
用戶是項目組的成員之一,用戶的參加貫穿整個開發(fā)過程,用戶與開發(fā)人員之間的交流是重要的
使用統(tǒng)一的編碼標準,這是保持代碼整潔和共享代碼的基礎
是的一個特點,在編寫代碼之前先編寫單元測試代碼,單元測試代碼和代碼由同一個程序員完成。先編寫測試代碼可以使程序員更好的理解需求,避免直接編碼造成的理解偏差,對需求的不清晰,可以在編寫測試代碼時就發(fā)現(xiàn)。測試代碼也是檢驗程序是否完成的標準。編碼工作應該是以下工作的循環(huán):
1編寫測試代碼
2運行測試程序,確認失敗
3編寫實現(xiàn)這個測試程序要求功能的代碼,不需要實現(xiàn)其他的功能,只需要實現(xiàn)剛剛滿足測試程序的功能
4運行測試程序,確認成功
實踐證明,方式需要的編碼實踐少于先編碼,后寫測試代碼1/5/202392原則和實踐112/25/202231原則和實踐2
是的特色,它要求兩個程序員在一臺計算機上同時進行編程工作。共用鼠標和鍵盤,通常一個人進行戰(zhàn)略上的思考,程序架構和函數(shù),類之間的關系,一個人進行輸入和戰(zhàn)術上的思考,完成函數(shù)和類。兩個人可以經(jīng)常交換角色。
要保證源代碼庫的狀態(tài)是可標識的,同一時間,只允許一個的程序進行整和和測試,這樣可以縮小問題產(chǎn)生的范圍。不同的可以在自己的機器上隨時進行整和和測試.
只要有可能就進行代碼整合,周期可以在幾個小時,最好不要超過一天。1/5/202393原則和實踐212/25/202232原則和實踐3共同擁有代碼鼓勵每個人對項目中的任何人提出新的想法,任何開發(fā)人員對項目中的任何代碼都可以進行增加功能,改正錯誤和重構。優(yōu)化工作放在最后先使系統(tǒng)能夠正常工作,不要猜測系統(tǒng)的瓶頸,要實際測量
不要長時間的加班,大多數(shù)加班并不能挽回已有的延遲,連續(xù)超過兩個星期的加班說明有問題存在。向一個已經(jīng)延遲的項目填加人員也不是一個好的選擇。1/5/202394原則和實踐312/25/202233原則和實踐1所有的代碼都有單元測試單元測試是的基石,中的單元測試應該是可以自動進行的,所以可以很快的進行所有的單元測試,單元測試應該在編碼之前創(chuàng)建。單元測試的代碼和代碼一起,沒有單元測試的代碼不能夠。使用自動單元測試可以系統(tǒng)整合時節(jié)省大量的發(fā)現(xiàn)錯誤和改正的時間。單元測試越完善,節(jié)省的時間越多。代碼在前必須通過所有的單元測試發(fā)現(xiàn)后,首先增加測試在實際運行中發(fā)現(xiàn),首先增加,然后增加,在增加完測試后在查找和修改代碼,增加的測試保證同樣的錯誤不會再出現(xiàn)
根據(jù)在會議上創(chuàng)建,它也應該可以自動運行以便可以經(jīng)常運行。1/5/202395原則和實踐1所有的代碼都有單元測試12/25/2022341.2.3.1/5/2023961.2.3.12/25/202235
1/5/20239712/25/202236特點自我管理的團隊以“”為周期迭代的產(chǎn)品開發(fā)以一系列“產(chǎn)品”記錄了產(chǎn)品需求沒有特定的工程實踐慣例在以生成規(guī)則創(chuàng)造的敏捷開發(fā)環(huán)境交付產(chǎn)品是其中一種“敏捷方法”1/5/202398特點自我管理的團隊12/25/202237開發(fā)流程開發(fā)流程是的一種,以英式橄欖球爭球隊形()為名,基本假設是『開發(fā)軟件就像開發(fā)新產(chǎn)品,無法一開始就能定義的規(guī)程,過程中需要研發(fā)、創(chuàng)意、嘗試錯誤,所以沒有一種固定的流程可以保證項目成功』。將軟件開發(fā)團隊比擬成橄欖球隊,有明確的最高目標,熟悉開發(fā)流程中所需具備的最佳典范與技術,具有高度自主權,緊密地溝通合作,以高度彈性解決各種挑戰(zhàn),碓保每天、每個階段都朝向目標有明確的推進,因此非常適用于產(chǎn)品開發(fā)項目。1/5/202399開發(fā)流程開發(fā)流程是的一種,以英式橄欖球爭球隊形開發(fā)流程(.)開發(fā)流程通常以30天為一個迭代周期,每個迭代周期叫做一個,由客戶提供新產(chǎn)品的需求規(guī)格開始,開發(fā)團隊與客戶于每一個階段開始時挑選該完成的規(guī)格部份,開發(fā)團隊必須盡力于30天后交付成果,團隊每天用15分鐘開會檢視每個成員的進度與計劃,了解所遭遇的困難并設法排除,決定第二天的任務安排.較為有特色的,是它特別強調開發(fā)隊伍和管理層的交流協(xié)作。每天,開發(fā)隊伍都會向管理層匯報進度,如果有問題,也會向管理層要求幫助解決。1/5/2023100開發(fā)流程(.)開發(fā)流程通常以30天為一個迭代周期,每總體骨架迭代每30天DailySCRUM每24小時高優(yōu)先級可運行的軟件工作項分解產(chǎn)品訂單ProductBacklog迭代訂單SprintBacklog新的功能增量迭代規(guī)劃會議SprintPlan一般不超過8小時。前4個小時:產(chǎn)品負責人向團隊展示最高優(yōu)先級的產(chǎn)品,團隊則向他詢問產(chǎn)品Backlog的內容、目的、含義及意圖。后4小時:團隊計劃本Sprint的安排迭代復審會議SprintReview一般4個小時,由團隊成員向產(chǎn)品負責人額其他利益相關人展示Sprint周期內的產(chǎn)品開發(fā)情況迭代回顧會議SprintRetrospective一般3個小時,ScrumMaster將鼓勵團隊在SCRUM過程框架和實踐范圍內,對開發(fā)過程做出修改,使它在下一個Sprint周期中更加有效和令人愉快每日站立會議DailyScrumMeeting在簡會上,每個成員主要回答三個問題;–自上次SCRUM簡會后的一天了(昨天),你做了什么?–從現(xiàn)在到下次SCRUM簡會的一天里(今天),你要做什么?–在實現(xiàn)SCRUM及項目目標的工作中,你遇到哪些困難嗎?產(chǎn)品負責人Scrum主管開發(fā)團隊1/5/2023101總體骨架迭代DailySCRUM高優(yōu)先級可運行的軟件工作項順序.重疊開發(fā)過程并非以一段時間集中完成一個過程...而是將所有過程中必須的每一部分集中在這段時間內完成需求設計代碼測試1/5/2023102順序.重疊開發(fā)過程并非以一段時間集中完成一個過程...而結構框架產(chǎn)品所有者ScrumMaster團隊職能迭代計劃迭代驗收迭代回顧每天召開的scrum會議儀式產(chǎn)品backlog迭代backlog進度曲線圖產(chǎn)出1/5/2023103結構框架產(chǎn)品所有者職能迭代計劃儀式產(chǎn)品backlog產(chǎn)出1
自組織的團隊跨功能團隊沒有角色區(qū)分最少2個,最多7個對工作交付負責只要交付工作需求,授權做任何事情.1/5/2023104自組織的團隊12/25/202243角色及職責火腿雞蛋!三思過后我決定不和你開餐館了。因為我全身心投入,而你只牽涉入內!1/5/2023105角色及職責火腿
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 晉中山西晉中市太谷區(qū)面向2025屆公費師范生招聘教師18人筆試歷年參考題庫附帶答案詳解
- 2025年中國太子佛工藝品市場調查研究報告
- 2025至2031年中國高壓透鏡行業(yè)投資前景及策略咨詢研究報告
- 2025年藝術道閘項目可行性研究報告
- 2025年紅外線按摩棒項目可行性研究報告
- 2025年電加熱針織物呢毯預縮機項目可行性研究報告
- 成都四川成都天府國際競技訓練中心招聘運動員4人筆試歷年參考題庫附帶答案詳解
- 2025年曲印項目可行性研究報告
- 2025年揉切粉碎機項目可行性研究報告
- 2025年安康魚野菜串項目可行性研究報告
- 醫(yī)院培訓課件:《傷口評估與測量》
- 期末試卷(試題)-2024-2025學年四年級上冊數(shù)學滬教版
- 《第一單元口語交際:即興發(fā)言》教案-2023-2024學年六年級下冊語文統(tǒng)編版
- 情侶自愿轉賬贈與協(xié)議書范本
- 綜合實踐項目 制作水族箱飼養(yǎng)淡水魚 教學設計-2024-2025學年魯科版生物六年級上冊
- 公轉私付款合同模板
- 安徽省2024年高考語文模擬試卷及答案5
- 江西省“振興杯”信息通信網(wǎng)絡運行管理員競賽考試題庫-上(單選題)
- DLT 5756-2017 額定電壓35kV(Um=40.5kV)及以下冷縮式電纜附件安裝規(guī)程
- 關于餐飲合同范本
- 2023高考數(shù)學藝考生一輪復習講義(學生版)
評論
0/150
提交評論