Alpha, Beta, and Sometimes Gamma

As we begin the private beta for Stack Overflow later this week, I wondered: where do the software terms alpha and beta come from? And why don't we ever use gamma?


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2008/07/alpha-beta-and-sometimes-gamma.html

Anyone else ever had a ‘Charlie’, ‘Delta’, ‘Echo’ or ‘Foxtrot’ release?

No, but I’ve seen a lot of Whiskey Tango Foxtrot releases.

No, but I’ve seen a lot of Whiskey Tango Foxtrot releases.

Lima Oscar Lima - Literally I laughed.

I had always assumed they just stood for ‘a’ and ‘b’ releases and the phonetic alphabet was used.

Except b is Bravo in the phonetic alphabet. But thanks for playing.

I wonder if anyone has used master beta for a release? It seems that Googlers are masters of their domain when it comes to GMail…

Some software still ships on discs, namely, console video games. Some consoles don’t have online updates for boxed games (Wii). In that industry beta definitely means feature complete. Adding features (a.k.a. bugs) at that point is suicide. And, yes, 99% of those games are written purely in C++. Most are also under budgeted and have schedules that don’t allow for slippage. Been there, done that, learned the meaning of stress migraines.

1… 2… A… B… Alpha… Beta…

Deviating from the patterned norm would inevitably drive everybody to jump off the highest mountain.

First!

Seriously though, I often wonder why beta can sometimes seem more like release - especially in GMail’s case.

About the perpetual beta … I was attending the Basta.Net conference in Germany. two years ago. And one of the speakers, talking about web 2.0, recommend to stay on beta. Because it makes sure that there is still effort on the project :slight_smile:

Maybe the Gmail beta is some sort of Google joke?

I think a lot of people use Betas more as marketing tools rather than for testing these days, particularly start-ups and game development.

MySQL uses the Gamma naming :slight_smile: See: http://www.mysql.com/search/?q=gamma

Does software development stop at gold step ?
What about software that continously evolve, like Team Fortress 2 ?
Still old bugs to fix, but new functionnalities, new bugs,…

I’m also blaming software policy around the beta designation.

Of course I turned them down with prejudice. Let someone else write code that kills people, I’m not doing it. It does not lend confidence whenever I step in front of an X-Ray machine or slide into an MRI chamber though. You gotta wonder how many undiagnosed pointer dereference errors are floating around in there.

http://en.wikipedia.org/wiki/Therac-25

Seems to me like the perpetual Beta is used as an excuse. If you app messes up and loses someone’s information you can always say ‘Ah, yes but you understand that we’re still in beta’.

Alpha, beta etc have lost all meaning to me in these web 2.0 days…

Does software development stop at gold step ?
What about software that continously evolve, like Team Fortress 2 ?
Still old bugs to fix, but new functionnalities, new bugs,…

Wouldn’t that just be the next release/version, which would still have to go through the alpha, beta and Release Candidate stages?

I think in the days of web 2.0 the (web) applications underlie a much greater fluctuation than traditional software. Traditional software goes the way you described it: alpha first, then beta, maybe RC and then you ship it out and have no way to fix anything until the first patch comes along. And even then you don’t know whether everybody applies that patch.

But web 2.0 applications always stay at the company. Thus you can release much much earlier. You can play around and try out different things. If they don’t work, delete or rewrite them. No patches. Just the software. You never know what your customers want. Maybe you have some great idea but nobody likes it? Or people ask for certain features and you can provide them right there without having to ship patches. And because you never know what the software will look like tomorrow as the web and the applications are constantly evolving the software is never really complete. Sure, traditional software also is never really complete because there will always be bugs but with web applications you don’t have that clear distinction between developing and shipping. You ship as you develop.

Small side note: If it doesn’t work, well, there is a Beta sticker so don’t complain.

wow, weird that you should write this - I just made a ‘gamma’ phase for a project this week for the first time. In this case it was for a significant change made after the project was delivered - feedback functionality need to be provided through mysql instead of a static txt file. Interesting. We used to use ‘gold’ at the agency I worked at, but I figured it would ‘copying’ if I used it to, so I figured Gamma would be reasonable.

The perpetual beta thing basically boils down to a lack of confidence on the part of developers. You put up a first go at your site and label it as beta to let people know that it is finsihed yet (often also implying it isn’t feature complete) and as people use it and start making requests you work a lot on features and never really get around to doing the code freeze stage where you go around and just fix bugs. The developers don’t want to stop innovating as they worry that the users will leave and they don’t want to take down the beta label as it implies an extra level of quality and robustness that you haven’t done the work to achieve yet.

The whole alpha/beta naming scheme is an obsolete relic from a different era. An era where all of the features were made in one monolithic group for release on physical media. The features were made first for alpha, and the bugs were fixed afterwards (in subsequent betas, release candidate, whatever).

In this era, new features were only added in a new major version, which will come years later, after their own monolithic testing and release cycles.

For many systems (such as web apps, web delivery, automatic updates/patches, internal corporate apps) it just doesn’t need to be done that way anymore. There’s no reason other than tradition to hold on to arbitrary forty-year-old labels like alpha and beta. I’ve stopped using them years ago, and I haven’t missed them once.