When is a software product ready for ship? The consensus these days appears to be: as soon as possible, but not too soon. That's a bit of a shift from the bad old days of packaged software, when the cost of release was high enough to justify both sign-off from marketing that the release meets at least of few customers' business needs, and sign-off from QA that the new release is of sufficiently high quality to prevent a support nightmare.
Web 2.0 trends have changed this equation somewhat. The dominant trend, towards web-based software delivery, pushes for more frequent and evolutionary software release. This has become so dominant that it is even codified under the rubric of today's most popular development practices. At the same time, in this world, the cost of a bad release is lower: if you supply software to end users, you can just patch your server; if you supply software to other software suppliers, you have a patch to roll out instead of a messy client upgrade installer and a barrage of support calls.
But there's an interesting competing factor here. In the world where the application provider owns the data and the application, there's a high cost to consistently bad quality: I can't just open my web-based application data in a different program. The application is the data, and if users lose confidence in the quality of or commitment to a web-based application, they will abandon it quickly because the stakes are so high.
I've been thinking about this lately as Laszlo nears release of both OpenLaszlo 4.0 and our next product (no announcement yet ;). Of course, we're doing the usual release dance of what constitutes "acceptable," and if you compare the shipping manifest to our original product plans, the former pales in comparison. But I, for one, usually argue for earlier release of our products. One thing I think I've learned in my tenure here at Laszlo is that no matter how much sense it seems to make in a planning meeting, the sales force isn't going to be able to sell a product until it has shipped. You can have a beta with 10x the features and 20x the quality, but if it's not officially released, the customers are happy to wait. Once the software is released, the ticking clock switches from the sell side to the buy side, and customers start to feel the pressure of not wanting to be the last one to hop aboard. I also think that Laszlo is in the enviable position of having an exceptional development team with too-high standards, so our version of "barely acceptable" is usually pretty good when compared to the market at large.
The other reason I've been thinking about this is because I've been asking the cocktail-party question: should Microsoft ship Windows Vista? Most people see this as inevitable, and of course it's rolling out right now. But I don't think it's a forgone conclusion that Vista will become the broad middle of the market the way that Windows XP has. What are the real drivers for Microsoft to ship? One reason to ship a new OS might be that a host of new products depend on it. But Microsoft has recently released new versions IE, Office and the .NET framework which run on Windows XP.
Another reason I hear is that Vista has improved security. But from what I can tell, this comes at the cost of a horrid user experience, which desensitizes the user to clicking through series of security dialogs. Do you want to play this media? Yes. Did you know it comes from a slightly different domain? Yes. Can the media look at your cookies? Yes. Ok if it reads some files from your hard drive? Yes. I mean no! Anyway, I actually think that the security features of Vista are not a short-term reason for IT to upgrade. IT has made peace with Windows and, mostly, Vista just represents a new and unknown set of issues. The most conservative and security-sensitive organizations will wait a long time before taking Vista anyway.
If we go back and look at the two competing ship-pressures caused by Web 2.0, I think both auger for Microsoft to ditch Windows Vista and roll the best parts of the technology back into Windows. From the Agile, incremental release perspective, it makes more sense to ship a few mega-upgrade packs to Windows then to force users to go to the store and consider buying a new Mac instead of the new Dell or Gateway that Vista will require. From the confidence angle, Windows XP works pretty well, and it's a decent jumping off point into a world of largely networked applications.
The place where Microsoft should really be investing is in the Live! area of its product line. It's hard to believe that WPF will really be a play-anywhere technology, but it's even harder to believe that the way that that technology is going to be rolled out is through a new, proprietary operating system that only runs on a few machines. The more sensible play for Microsoft would be to invest in their browser technology — maybe to incorporate a CLR interpreter in IE and then port that thing to (at least) Mac and maybe Linux. Microsoft is still in a decent position to lead the way with browser standards, and it seems like Mozilla will follow and not lead the way into full-blown browser-based applications.
Comments
Post new comment