The most significant challenge in communicating a new idea is convincing people it isn’t exactly the same as a superficially similar, older idea they’ve already embraced.

A classic example: During the introduction of object-oriented technology, many warhorse programmers were sure they’d been doing that stuff all along in COBOL. They then went on to write 10,000-line C++ objects with no encapsulated logic.

A similar, current example: The object-competent developers who are convinced there’s no difference between services and objects. (Although in their defense, clear, concise explanations of the differences are scarce. The best I’ve found, with help, is an IBM paper titled Service-oriented modeling and architecture by Ali Arsanjani. Recommended.)

Speaking of metrics, and their limitations, here’s a biggie: You can’t measure the results of any path you didn’t take.

The ramifications are enormous whether it’s public policy, business strategy, or your own day-to-day management decisions. While we don’t know, will never know, and in fact can’t know the outcome of the alternatives we didn’t pursue, we still have to choose between engaging in post mortem analysis and denying its value.