In the Agile space, whether or not to do change up front is a bone of contention. There are two extreme camps: one requiring a certain starting point (and thereby often requiring up-front change in order to follow its approach) and the other saying any up-front change will result in resistance by the development teams. I tend to disagree with both positions as I think neither applies most of the time – and even “most of the time” is not a sufficiently high enough bar in my opinion.
I will assume that most people reading this blog need no convincing as to the value of object-oriented technologies and methods. This is also largely true of the students who attend our design and testing courses; they are there because they want to learn to use OO better not because they have doubts about it.