01 October 2008

Reconciling Google's Un-General Releases With Traditional Software Betas

Several years ago, I wrote about Google's curious practice of widely releasing developed (but still developing) products while officially designating these products as "beta" for extended periods -- often years -- without any discernible plan to remove that designation. As I wrote in that post:
A new software product, like most new products, rarely is suitable for the masses in its first complete iteration from the development environment. Many times, planned features are not yet completed, some functions do not operate as expected or at all, or the design of the product doesn't meet the developer's or its users' needs. An interim version of the software is necessary to work through these concerns; such a version needs to be complete enough to work with but need not be so polished that it's considered "ready for prime time". Such a version is generally termed a "beta" release . . . .

Thus, in the traditional sense, a beta product differed from the final (or "general release") product in two ways: 1) the product's intended audience (a sampling of the user base versus the entire user base); and 2) the "completeness" of the product. Implicit in the concept of the beta product is that it is an interim version of the product; the beta test is a prelude to the general release, rather than a general release in and of itself. This naturally begs the question, if a "beta" product is released to an entire user base and there is no definitive expectation by the developer to transition to a more complete and polished version, is this really a beta at all?

In that post, I called this status an "un-general release", after the "un-birthday" celebrated by the Mad Hatter and the March Hare in Alice in Wonderland. I certainly wasn't the first to wonder whether Google's "beta" was just a more-or-less empty designation, and in the years since my post others have touched on similar points. Recently, a post at the Royal Pingdom blog surveyed the current product landscape at Google, excluding the company's "Labs" software which is expressly-designated as a "technology playground . . . showcasing a few of our favorite ideas that aren't quite ready for prime time", and found that 22 of Google's 49 products are officially in beta, several for extended periods.

Prompted by Royal Pingdom's post, Paul McNamara, a columnist for Network World, contacted Google for an explanation of the company's curious -- and curiously inconsistent -- beta designation practices. That explanation was illuminating for its lack of illumination if nothing else. According to McNamara, Google's reasons for keeping certain products in perpetual beta status include:
  • High internal standards for bringing a product out of beta;
  • Continual improvement of the products (driven by both customer and Google expectations); and
  • Development of products which are different than traditional software.
McNamara suggested that, "Google has decided to strip the word 'beta' of its traditional meaning, while simultaneously continuing to use it in a traditional manner, which all but assures that no one will understand what they're trying to do. Either that or their explanation is still in beta." I'm not sure that he's far off, if he's wrong at all.

My guess is that Google's high internal standards for general release (non-beta) products really boils down to a lack of established standards. Absent such standards, development teams would fill the void with their personal standards (which vary widely in any organization of Google's size); depending on the product management structures within the company, there might also be some incentive for some teams to keep their products in perpetual beta, if releasing them would result in a loss of control to others. Continuous improvement is not peculiar to Google or even to technology development. That Google's services are different than traditional software is really neither here nor there. As defined generally, "beta" describes a state of production more than it describes what is being produced; although it is predominately a technology term, the label could easily be applied to any non-natural thing produced.

In my original post, my concern was that this enigmatic practice of Google's, while it works well enough for them, will work to the detriment of others and their customers if widely adopted. I don't think that that's a misplaced concern necessarily, but neither do I recall offhand any particularly egregious recent examples in my personal experience. Of the software I use, some is designated as "beta" and, in my opinion, properly so. I accept the risks and enjoy the benefits, such as they are, and in this I don't think I'm in the minority.

Ultimately then, this is all just a curiosity and a thought exercise. As I wrote previously, "What this all boils down to is that neither Google nor its customers has any need for the formalities of a traditional software license; consequently, if a Google service remains officially in beta even years after its launch and in the absence of any apparent material defects or feature gaps, who cares? In Google's case, no one really." That still seems to be true more than three years later, but I and many others wonder nonetheless.

No comments: