Product Bistro: Software Updates - At user's or vendor's peril?
During the January 2008 "Microsoft Tuesday" monthly updates, my Windows Vista
machine suffered problems immediately following the automatic updates. I came
downstairs Wednesday morning to see my computer rebooting as the update
finished. From that point forward, Microsoft Word began crashing and would
not stay up or run under any circumstances.
I spent all morning trying to figure out the problem, and eventually uninstalled the updates, reinstalled Microsoft Office, and then reapplied the previous day's updates. Six hours later, the second time was a charm. After blogging about the experience, a Microsoft support engineer contacted me and I helped him instrument the problem by retracing the events and supplying technical data. Turns out the problem was a previously know issue.
Today, Microsoft released the Vista Service Pack 1 update to manufacturing. It will be available for download beginning in mid-March. But this update too has a know software bug, with some device drivers in this case. Microsoft has chosen to deal with the situation entirely differently. Windows Update will first detect if your system has any of the incompatible drivers, and only offers the update if the machine won't have problems. More technically savvy users can download the update directly and work through the driver issues if they so choose.
Bravo. That's the way tricky situations with software updates should be handled. I hope that Microsoft's Customer Experience program has helped them understand how to deal with such situations during upgrades and updates. The other factor at play is I'm sure Microsoft would like to avoid additional negative publicity about Vista. Whatever the reason, in the case of Vista SP1, it's a good decision. Microsoft is still learning how to deal with automatic upgrades, as demonstrated by plans to automatically push Internet Explore 7 via Windows Update, risking breaking web-based applications that could experience browser compatibility problems.
Software upgrades and installations are one of the biggest challenges for software product teams. Upgrade code and testing is often left until the last part of the schedule. It's often given to someone outside of the core development team (such as a configuration manager or system administrator) who might not have intimate knowledge of the software and changes to designs and code.
We usually thing of a product's user interface with talking about customer experience, but installation and upgrade code are two of the most important elements of a product which directly impact the end user's experience. A difficult or messy software installation can mean a potential customer might never get to the point of using your software product. Frustration could drive them away first. A bad upgrade can leave existing customers dead in the water, with a system that's unrepairable or that might require heroics by a product support team to get the user back up and running.
There are certain processes that a product team must "learn" through multiple, repeated experiences over time. The installation or upgrade code may vary little or could change drastically depending on the software release. But you can be assured that every software release and update will need some type of installation or upgrade code. It's extremely important that product teams learn how to do this well and do it consistently. One bad upgrade experience can lose a customer for life. When an upgrade goes well, no one thinks twice about it. When an upgrade is problematic and requires calling in the cavalry, it likely will be considered a major quality ding against your product.
As you put together your software release process, the installation and upgrade development and testing must be an integral part of this process. QA needs to know exactly what's changed, what product versions can be upgraded, and then put plans in place to test various scenarios customers will experience. This takes planning, technical specs and information, and time on the schedule to perform. Over time, after multiple repetitions, the product team learns how to perform upgrades successfully, reducing problems customers might experience.
Make plans now for installation and upgrade development and testing. You'll know you're doing a good job when your customers and product support team don't think to complement you on how smooth the last upgrade went, because they all go smoothly.
Related article: Drivers Problems Hold Up Vista SP1 Upgrades






Comments