Test third-party controls

As I mentioned earlier, calendar controls are at the top of the hit list for potential Y2K horror stories. There are too many commercial calendar controls for this book to cover individually, and I wouldn’t be surprised if many of the existing calendars are updated to new versions fairly soon.

On the subject of external vendors releasing new versions of their products in order to satisfy Year 2000 compliance, it’s worth noting that many companies will simply not upgrade their existing production applications to use the newer version of a product. This refusal to upgrade often has a history; simply plugging a brand-new version of a component into a previously built application has at times proven to be unsuccessful and far from seamless—unlike advertised. One reason for these upgrading problems is the need to write code that effectively works around bugs or quirks that might exist in certain versions of a component.

I’ve seen situations in which version 1.0 of a component had bug X that required work-around code to achieve the original specification. When version 2.0 of the product was released and plugged into the original application, bug X no longer existed, and as a result, the original work-around code introduced new bugs into the application.

This scenario might sound strange, but I’ve seen it happen in large companies. No doubt, other consultants have seen similar situations. The net result of such scenarios is that many companies will leave existing applications untouched even when a new, Year 2000–compliant version of a component is released.

In addition to the wave of upgraded, bigger, better, faster components to hit the market every week, some component manufacturers will probably be working hard at developing Year 2000–compliant products for release very soon. While the motives for these gallant acts of global concern are possibly not the purest, it is worth pointing out that the legal arguments as to who is actually responsible for some Year 2000 problems are likely to last for years.

Your application’s use of calendars will have been identified in the previous project stage. So if your application uses a calendar, and even if you have a new Year 2000–compliant version of that calendar, give it a real good hammering. Test all conceivable scenarios, and leave no stone unturned.

Note In Appendix D, you’ll find a table that shows the life expectancy of various Microsoft products and the date formats used within them.