Re-usable?
Now everyone is nodding agreement with the above law, but saying 'well, of course, we always knew that, we're not stupid you know!' So why do we never ask as our number one question 'why was this developed, where has it been used, who used it, why did they need to, what is it good at?' (OK, more than one question then).
Object Orientation uses the concept of classes which can be pre-designed and re-used. However, designing classes that have all the functionality required for any given use in the future is very difficult, too difficult to expect it to be achieved in 'average' developments. No, classes are best designed when all their potential use is already known - oops - I think this kind of defeats the object (!) of the exercise. In fact classes are at their very best when the are handling fixed, but complex, interfaces such as those found in Windows application, with mice, keyboards, files, etc. Could it be that the very definite benefits that have been observed by the use of object orientation in building user interfaces may not be as obvious when applied to the world of general business application development?