Sunday, December 17, 2006

Finished?

I've been using Google's Gmail, among others, for over two years now, and it still says "beta" on the screen. Maybe that's the right model for software ... that it's always a work in progress. The Web 2.0 paradigm is helping to advance this idea. With Web-based applications, you don't know from one click to the next whether you're using the same version of software or not. In fact, you don't even have to click to be upgraded mid-stream. A page you're browsing may update itself and the code which runs it at any time.

In contrast, Microsoft's Vista is wildly late, and its timing is viewed by many as damaging to year-end, holiday-season PC sales. If Microsoft had followed the "work in progress" model, they would have been rolling out pieces of Vista for years, and would have gotten a lot of feedback with which to improve the product over time.

In some sense, software products have always been works in progress. There are major new version, minor versions, "dot" releases, etc. But the idea of throwing away the published schedule completely, and just introducing features, bug fixes, etc. as they are implemented, has been confined to in-house IT centers.

This might also force developers to rely on small, testable modules which can be integrated together, and less on large monolithic implementations. You have to build systems that way in order to be able to upgrade one component or another without having to rebuild the whole system.

So, what does that mean for the average user?

This post is in beta. Improvements may appear at any time.

No comments: