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