Backwards Compatibility

Backwards Compatibility is an idyllic quality that provides in theory a new edition of a system the capability of using code written for an old edition of said system. In practice, the action of enabling backwards compatibility can hamper forward momentum.


How about the case in which an audit may result at any time in the need to reproduce a previous result based on old data, then show what logic was used to derive the result? I've rarely seen anyone successfully meet such a request in practice, but I've seen the need for such things arise more than once. Didn't this sort of issue cause a problem for the state of Oregon which was required to grant retroactive tax breaks based on data not readable by the new system, and the old system required hardware that the state no longer owned?

-- SteveJorgensen


Backwards Compatibility is the assertion that improvement does not imply the previous version was an absolute failure. One should build on the past, not mindlessly tear it down. The word processor file created by an old version should be usable by the new version and a word processor file created by the new version that does not use any new capabilities should be usable by the old version. A program developed using a newer version of a system component or library without using any of the newer capabilities should work with the older version of the component or library. There are times when a break from the past is necessary, but not nearly as often as is common in our industry. Backwards Compatibility often requires minimal effort to maintain, but many seem to prefer to rewrite rather than improve. --WayneMack


EditText of this page (last edited August 19, 2004) or FindPage with title or text search