You often hear it stated by very bright people that they thought they understood object oriented design until they began practicing Test Driven Development (TDD). I definitely include myself in that group (the misunderstanding OOD part anyway!).
Here is a list of the very best books I have found that helps bridge the divide between OOD and Agile for those of you who are currently making that transition. They are highly recommended.
Agile Software Development, Principles, Patterns, and Practicesby Robert C. Martin
Refactoring: Improving the Design of Existing Codeby Martin Fowler
Working Effectively with Legacy Code by Michael Feathers
Disclaimer These postings are provided "AS IS" with no warranties, and confer no rights.