Fast forward to forward compatibility
"Prediction", Yogi Berra tells us, "is hard. Especially about the future."[1]
Enterprise IT budgets the world over stand up on a daily basis and pay homage to this linguistic Yogism. We all have an entry in our IT budgets for the Yogi factor. We call it 'maintenance'. What is maintenance? After all, IT applications are not like cars or lawnmowers. They do not require oil changes or spark plug replacements. Maintenance in this business is a euphemism for 'change'. Our needs change and consequently, our applications need to be, um, 'maintained', in order to meet our changed needs.
Maintenance is an expensive business. It can be argued that the expense is a fact of life. Business changes so rapidly these days. Technology moves on so rapidly these days. Isn't it just a fact of life that application maintenance is so expensive?
In many respects, yes. The volatility of business and the technology that supports it is not something any of us can control. However, there are some areas where I believe we are in control of our destinies. Areas where, with a little effort today, we can significantly impact the costs we will face tomorrow.
Take the area of compatibility between applications and data for example. Every programmer worth her salt worries about so called 'backward compatibility' - the ability to read yesterday's data with today's application. Backward compatibility is a very good thing as it can ensure that older applications can cohabitate with newer applications.
However, backward compatibility is only half of the story when it comes to predicting the future of change in our applications. The other half is the significantly less well-known concept of 'forward compatibility' - the ability to read today's data with yesterday's applications.
An example will help illustrate. Let us imagine you have an application that produces files on disk. Bill and Bob both have version 2 of that application installed. Bill and Bob create and share V2 files with each other.
Now, one bright spring morning, the future comes gambolling over the mountain top in the form of a sprightly new version 3 of the application. Bill installs the V3 application. Bob sticks with V2. All of Bill's 'old' V2 files load into the V3 application just fine. This is backward compatibility in action.
To illustrate forward compatibility, let's bring Bob back into the equation. Bob receives some new files from Bill. Do the V3 files from Bill open in Bob's V2 application? If they do, we have forward compatibility. If they do not, we do not have forward compatibility.
Today, applications that have provide backward compatibility are significantly more plentiful than applications that provide forward compatibility.
Sign up for ITworld's Daily newsletter
Follow ITworld on Twitter @IT_world
jfruh
Apple syncing patent can't come soon enough
pasmith
New Twitter features borrow from 3rd party clients
Esther Schindler
Open Source Changes the Software Acquisition Process
mikelgan
How to set up continuous podcast play on the new iTunes
David Strom
Five important Windows 7 mobility features
sjvn
Guard your Wi-Fi for your own sake
Sandra Henry-Stocker
Grepping on Whole Words
Sidekick: The Good News & the Bad News
Either way you look at it Microsoft Data Center management did not follow standards or best practices in this failure. In which case it makes me wonder more about the outsourcing of corporate data much less personal data.
- mburton325
Join the conversation here
Quick, practical advice for IT pros. Made fresh daily.
Want to cash in on your IT savvy? Send your tip to tips@itworld.com. If we post it, we'll send you a $25 Amazon e-gift card.













