Plan Globally, Develop Locally. Incremental implementations should fit into a global plan.
The main idea here is that as you go through your use cases and iterations, take few moments examine your objects to see if their structure makes sense, in broad terms, with the existing use cases as well as the planned ones. You can't know everything you'll need to know before you start typing code but you can look at your planned implementation for the sprint to make sure you won't have to do a major refactoring later on. If possible, try and keep changes as small as possible. Changing the implementation of a class is less painful than restructuring an entire inheritance hierarchy.