敏捷軟件開發圖書概覽_第1頁
敏捷軟件開發圖書概覽_第2頁
敏捷軟件開發圖書概覽_第3頁
敏捷軟件開發圖書概覽_第4頁
敏捷軟件開發圖書概覽_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、敏捷軟件開發圖書概覽本文發表于程序員雜志 2006年第 5 期“敏捷軟件開發宣言: 我們正在通過親身實踐和幫助其他人實踐, 揭示更好的軟 件開發方法,通過這項工作,我們認為: <o:p></o:p>人和交流勝過過程和工具 <o:p></o:p>可工作的軟件勝過面面俱到的文檔 <o:p></o:p>客戶協作勝過合同談判 <o:p></o:p>響應變化勝過遵循計劃 <o:p></o:p>雖然右項也有價值,但是我們認為左項更重要。 ”<o:p></o:p>

2、Kent Beck , Mike Beedle , Arie van Bennekum , AlistairCockburn , Ward Cunningham , Martin Fowler , James Grenning , Jim Highsmith , Andrew Hunt , Ron Jeffries , Jon Kern , Brian Marick , Robert C. Martin , Steve Mellor , Ken Schwaber , Jeff Sutherland , Dave Thomas<o:p></o:p><o:p>

3、</o:p>敏捷軟件開發這個詞在 2006 年的中國軟件界聽起來仍然顯得有些陌生。 自 2001 年 敏捷聯盟被發起以來,敏捷方法的實踐經驗和理論研究都在不斷的更 新。而我國的大多數程序員還是只能在書本上讀到敏捷的好處, 很難在項目中進 行實踐。這其中 的原因,主要是缺乏擁有實際敏捷項目經驗的人來帶領實施敏 捷。雖然敏捷開發是種實踐行為, 很難從書本上直接學習, 不過多數程序員了解 敏捷,卻都是先從書本 開始的。無論結果怎樣,從認識到實踐的過程是免不了 的。 <o:p></o:p><o:p> </o:p>敏捷軟件開發之方法論篇 <

4、;o:p></o:p>大家都知道敏捷軟件開發方法包括了多種方法論,主要有: SCRUM , Crystal, 特征驅動軟件開發( FDD ),自適應軟件開發( ASD ),以及最著 名的極限編程 (XP) 。這些方法論分別在不同的著作上專門論述過: <o:p></o:p>SCRUM : Agile Software Development with Scrum by Ken Schwaber, Mike Beedle , Agile Project Management With Scrum by Ken Schwaber<o:p><

5、/o:p>FDD: Java Modeling in Color with UML by Peter Coad, A Practical Guide to Feature-Driven Development ( 特征驅動開發 ) by Stephen R Palmer, John M. Felsing,<o:p></o:p>Crystal: Crystal Clear by Alistair Cockburn<o:p></o:p>ASD: Adaptive Software Development (自適應軟件開發) by James A

6、. Highsmith<o:p></o:p> <o:p> </o:p>其中尤以 XP 系列的書籍居多。人民郵電出版社的一系列極限編程系列叢 書,在國內引進較早。 在還沒有統一敏捷詞匯的情況下, 引發了一批敏捷先鋒人 士的熱情, 是我國程序員的敏捷啟蒙教材。 這些書包括 Extreme Programming Explained (解析極限編程), Extreme Programming Examined (極 限編程研究), Extreme Programming Installed ( 極限編程實施 ) , Extreme Programmin

7、g Explored (探索極限編程), Extreme Programming Applied (應用極限編程) Extreme Programming in Practice (極限編程實踐) , Planning Extreme Programming (規劃極限編程)等, 這些書有的是作者的 XP 實踐論文,有些是對 XP 項目的介紹,其中,值得推 薦的是下面兩部著作。 <o:p></o:p><o:p> </o:p> Extreme Programming Explained: Embrace Change by Kent Beck<

8、;o:p></o:p>第一版中譯版:解析極限編程:擁抱變化, 唐東銘, 人民郵電出版社 <o:p></o:p>第二版中譯版: 雷劍文,電子工業出版社 <o:p></o:p>作為XP的開山之作,目前已經出版了第二版。在第一版中,Kent Beck對 XP 作了詳細的描述。從當前軟件開發的現狀和問題談起,從需求的變化到如何 擁抱變化,給出了 XP 的四項價值觀和十二項實踐。對于想了解敏捷的來龍去 脈的人,此書屬于必讀之類。在第二版, Kent 根據幾年來的實踐,為 XP 增 加了一項價值觀:尊重,并增加了原則的概念,同時增加和刪改了

9、一些實踐。 <o:p></o:p>該書第一版是程序員的宣言, 這和 Kent 的背景很有關系。 隨后 XP 經歷了 五六年的發展和實踐, Kent 自己也逐漸意識到, 這樣的觀點太狹隘了。 因此就 有了第二版, 與其說這是技術書籍, 到更像是純粹意義的軟工書籍。 期間也可以 看出 XP 的體系更加完備。這其中尤為突出的是把人放到了更為重要的地位。 <o:p></o:p><o:p> </o:p> Extreme Programming in Practice by James Newkirk, Robert C. Marti

10、n<o:p></o:p>中譯版:極限編程實踐, 王鈞, 人民郵電出版社 <o:p></o:p>讀過了一些列的 XP 書籍,程序員們都會覺得 XP 非常好,但到底如何才能 開始實施 XP 呢?還不是太清楚。本系列中的這本書用一個完整的小項目作例 子,從頭到尾教給人如何敏捷開發, 是一本不可多得的實踐教材。 如果想直接實 施 XP 開發,這本書可以給你很大啟示。 <o:p></o:p><o:p> </o:p><o:p> </o:p>敏捷軟件開發之實踐篇 <o:p>&l

11、t;/o:p>一、極限編程最佳實踐 <o:p></o:p>由于極限編程是如此的流行, 多數敏捷團隊都會或多或少的借鑒一些 XP 中 的敏捷實踐,而 XP 的每一個敏捷實踐也確實值得大書特書,而其中最著名的 是測試驅動開發和重構實踐: <o:p></o:p><o:p> </o:p> Test-Driven Development by Kent Beck<o:p></o:p> 中譯版:測試驅動開發, 崔凱,中國電力出版社 <o:p></o:p>測試驅動開發是 Kent B

12、eck 另一部力作。 “ CleanCode That Works” 是敏 捷開發的目標之一, 那么如何達到這個目標? TDD 給出了一種方式。 測試實質 上是需求。由需求產生出的代碼肯定是能夠工作的功能代碼, 而要實現 Class 本 身的可測試性, 就不得不寫出高度解耦合的 Clean 的代碼。本書從一個 Money 的例子入手,從最初的一點需求開始, 逐步增加需求, 完成整個貨幣系統的代碼。 后面又給出了 Unit Test 中的一些最佳實踐和模式供參考。 <o:p></o:p>然而,本書的教導意義比其實踐意義更突出。作為一本 TDD 的教程或入門 教材,這本書無

13、疑是最佳的, 其中提出的一些最佳實踐更是值得經常閱讀來溫習。 本書面向的是單元測試, 而實際開發中面對的數據庫測試, Web 測試等問題并 不屬于單元測試的范疇。因此讀者并不能從中直接進入到實戰。 <o:p></o:p>另一本同名書 Test Driven Development: A Practical Guide 由 Davis Astels 撰寫,他將該書看作是 Kent 著作的補充, 重點闡述利用 TDD 開發所必 要的技術和工具上,因此對實際開發更具實用性。 <o:p></o:p><o:p> </o:p> Ref

14、actoring: Improving the Design of Existing Code by Martin Fowler<o:p></o:p>中譯版:重構:改善既有代碼的設計,侯捷,熊節,中國電力出版社 <o:p></o:p>重構這本書的意義在于,他提供了一種讓你寫出更加優美代碼的能力。在測 試的保證下, 重構能夠發揮強大的威力。 敏捷團隊中,不斷的重構出簡單且高效 的代碼才能夠保持擁抱不斷變化的需求。后來的一本書 Refactoring to Patterns (從重構到模式) by Joshua Kerievsky ,更是將重構的威力

15、發揮到 極限。 <o:p></o:p>重構曾被稱為軟件開發圖書的雙璧, 另一本書是 Design Patterns ( 設 計模式 ) by GoF 。當然,對現在的軟件開發這二者已經不是最重要的。 Thought Works 的首席科學家 Martin Fowler 總結了朋友們的各種實踐心得, 寫出了這本書。從幾年后的目光來看,這本書中的多數實踐都被各種 IDE 做到 了操作菜單中。雖然 IDE 提供了大量重構功能,但僅靠 IDE 是無法寫出簡潔 美妙代碼的,多數的敏捷團隊重構工作做得還是不夠。 <o:p></o:p><o:p>

16、</o:p>另外有一本專門介紹結對編程的書, Pair Programming Illuminated (結 對編程技術) by by Laurie Williams and Robert Kessler ,指出了為什么要結 對?并從各種不同水平不同性格的程序員結對情況來討論該實踐的優劣。 對此有 興趣的程序員不妨一讀。 <o:p></o:p><o:p> </o:p>二、敏捷軟件開發實踐 <o:p></o:p>自從 2001 年敏捷聯盟成立以來, 單獨推廣極限編程的書變少了, 而統一口 徑推廣敏捷的書變得越來越

17、多。兩本同名的敏捷軟件開發都是不可多得的好書, <o:p></o:p> <o:p> </o:p> Agile Software Development : Principles, Patterns, and Practices by Robert C. Martin<o:p></o:p>中譯版:敏捷軟件開發:原則,模式與實踐,鄧輝, 清華大學出版社 <o:p></o:p>被業內人士稱為 Uncle Bob 的 Robert C Martin 在 沉寂幾年后寫出了這部書。該書可以算是從軟件開發角度對敏

18、捷方法闡述的最詳細和全面的一本。 之前的敏捷書籍多是關注于過程改進,而對如何從技術角度實施講 的比較少。本書 一開始先介紹了敏捷聯盟和敏捷開發過程。之后詳細論述了面向對象設計的原 則,這些原則是本書的精華之一。后面通過幾個項目介紹了如何將設計 模式應 用于項目中。 <o:p></o:p>Uncle Bob 不愧是實踐的大師,寫出來的書也是擁有很強的實踐意義。在敏 捷團隊的辦公桌上, 應當常備此書, 一來可作為參考查詢, 二來可以作為新成員 的必讀書目。 <o:p></o:p><o:p> </o:p> Agile Softw

19、are Development by Alistair Cockburn<o:p></o:p>中譯版:敏捷軟件開發,俞涓,人民郵電出版社 <o:p></o:p>這本書更加適合管理者來閱讀。 Alistair 從項目人數和交流難易程度,將敏 捷的各種方法劃分了其適用范圍。 人數多的或分布式項目就需要靠其他手段來加 強交流,人數少的就可以靠 pair programming 等進行面對面的交流。交流和反 饋是敏捷的核心。同時 Alistair 也介紹了一下他提出的 Crystal 方法族。 <o:p></o:p><o:p

20、> </o:p>三 . 敏捷項目管理和敏捷需求分析 <o:p></o:p>在推廣敏捷一段時間后, 敏捷社群也意識到, 多數書籍更像是面向開發人員, 過于技術化, 難以吸引項目經理或主管。 因此,一批面向管理者視角的書也開始 浮出水面,這些書包括: <o:p></o:p> Agile and Iterative Development (敏捷迭代開發) by Craig Larman<o:p></o:p> Lean Software Development ( 敏捷 軟件開發工具 精益開發方法 ) by M

21、ary Poppendieck<o:p></o:p> Agile Software Development Ecosystems ( 敏捷軟件開發生態系統) by Jim Highsmith<o:p></o:p>書中從各種角度比較和分析各種敏捷方法的優劣, 異同,起源,適用范圍等。 這些書對于一個項目主管決策使用何種過程來在自己的團隊中實踐敏捷有很好 的參考作用。 <o:p></o:p>近兩年,人們開始逐漸意識到敏捷開發的側重點不僅僅是開發過程和開發實 踐,還包括對需求和項目管理等其他相關方面的實踐。 一些相關的書籍也悄然

22、出 現在人們的視野: <o:p></o:p> Agile Project Management (敏捷項目管理) by Jim Highsmith<o:p></o:p> User Stories Applied by Mike Cohn<o:p></o:p> Agile Estimating and Planning by Mike Cohn<o:p></o:p> Agile Requirements & User Stories by Louis Molnar<o:p></o:p>這 些書不同于以往強調新方法,新過程的書目。敏捷項目管理類的書主要 介紹如何管理敏捷團隊,如何計劃要開發的需求,如何為客戶提供最大的價值。 介紹敏捷需求 分析的書主要幫助商務分析師或項目經理挖掘和分析用戶需求, 寫出用戶故事, 評估和計劃用戶故事等。 人們已經意識到, 各種方法論的實質是 相同的,都是提供商 業價值,減少浪費,增加交流,快速反饋。因此不需要著 重于區分是使用了那種方法。 對項目經理來說, 不同的項目或團隊應當采用適應 其特

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論