Wednesday, April 9, 2008

The Challenges of a Software Legacy

Ever year as I prioritize new application development, I remind my governance committees that 80% of my staff resources are devoted to keeping existing systems stable, secure, and error free. These staff maintain infrastructure and add incremental improvements to support compliance with new rules, new standards, and new workflow requirements.

As I reflect on Microsoft's current challenges with Vista, I sympathize with their dilemma. On the one hand, the user community expects each upgrade to offer bold new features and innovation. On the other, users expect all their Windows 98, NT, 2000, and XP software to work flawlessly.

The amount of engineering required to ensure this backward compatibility is enormous and in large part explains the difficulty the Microsoft Operating System Development group has in releasing something that is boldly new.

Industry analysts point to the speed of innovation of Google or the fact that Canonical's Ubuntu is rapidly converging on the Windows feature set. Both Google and Canonical have the advantage of little legacy compatibility support.

I've experienced this same burden of a software legacy several times.

At Harvard Medical School, we introduced Mycourses.med.harvard.edu as the educational portal in 2001. Each year through Mycourses, we deliver 60,000 streaming videos, thousands of documents, and hundreds of simulations. Per my recent post about Educational Technology priorities, there is a desire to enhance usability and add many new features. The challenge is that we need to maintain existing features while innovating. This is like changing the wings on a 747 while it's flying. A perfect example is our Surveybuilder and Testbuilder. These web-based applications in Mycourses evolved over years based on hundreds of user feature requests. At this point, adding new features will likely break old features. Our best approach is to rewrite them from scratch, based on a streamlined set of user requirements. Thus, we'll evolve the existing Mycourses into a new portal framework, then rewrite the applications over time. This will be evolution rather than revolution. Some people will comment that our pace of innovation is slower in 2008 than it was in 2001. This is the reality of an existing legacy of highly functional software.

At BIDMC, we launched our intranet in 1998. At that point in web history an intranet was just a list of links and not a highly interactive Web 2.0 infrastructure supporting blogs, wikis, forums, and new media. In 2007 we introduced a new intranet based on many modern features such as single sign on, user customization, support for RSS feeds, and Sharepoint features. Today, of our 5000 users, 4000 use the old portal and 1000 use the new portal. Our user survey indicated that the average user just does not want to change. Learning a new portal is more effort than is justified by the new features. In 2008, we're relaunching the portal again, making the look and feel more similar to the old portal but supporting many new collaboration and content management features. In 1998, launching the intranet was simple because there was nothing to compare it with. In 2008, it's very hard because we have to support the legacy of highly functional old portal features while moving forward.

In both cases, we're leveraging our governance processes to build top down and bottom up support for change. We hope that by creating an urgency to change, a vision for the future and a guiding coalition, we'll be able to overcome the burden of our software legacies.

Thus, Vista may have its warts, but I understand the struggle Microsoft faces.

No comments:

Post a Comment