Is it time to 'Go Live'?

Microsoft introduced their "Go Live" license way back when ASP.NET was in its very first round of testing. As soon as the product entered the beta 2 stage, users could visit a special Web page at Microsoft.com and electronically "sign" a license agreement. That done, they were freed from the usual beta testing language forbidding deployment of beta code. In fact, they were positively encouraged to deploy their ASP.NET Web sites using the beta 2 technology, and many of them did.

The result was a big win all around. Microsoft got loads more beta testing in real world applications, developers got bragging rights for being the first to roll out cool new sites, and of course the product wasn't hurt by all the publicity either. Now history is getting ready to repeat itself. We don't have an exact date for the release of "Whidbey" (Visual Studio 2005) beta 2, but it should be some time in the next few months. And when it does, we already know it will contain provisions for a similar Go Live license.

Of course, just because you can use a new technology doesn't mean you must use the new technology. Testing and publicizing the new ASP.NET 2.0 bits will help out Microsoft, but that's no basis on which to make your own business decisions. Although most developers are always willing (even eager) to use the latest tools and technologies, you need to take a hard look at the pros and cons before deciding to move in this direction with your own applications. Here are some factors to consider:

1. Do you have time to learn the new stuff? There's no point in taking the risks of a new system unless you're also ready to take advantage of its benefits. If you can't budget time to learn and use the new features of ASP.NET 2.0, don't bother deploying it. Remember, too, that learning may take longer than usual because there aren't a lot of books and articles on it yet.

2. Are you prepared to deal with bugs? It's unlikely that ASP.NET 2.0 beta 2 will be perfect. Though the core parts are likely to be very stable, if you push the envelope, you will hit bugs. It's impossible to say whether these will be cosmetic, disastrous, or something in between. If you do decide to move forward, you need to be prepared to spend some time isolating and working around bugs.

3. What's your fallback plan? If you do hit a disastrous bug, what will you do about it? Can you just unplug the new site and put your old site back? Do you have the development resources to work on an old site and a new site in parallel? Can you afford days or weeks of downtime if you encounter a bug that you can't work around?

4. Are you ready to rewrite? Just as there are changes from beta 1 to beta 2, there will be changes from beta 2 to the final release. The Go Live license won't let you run beta code indefinitely, so you need to be prepared to fix up your code to work with the final release if something you depended on has moved or vanished.

5. Are you ready to be locked in? If you commit substantial resources to moving a site to ASP.NET 2.0 now, you're most likely locking yourself into this system for the next several years. If you were thinking about evaluating potential competitive APIs and platforms, do that before you go live with ASP.NET 2.0, not after.

If you can answer these five questions to your own satisfaction, then it's time to start thinking about the "Go Live" license. You can't deploy a beta 1 site, but you can work with beta 1 to get ready for a beta 2 site. Just don't let your business sense be destroyed by your desire to play with shiny new toys.