第 1 章 極限編程 1
極限編程是一門軟件開發(fā)學科, 它具有使用便捷. 易于溝通. 反饋性強及振奮人心的特性. 極限編程側重于客戶. 管理者及程序員的角色, 并授予擁有這些角色的工作人員重要的權利和責任.
第 2 章 生命周期 13
當客戶根據(jù)團隊交付程序功能的準確進度, 確定要實現(xiàn)的業(yè)務價值后, XP項目就成功了.
第 3 章 現(xiàn)場客戶 17
XP項目需要全職客戶來提供現(xiàn)場指導. 下面部分總結了其中的原因.
第 4 章 用戶故事 23
使用書寫在卡片上的故事來定義需求.
第 5 章 驗收測試 33
當然, 不能想當然地認為已實現(xiàn)了需求, 要證明它是可行的!驗收測試使得客戶可知道系統(tǒng)何時能運行, 并告知程序員需要做什么工作.
驗收測試示例 37
起初, 規(guī)劃驗收測試很困難. 但只要通過一些實踐, 這便會很簡單.
第 6 章 故事估算 39
客戶需要知道故事的成本, 以選擇先實現(xiàn)哪些故事, 而將其他故事推遲. 程序員對故事進行評估, 以提供這種信息. 下面介紹如何進行評估.
插曲:成就感 49
XP的嵌套規(guī)劃編程周期保證了項目的正常進度, 并不時地提供成就感.
第 7 章 小型發(fā)布 53
XP周期的最外層是發(fā)布. 小規(guī)模. 頻繁地發(fā)布為客戶提供了先期利益, 同時為程序員提供了先期反饋. 下面是就如何發(fā)布的一些看法.
第 8 章 客戶定義發(fā)布 59
在每一個發(fā)布周期內(nèi), 客戶負責控制發(fā)布范圍, 決定先做什么后做什么, 以在規(guī)定的日期內(nèi)提供最佳的版本. 工作安排要依據(jù)業(yè)務價值. 難度和團隊的實施速度.
第 9 章 迭代規(guī)劃 67
在每一個發(fā)布中, XP團隊一次只規(guī)劃幾周, 因此目標明確. 估算可靠.
第 10 章 快速設計會議 75
在每個迭代中, 程序員都不是孤立的. 下面的技巧能幫助程序員大膽前行. 請將該技巧作為團隊準則.
第 11 章 編 程 77
畢竟, 這稱為極限編程, 下面介紹如何進行編程.
代碼質量 91
簡單性:加上一些更加符合我們內(nèi)心的.
第 12 章 結對編程 95
對于XP團隊, 所有的生產(chǎn)代碼是由兩位程序員坐在同一臺電腦前共同完成的.
第 13 章 單元測試 101
XP使用自動化測試來測試所有可能出現(xiàn)問題的地方, 這種測試必須在任何時候都能運行.
xUnit 115
使用世界上最輕便的測試工具
第 14 章 測試先行. 表達意圖 117
按需求去編寫代碼, 不要在乎如何編寫. Chet和Ron進行小型任務測試時, 總是在代碼中表達意圖, 而不是算法.
第 15 章 發(fā)布變更 135
通過代碼集體擁有和詳盡的單元測試, XP團隊能夠快捷. 可靠地發(fā)布變更.
第 16 章 做或不做 143
至此介紹很多關于XP編程方面的內(nèi)容. 下面對應該做什么和不應該不做什么進行總結.
第 17 章 經(jīng)驗改善估算 147
在每一個迭代中, 我們都能獲得經(jīng)驗. 故事方面的經(jīng)驗將幫助我們對將來的故事做出更容易. 更準確的估算.
第 18 章 資源. 范圍. 質量. 時間 151
誰做什么工作?已完成了多少?質量怎么樣?我們什么時候能做完?我們應該保持什么樣的度量標準?
第 19 章 指 導 163
估算發(fā)生了錯誤. 優(yōu)先級可能發(fā)生變化. 你必須進行指導.
第 20 章 指導迭代 167
為指導每次迭代, 你需要跟蹤正在進行的故事數(shù)目以及對任務估算的準確程度.
第 21 章 指導發(fā)布 173
為指導發(fā)布, 需要針跟蹤哪些任務已完成. 進度有多快以及系統(tǒng)的運行情況.
第 22 章 處理缺陷 177
報告缺陷. 制定缺陷修復計劃. 測試并修復缺陷. 避免缺陷. 不要把缺陷稱為bug.
高級主題:缺陷數(shù)據(jù)庫 183
高級準則:缺陷數(shù)據(jù)庫 187
第 23 章 結束語 189
附加內(nèi)容 193
下面是一些我們付出了很大的代價才學到的知識, 您購買來本書, 我們想給您提供一些額外的內(nèi)容. 謝謝您, 但愿我們滿足了您的要求.
第 24 章 我們將盡力 195
“我們將盡力”可能是程序員說的最悲哀的一句話, 我們中的很多人還不止說過一次. 前面已經(jīng)以其他的形式介紹了這方面的內(nèi)容, 但有必要在這里重申.
第 25 章 如何估算任何東西 205
有時候, 估算故事是很可怕的. 這時候要保持頭腦清醒, 集合人員, 將故事分分割. 對于你將能做到的事情, 你將感到十分吃驚.
第 26 章 基礎設施 209
首先建立所需的數(shù)據(jù)庫如何?基本框架呢?語法制導命令編輯器呢?先忽略它們!
第 27 章 這是Chet的錯 213
你正在尋找責任承擔者嗎?本章闡述如何查明是誰犯了錯. 現(xiàn)在繼續(xù)工作, 解決你的問題.
第 28 章 在希望和恐懼間取得平衡 215
那些聽過Ron. Ann和我介紹XP的讀者可能會問, 有爭斗的故事在哪. 噢!這就有一個.
第 29 章 測試完善代碼 219
下面的例子演示了如何編寫測試來幫助完善代碼.
第 30 章 XP成員嘗試JAVA 223
在C3項目結束后, 大多數(shù)XP成員轉而從事企業(yè)人力資源內(nèi)部網(wǎng)的工作. 我發(fā)現(xiàn)在新的工作項目中, 他們利用XP原則以改善自己的生活, 這令人振奮!下面介紹Rich Garzaniti-C3項目的成員. 忠實的XP成員, 是怎樣在一個全新的工作環(huán)境中引入測試和其他現(xiàn)代開發(fā)工具.
第 31 章 從Java語言 233
我們非常感謝Bill Wake同意本書引用他的文章. 這是其“XP測試/編碼周期”系列中的第二篇. 他的網(wǎng)址是http//users.vnet.net/wwake, 其中包含了全部系列文章和其他一些有用的內(nèi)容.
第 32 章 一個真實的故事 251
Ron Jeffries學習簡化方面的知識
第 33 章 估算和承諾 255
我們估算項目需要多長時間, 并承諾告知實情.
第 34 章 每個地方都可能出錯 259
測試每一個可能出錯的地方, 這意味著什么?又怎么可能呢?
編后記 269
參考文獻 273