欢迎来到天天文库
浏览记录
ID:56373134
大小:155.00 KB
页数:32页
时间:2020-06-14
《敏捷软件开发.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、AgileSoftwareDevelopment前言速度是企業競爭致勝的關鍵因素,軟體專案的最大挑戰在於一方面要應付變動中的需求,一方面要在緊縮的時程內完成專案,所以軟體團隊除了在技術上必須日益精進,更需要運用有效的開發流程,以確保團隊能夠發揮綜效。這正是AgileProcess(敏捷的軟體開發流程)於近年來興起的主要原因。歷史敏捷軟體開發又稱敏捷開發,從1990年代開始逐漸引起廣泛關注的一些新型軟體開發方法,是一種應對快速變化的需求的一種軟體開發能力。它們的具體名稱、理念、過程、術語都不盡相同,相對於「非敏捷」,更強調程式設計師
2、團隊與業務專家之間的緊密協作、面對面的溝通(認為比書面的文檔更有效)、頻繁交付新的軟體版本、緊湊而自我組織型的團隊、能夠很快地適應需求變化的代碼編寫和團隊組織方法,也更注重做為軟體開發中,人的作用。歷史2001年初,因觀察到許多的軟體團隊身陷不斷擴大的流程之中的困境,一群業界專家聚集在一起,勾勒出一些能讓軟體團隊迅速工作,以及回應變化的價值觀和原則。他們自稱為AgileAlliance。之後的七個月裡,他們創造具有價值的聲明,也就是敏捷軟體的開發宣言。敏捷開發的價值觀雪鳥會議中共同起草了敏捷軟體開發宣言。其中最重要的部分就是對一些
3、與會者一致同意的軟體開發價值觀的表述:個人及互動勝於流程與工具。可用的軟體勝於詳盡的文件。與客戶合作勝於合同談判。隨時應對變化重於墨守計畫。敏捷開發的12個原則1.經由及早與持續的交付有價值軟體以滿足客戶需求是我們最優先順序。2.竭誠歡迎改變需求,甚至以處於開發後期亦然。敏捷流程掌控變更,以維護客戶的競爭優勢。3.經常交付可用的軟體,頻率可以是數週到數個月,以較短時間間隔為佳。4.業務人員與開發者必須在專案全程中天天一起工作。敏捷開發的12個原則5.用動機強的人來建構專案,給予他們適當的環境,充分的資源,並相信他們可完成工作。6.
4、開發團隊之內與團隊之間,效率最高效果最佳傳達資訊的方法是面對面的溝通。7.可用的軟體是最主要的進度量測方法。8.敏捷開發提倡能持續的開發步調。贊助者、開發人員以及使用者應當能維持一個可以穩定而恆久的步調。敏捷開發的12個原則9.持續追求優越的技術與優良的設計,以強化敏捷性。10.簡單化—如何擴大不需處理之工作的技巧—是不可或缺的。11.最佳的架構、需求與設計皆源自於自身組織良好的開發團隊。12.再規律的時間區隔中,開發團隊因應如何變得更有效率,然後據之適當地調整與修整自己的行為。AgileProcess-敏捷的開發流程Agile
5、Process(敏捷的開發流程)是一種軟體開發流程的泛稱,具有下列幾項共通的特性:客戶與開發人員形成密切合作的團隊,因為客戶無法於初期定義完整的規格,而開發人員於開發過程中也常常無法知悉外在環境或業務的變動,所以需要兩者密切合作方能開發適用的軟體。專案最終的目標是可執行的程式,因此所有的中間產品必須經過審慎評估,確認有助於最終目標,才需要製作中間產品。採用Iterative與Incremental方式分階段進行,密集review是否符合需求。流程可以簡單,但規劃與執行必須嚴謹。強調團隊合作,賦予高度的責任,團隊有自主權得以因應變化
6、做調整。AgileVS.Iterativedevelopment大部分敏捷的方法是共用遞迴開發所強調的方法:在短時間內建置出可釋出的軟體。敏捷的方法不同於遞迴的方法,軟體被量測的時間是在數週內,而不是數個月內。有高度密切的合作夥伴。AgileVS.Waterfall’smodelWaterfall’smodel固定的、沒有彈性的。很困難去達到互動。假如說需求沒有完全的被了解,或是可能需要完全地改變專案的需求,瀑布式的model是比較不適合的。Agile完整地開發,每少數幾週或是少數幾個月裡可以測試功能。強調在獲得最簡短的可執行功能
7、的部分,能夠及早給予企業價值。在整個專案的生命週期裡,可以持續的改善、增加未來的功能。AgileVS.CowboycodingCowboycoding團隊成員做他們覺得對的事。Agile常會再評估專案計畫強調面對面的溝通使用較少的文件這會引起使用cowboycoding的人覺得困擾敏捷的方法有一些我們已知的敏捷軟體開發方法ExtremeProgramming(XP)極限編程ScrumAgileModeling敏捷建模AdaptiveSoftwareDevelopment(ASD)自適應軟體開發CrystalClearandOthe
8、rCrystalMethodologies水晶方法DynamicSystemsDevelopmentMethod(DSDM)動態系統開發方法FeatureDrivenDevelopment(FDD)特性驅動開發Leansoftwaredevelop
此文档下载收益归作者所有