国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
敏捷軟件開發(fā)圖書概覽

敏捷軟件開發(fā)宣言:我們正在通過親身實(shí)踐和幫助其他人實(shí)踐,揭示更好的軟件開發(fā)方法,通過這項(xiàng)工作,我們認(rèn)為:

人和交流勝過過程和工具

可工作的軟件勝過面面俱到的文檔

客戶協(xié)作勝過合同談判

響應(yīng)變化勝過遵循計(jì)劃

雖然右項(xiàng)也有價(jià)值,但是我們認(rèn)為左項(xiàng)更重要。

—— Kent Beck,Mike BeedleArie van Bennekum,Alistair CockburnWard Cunningham,Martin Fowler,James GrenningJim Highsmith,Andrew Hunt,Ron Jeffries,Jon KernBrian Marick, Robert C. Martin,Steve MellorKen Schwaber,Jeff Sutherland,Dave Thomas

 

敏捷軟件開發(fā)這個(gè)詞在2006年的中國(guó)軟件界聽起來仍然顯得有些陌生。自2001年敏捷聯(lián)盟被發(fā)起以來,敏捷方法的實(shí)踐經(jīng)驗(yàn)和理論研究都在不斷的更新。而我國(guó)的大多數(shù)程序員還是只能在書本上讀到敏捷的好處,很難在項(xiàng)目中進(jìn)行實(shí)踐。這其中的原因,主要是缺乏擁有實(shí)際敏捷項(xiàng)目經(jīng)驗(yàn)的人來帶領(lǐng)實(shí)施敏捷。雖然敏捷開發(fā)是種實(shí)踐行為,很難從書本上直接學(xué)習(xí),不過多數(shù)程序員了解敏捷,卻都是先從書本開始的。無論結(jié)果怎樣,從認(rèn)識(shí)到實(shí)踐的過程是免不了的。

 

敏捷軟件開發(fā)之方法論篇

大家都知道敏捷軟件開發(fā)方法包括了多種方法論,主要有:SCRUM,Crystal,特征驅(qū)動(dòng)軟件開發(fā)(FDD),自適應(yīng)軟件開發(fā)(ASD),以及最著名的極限編程(XP)。這些方法論分別在不同的著作上專門論述過:

SCRUM:《Agile Software Development with Scrum by Ken Schwaber, Mike Beedle,《Agile Project Management With Scrumby Ken Schwaber

FDD:Java Modeling in Color with UMLby Peter Coad, A Practical Guide to Feature-Driven Development(特征驅(qū)動(dòng)開發(fā)) by Stephen R Palmer, John M. Felsing,

Crystal: Crystal Clearby Alistair Cockburn

ASD: Adaptive Software Development》(自適應(yīng)軟件開發(fā))by James A. Highsmith

 

其中尤以XP系列的書籍居多。人民郵電出版社的一系列極限編程系列叢書,在國(guó)內(nèi)引進(jìn)較早。在還沒有統(tǒng)一敏捷詞匯的情況下,引發(fā)了一批敏捷先鋒人士的熱情,是我國(guó)程序員的敏捷啟蒙教材。這些書包括《Extreme Programming Explained》(解析極限編程),《Extreme Programming Examined》(極限編程研究),《Extreme Programming Installed(極限編程實(shí)施),《Extreme Programming Explored》(探索極限編程),《Extreme Programming Applied》(應(yīng)用極限編程)《Extreme Programming in Practice》(極限編程實(shí)踐),《Planning Extreme Programming》(規(guī)劃極限編程)等,這些書有的是作者的XP實(shí)踐論文,有些是對(duì)XP項(xiàng)目的介紹,其中,值得推薦的是下面兩部著作。

 

Extreme Programming Explained: Embrace Changeby Kent Beck

第一版中譯版:《解析極限編程:擁抱變化》,唐東銘,人民郵電出版社

第二版中譯版:雷劍文,電子工業(yè)出版社

作為XP的開山之作,目前已經(jīng)出版了第二版。在第一版中,Kent Beck對(duì)XP作了詳細(xì)的描述。從當(dāng)前軟件開發(fā)的現(xiàn)狀和問題談起,從需求的變化到如何擁抱變化,給出了XP的四項(xiàng)價(jià)值觀和十二項(xiàng)實(shí)踐。對(duì)于想了解敏捷的來龍去脈的人,此書屬于必讀之類。在第二版,Kent根據(jù)幾年來的實(shí)踐,為XP增加了一項(xiàng)價(jià)值觀:尊重,并增加了原則的概念,同時(shí)增加和刪改了一些實(shí)踐。

該書第一版是程序員的宣言,這和Kent的背景很有關(guān)系。隨后XP經(jīng)歷了五六年的發(fā)展和實(shí)踐,Kent自己也逐漸意識(shí)到,這樣的觀點(diǎn)太狹隘了。因此就有了第二版,與其說這是技術(shù)書籍,到更像是純粹意義的軟工書籍。期間也可以看出XP的體系更加完備。這其中尤為突出的是把人放到了更為重要的地位。

 

Extreme Programming in Practiceby James Newkirk, Robert C. Martin

中譯版:《極限編程實(shí)踐》,王鈞,人民郵電出版社

讀過了一些列的XP書籍,程序員們都會(huì)覺得XP非常好,但到底如何才能開始實(shí)施XP呢?還不是太清楚。本系列中的這本書用一個(gè)完整的小項(xiàng)目作例子,從頭到尾教給人如何敏捷開發(fā),是一本不可多得的實(shí)踐教材。如果想直接實(shí)施XP開發(fā),這本書可以給你很大啟示。

 

 

敏捷軟件開發(fā)之實(shí)踐篇

一、極限編程最佳實(shí)踐

由于極限編程是如此的流行,多數(shù)敏捷團(tuán)隊(duì)都會(huì)或多或少的借鑒一些XP中的敏捷實(shí)踐,而XP的每一個(gè)敏捷實(shí)踐也確實(shí)值得大書特書,而其中最著名的是測(cè)試驅(qū)動(dòng)開發(fā)和重構(gòu)實(shí)踐:

 

Test-Driven Development by Kent Beck

中譯版:《測(cè)試驅(qū)動(dòng)開發(fā)》,崔凱,中國(guó)電力出版社

測(cè)試驅(qū)動(dòng)開發(fā)是Kent Beck另一部力作。“Clean Code That Works”是敏捷開發(fā)的目標(biāo)之一,那么如何達(dá)到這個(gè)目標(biāo)?TDD給出了一種方式。測(cè)試實(shí)質(zhì)上是需求。由需求產(chǎn)生出的代碼肯定是能夠工作的功能代碼,而要實(shí)現(xiàn)Class本身的可測(cè)試性,就不得不寫出高度解耦合的Clean的代碼。本書從一個(gè)Money的例子入手,從最初的一點(diǎn)需求開始,逐步增加需求,完成整個(gè)貨幣系統(tǒng)的代碼。后面又給出了Unit Test中的一些最佳實(shí)踐和模式供參考。

然而,本書的教導(dǎo)意義比其實(shí)踐意義更突出。作為一本TDD的教程或入門教材,這本書無疑是最佳的,其中提出的一些最佳實(shí)踐更是值得經(jīng)常閱讀來溫習(xí)。本書面向的是單元測(cè)試,而實(shí)際開發(fā)中面對(duì)的數(shù)據(jù)庫測(cè)試,Web測(cè)試等問題并不屬于單元測(cè)試的范疇。因此讀者并不能從中直接進(jìn)入到實(shí)戰(zhàn)。

另一本同名書《Test Driven Development: A Practical Guide》由Davis Astels撰寫,他將該書看作是Kent著作的補(bǔ)充,重點(diǎn)闡述利用TDD開發(fā)所必要的技術(shù)和工具上,因此對(duì)實(shí)際開發(fā)更具實(shí)用性。

 

Refactoring: Improving the Design of Existing Codeby Martin Fowler

中譯版:《重構(gòu):改善既有代碼的設(shè)計(jì)》,侯捷,熊節(jié),中國(guó)電力出版社

重構(gòu)這本書的意義在于,他提供了一種讓你寫出更加優(yōu)美代碼的能力。在測(cè)試的保證下,重構(gòu)能夠發(fā)揮強(qiáng)大的威力。敏捷團(tuán)隊(duì)中,不斷的重構(gòu)出簡(jiǎn)單且高效的代碼才能夠保持擁抱不斷變化的需求。后來的一本書《Refactoring to Patterns》(從重構(gòu)到模式)by Joshua Kerievsky,更是將重構(gòu)的威力發(fā)揮到極限。

重構(gòu)曾被稱為軟件開發(fā)圖書的雙璧,另一本書是《Design Patterns(設(shè)計(jì)模式) by GoF。當(dāng)然,對(duì)現(xiàn)在的軟件開發(fā)這二者已經(jīng)不是最重要的。ThoughtWorks的首席科學(xué)家Martin Fowler總結(jié)了朋友們的各種實(shí)踐心得,寫出了這本書。從幾年后的目光來看,這本書中的多數(shù)實(shí)踐都被各種IDE做到了操作菜單中。雖然IDE提供了大量重構(gòu)功能,但僅靠IDE是無法寫出簡(jiǎn)潔美妙代碼的,多數(shù)的敏捷團(tuán)隊(duì)重構(gòu)工作做得還是不夠。

 

另外有一本專門介紹結(jié)對(duì)編程的書,《Pair Programming Illuminated》(結(jié)對(duì)編程技術(shù))by by Laurie Williams and Robert Kessler,指出了為什么要結(jié)對(duì)?并從各種不同水平不同性格的程序員結(jié)對(duì)情況來討論該實(shí)踐的優(yōu)劣。對(duì)此有興趣的程序員不妨一讀。

 

二、敏捷軟件開發(fā)實(shí)踐

自從2001年敏捷聯(lián)盟成立以來,單獨(dú)推廣極限編程的書變少了,而統(tǒng)一口徑推廣敏捷的書變得越來越多。兩本同名的敏捷軟件開發(fā)都是不可多得的好書,

 

Agile Software DevelopmentPrinciples, Patterns, and Practicesby Robert C. Martin

中譯版:《敏捷軟件開發(fā):原則,模式與實(shí)踐》,鄧輝,清華大學(xué)出版社

被業(yè)內(nèi)人士稱為Uncle BobRobert C Martin在沉寂幾年后寫出了這部書。該書可以算是從軟件開發(fā)角度對(duì)敏捷方法闡述的最詳細(xì)和全面的一本。之前的敏捷書籍多是關(guān)注于過程改進(jìn),而對(duì)如何從技術(shù)角度實(shí)施講的比較少。本書一開始先介紹了敏捷聯(lián)盟和敏捷開發(fā)過程。之后詳細(xì)論述了面向?qū)ο笤O(shè)計(jì)的原則,這些原則是本書的精華之一。后面通過幾個(gè)項(xiàng)目介紹了如何將設(shè)計(jì)模式應(yīng)用于項(xiàng)目中。

Uncle Bob不愧是實(shí)踐的大師,寫出來的書也是擁有很強(qiáng)的實(shí)踐意義。在敏捷團(tuán)隊(duì)的辦公桌上,應(yīng)當(dāng)常備此書,一來可作為參考查詢,二來可以作為新成員的必讀書目。

 

Agile Software Developmentby Alistair Cockburn

中譯版:《敏捷軟件開發(fā)》,俞涓,人民郵電出版社

這本書更加適合管理者來閱讀。Alistair從項(xiàng)目人數(shù)和交流難易程度,將敏捷的各種方法劃分了其適用范圍。人數(shù)多的或分布式項(xiàng)目就需要靠其他手段來加強(qiáng)交流,人數(shù)少的就可以靠pair programming等進(jìn)行面對(duì)面的交流。交流和反饋是敏捷的核心。同時(shí)Alistair也介紹了一下他提出的Crystal方法族。

 

.敏捷項(xiàng)目管理和敏捷需求分析

在推廣敏捷一段時(shí)間后,敏捷社群也意識(shí)到,多數(shù)書籍更像是面向開發(fā)人員,過于技術(shù)化,難以吸引項(xiàng)目經(jīng)理或主管。因此,一批面向管理者視角的書也開始浮出水面,這些書包括:

Agile and Iterative Development》(敏捷迭代開發(fā))by Craig Larman

Lean Software Development》(敏捷軟件開發(fā)工具精益開發(fā)方法by Mary Poppendieck

Agile Software Development Ecosystems》(敏捷軟件開發(fā)生態(tài)系統(tǒng))by Jim Highsmith

書中從各種角度比較和分析各種敏捷方法的優(yōu)劣,異同,起源,適用范圍等。這些書對(duì)于一個(gè)項(xiàng)目主管決策使用何種過程來在自己的團(tuán)隊(duì)中實(shí)踐敏捷有很好的參考作用。

 

近兩年,人們開始逐漸意識(shí)到敏捷開發(fā)的側(cè)重點(diǎn)不僅僅是開發(fā)過程和開發(fā)實(shí)踐,還包括對(duì)需求和項(xiàng)目管理等其他相關(guān)方面的實(shí)踐。一些相關(guān)的書籍也悄然出現(xiàn)在人們的視野:

Agile Project Management》(敏捷項(xiàng)目管理)by Jim Highsmith

User Stories Appliedby Mike Cohn

Agile Estimating and Planningby Mike Cohn

Agile Requirements & User Stories by Louis Molnar

這些書不同于以往強(qiáng)調(diào)新方法,新過程的書目。敏捷項(xiàng)目管理類的書主要介紹如何管理敏捷團(tuán)隊(duì),如何計(jì)劃要開發(fā)的需求,如何為客戶提供最大的價(jià)值。介紹敏捷需求分析的書主要幫助商務(wù)分析師或項(xiàng)目經(jīng)理挖掘和分析用戶需求,寫出用戶故事,評(píng)估和計(jì)劃用戶故事等。人們已經(jīng)意識(shí)到,各種方法論的實(shí)質(zhì)是相同的,都是提供商業(yè)價(jià)值,減少浪費(fèi),增加交流,快速反饋。因此不需要著重于區(qū)分是使用了那種方法。對(duì)項(xiàng)目經(jīng)理來說,不同的項(xiàng)目或團(tuán)隊(duì)?wèi)?yīng)當(dāng)采用適應(yīng)其特殊情況的方法,而這些方法的基本原則是相同的。

 

.敏捷軟件開發(fā)新方向

對(duì)架構(gòu)師或程序員來說,近年來的技術(shù)進(jìn)展,也使得敏捷開發(fā)有了新的研究方向:

Agile Web Development with Railsby Dave Thomas, David Hansson, Leon Breedt, and Mike Clark

該書是獲得2006JOLT獎(jiǎng)的書,講得是采用Ruby on Rails這個(gè)Web開發(fā)工具新貴來快速開發(fā)Web項(xiàng)目,從而達(dá)到快速反饋擁抱變化的目的。

Refactoring Databasesby Scott W Ambler

此書是Scott的新作,延續(xù)和繼承了《Agile Modeling》(敏捷建模)和《Agile Database Techniques》(敏捷數(shù)據(jù))的思想。在敏捷開發(fā)過程中,作為持久化最常見技術(shù)的數(shù)據(jù)庫如果不能夠敏捷,怎么能夠適應(yīng)一次次迭代和一次次發(fā)布的修改呢?書中介紹了如何進(jìn)行數(shù)據(jù)庫演化,如何保證升級(jí)后數(shù)據(jù)庫數(shù)據(jù)的正確性,以及最佳實(shí)踐。

 

我們可以看到,隨著敏捷方法和市場(chǎng)的不斷成熟,敏捷的書籍也從理論性轉(zhuǎn)向了實(shí)用和最佳實(shí)踐類型。然而,不可否認(rèn)的是,一個(gè)團(tuán)隊(duì)的敏捷化很難僅靠閱讀書本來完成,由成功實(shí)踐過敏捷的開發(fā)者手把手的帶領(lǐng),才是最好的方法。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
InfoQ: NMHU敏捷開發(fā)學(xué)習(xí)班體驗(yàn)報(bào)告
Scrum中文網(wǎng)_敏捷起源以及敏捷創(chuàng)始人的傳記
一起分享 一起成長(zhǎng)
從張小龍的敏捷管理說起,一篇文章讀懂敏捷認(rèn)知與實(shí)踐
敏捷開發(fā)方法
什么是敏捷開發(fā)?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服