search for books and compare prices
Tables of Contents for A Practical Guide to Extreme Programming
Chapter/Section Title
Page #
Page Count
Foreword
Scott W. Ambler
xvii
Preface
xxi
Introduction
xxv
part I The Game
1
28
Extreme Principles
3
14
Work with Your Customers
3
1
Use Metaphors to Describe Difficult Concepts
4
1
Plan
5
1
Keep Meetings Short
6
1
Test First
7
1
Keep it Simple
8
1
Program in Pairs
9
1
Code to Standards
10
1
Own it Collectively
11
1
Integrate Continuously
12
1
Refactor
13
1
Release in Small Increments
13
1
Don't Burn Out (40-Hour Work Week)
14
1
Embrace Change
14
3
The Players
17
12
Two Teams
18
1
The Customer Team
18
3
The Development Team
21
5
The Role of Roles
26
1
Establishing Rights
26
1
Conclusion
27
2
part II Conceptualizing the System
29
36
Creating a Vision of the System
31
6
Conceptualizing the System
32
1
The Vision Card
33
1
The Metaphor
34
2
Metaphors for Development
36
1
Conclusion
36
1
Writing User Stories
37
12
The Philosophy of User Stories
38
1
User Stories
39
3
Numbering the Stack
42
1
Conclusion
43
3
Appendix to Chapter 4
46
3
Writing Acceptance Tests
49
8
What Is an Acceptance Test?
50
1
Writing Tests
50
4
Difficulty with Acceptance Tests
54
1
Infinitely Many Acceptance Tests
54
1
Automating Acceptance Tests
55
1
Conclusion
55
2
One Simple Solution
57
4
What Are We Looking for?
58
1
Keep It Simple
58
1
Conceptual Solution Spikes
59
1
Conclusion
60
1
Watching Our Words
61
4
The Problem
62
1
What's in a Name
62
1
Constant Refactoring and Communicating
63
1
Conclusion
63
2
part III Planning
65
32
Providing Estimates
69
6
Providing Estimates
70
1
Assumptions
71
1
Splitting
72
2
Planning Spikes
74
1
Conclusion
74
1
Planning Releases
75
8
Velocity
76
1
The Cost of the Release
77
1
Establishing Priorities
78
1
Pair Programming
79
1
Creating the Release Plan
80
2
Conclusion
82
1
Planning Iterations
83
6
Creating a Series of Iterations
84
1
The Setting for Iteration Planning
84
1
The First Iteration
85
1
Subsequent Iterations
86
1
Scheduling Iterations
87
1
Conclusion
88
1
Tactical Planning
89
8
Beginning an Iteration
90
2
Volunteering for Tasks
92
1
Standup Meetings
93
1
Tracking the Project
94
1
Finishing Early
95
1
Conclusion
95
2
part IV Development
97
84
Pair Programming
101
12
The Mechanics of Pair Programming
102
1
Development as a Conversation
102
2
Peer Pressure
104
1
Double the Fun
105
1
The Net Effect
105
3
As Fast as the Slowest
108
1
Conclusion
109
4
Test First
113
16
The XP Project
114
1
Why Test?
115
1
What to Test
115
1
When to Test
116
1
How to Test: A Testing Framework
117
2
Warranted Assumptions Revisited: Test Driven Development
119
2
Example
121
4
A Case for Test Driven Development
125
1
Conclusion
126
3
Design
129
18
Design and XP
130
3
Where Design Patterns Fit in XP
133
1
Architecture and XP
134
1
Agile Modeling
134
1
What is Agile Modeling (AM)?
134
3
Overview of the Values, Principles, and Practices of Agile Modeling (AM)
137
8
Conclusion
145
2
Code With Intention
147
12
What's in a Name
148
1
Simplicity is the Ultimate Complexity
149
1
Warranted Assumptions
150
1
Let the Compiler Tell You
151
1
``No Comment''
152
2
Collective Code Ownership
154
1
Better to Burn Out than to Fade Away?
155
1
Happy Developers Are Productive Developers
155
1
Get a Life
156
1
Conclusion
157
2
Refactoring
159
14
Examples of Refactorings
160
2
Courage
162
1
Code Smells
162
1
When to Refactor
163
1
The Two Hats
164
1
Refactoring to Patterns
164
1
Example of Refactoring
165
5
Conclusion
170
3
Relentless Integration
173
8
Some Practical Advice
175
1
Only Check in When Tests Pass at 100 Percent
175
1
An Antipattern
176
1
Approaches to Integration
177
1
What About Code Reviews
178
1
The Impact of Collective Code Ownership
178
1
Conclusion
179
2
part V Delivery
181
6
Delivering the System
183
4
Delivery Day
184
1
Productionizing
184
1
Testing
185
1
Celebrating Victories
186
1
part VI Additional Topics
187
22
Adopting and Adapting XP
189
8
Understanding XP
190
1
Adopting XP
191
1
Methods of Adoption
192
1
Adapting XP
193
1
XP Practices
194
1
Return on Investment
194
1
Conclusion
195
2
Scaling XP
197
6
Large-Scale Development
198
1
Organizing the Large XP Project
198
2
Open and Honest Communication
200
1
Integration
201
1
The Importance of Good People
201
1
Conclusion
202
1
The Future of XP
203
6
Where XP is Going
204
1
On to the Battlefield
204
1
A Holonic Approach to XP
205
2
Software Development as a Craft
207
1
Evolving XP
208
1
Appendix: Example
209
124
Bibliography
333
4
Index
337
<