Five Things Every IT Professional Should Know About Application Compatibility
My job is to help enterprise customers around the world accelerate their deployment of new versions of our platforms—Windows, Windows Internet Explorer, and Microsoft Office. Admittedly, I am a bit of a nerd, so I spend a fair amount of time understanding the technical underpinnings of compatibility challenges, troubleshooting and remediating failing applications, and finding ways to share this technical knowledge with our customers and partners. However, over the years, I have learned that there is more to solving the problem than simply improving our technical knowledge and troubleshooting skills.
There Is No Such Thing as Being "Compliant"
Being "compliant" with a particular platform is a phrase I hear quite a lot. Now, I am not trying to be pedantic here, and I know that in many situations people use this terminology as a shortcut to indicate whether something works. Nevertheless, I have run into a large number of customers in which this language is used in far more absolute ways, as if there is a state of being that is "compliant with ..." for a given platform.
Because it is impossible to prove that you have no bugs on a particular platform, you have to focus on that final qualifier and what stops you from getting your work done. Whether you are compatible—"compliant"—depends entirely on the work you do. Many applications are compatible with some tasks, but wildly incompatible with others. In fact, you are probably finding compatibility problems with your existing platform all of the time! That does not mean it is not compliant.
Compatible Means Different Things to Different People
To expand on this theme, compatible can also have subtly different meanings to different parties. To you, as indicated above, it means you can get your work done. However, there is another important party to consider: The folks who make the software. To them, the primary concern is supportability. The software might appear to work fine. It might pass every test that somebody has. Supportability is more than just an appearance of correct behavior, though—it's a financial decision based on risk-management principles. The less software you support, the less your support organization costs you. Since most customers demand at least some support, most independent software vendors (ISVs) try to scope their investments in order to satisfy customers, determining where they can get away with not making the bet that everything will work correctly and putting themselves on the line to fix it when it does not.
It's OK if You Don't Test Everything, Really
Most of the customers I speak with have taken a "boil the ocean" approach to app compat. They look to find everything they have, and then place an obstacle on the critical path to deployment by testing and fixing it all. Any failure will delay deployment.
You Probably Have More Browsers and More "Offices" Than You Think
No, I do not mean that your inventory has failed you. Rather, I mean that Internet Explorer and Office have compatibility built in to them, and that means there are several different "modes" in which the products could be operating.
Duct Tape Doesn't Last Forever
It is usually sensible to have a "backstop" technology in place for when something does not work. One of the more common backstops is machine virtualization, in which you keep an instance of, say, Windows XP or Windows Server 2003 around to run a Windows XP or Internet Explorer 6 application. Perhaps you keep a virtual copy of Office 2003 around in case there is a complex document. Doing so gives you the opportunity to "get out of jail free" when you hit an obstacle, which is much better than cancelling your deployment. What I do not see as often is the plan to get out from underneath that backstop. In other words, that server becomes the place where old apps go to die, but they end up living on as zombies for years or even decades. There is no plan to get rid of them!
About the Author
Chris Jackson, aka "The App Compat Guy," is a Principal Consultant and the Technical Lead of the Windows Application Experience SWAT Team. A widely recognized expert in the field of Windows application compatibility, Chris has created technical documentation, training, and service offerings used inside and outside of Microsoft based on years of real-world experience with enterprise customers and independent software vendors.
Want to receive early access to Windows tips and tricks, as well as insight into exclusive events and upcoming technical resources?