CHAPTER 1: FIRST PRINCIPLES 1
When Bad Things Happen to Good Projects 5
Establishing a Project's Focus 9
Understanding a Project's Culture 11
The Five Habits of Successful Object-Oriented Projects 22
Issues in Managing Object-Oriented Projects 29
CHAPTER 2: PRODUCTS AND PROCESS 33
In Search of Excellent Objects 37
Object-Oriented Architectures 43
The Artifacts of a Software Project 54
Establishing a Rational Design Process 63
CHAPTER 3: THE MACRO PROCESS 69
The One-Minute Methodology 74
Conceptualization 80
Analysis 86
Design 108
Evolution 129
Maintenance 151
CHAPTER 4: THE MICRO PROCESS 155
I'm OK, My Program's OK 159
Identifying Classes and Objects 161
Identifying the Semantics of Classes and Objects 167
Identifying Relationships Among Classes and Objects 174
Implementing Classes and Objects 181
CHAPTER 5: THE DEVELOPMENT TEAM 185
Managers Who Hate Programmers, and the Programmers
Who Work For Them 191
Roles and Responsibilities 194
Resource Allocation 206
Technology Transfer 212
Tools for the Worker 219
CHAPTER 6: MANAGEMENT AND PLANNING 225
Everything I Need to Know I'll Learn In My Next Project 229
Managing Risk 231
Planning and Scheduling 233
Costing and Staffing 236
Monitoring, Measuring, and Testing 237
Documenting 239
Projects in Crisis 244
CHAPTER 7: SPECIAL TOPICS 247
What They Don't Teach You in Programming Class 252
User-centric Systems 254
Data-centric Systems 257
Computation-centric Systems 260
Distributed Systems 262
Legacy Systems 265
Information Management Systems 267
Real Time Systems 270
Frameworks 274
EPILOGUE 277
SUMMARY OF RECOMMENDED PRACTICES 279
SUMMARY OF RULES OF THUMB 293
GLOSSARY 303
BIBLIOGRAPHY 307
INDEX 311