DISQUS

Mashable - The Social Media Guide: 2008/07/13/software-development-cycles/

  • Aaron · 1 year ago
    Well, the traditional development cycle is out the window for web apps. You continuously get feedback and continue to add new features... at the expense of possibly buggier software. It's not like an operating system.

    Somewhat joking: I wonder what the "version numbers" of Flickr and Gmail are and have been -- are we in the tens of thousands or have there been an indefinite amount of decimal version numbers?

    Yes, it is frustrating to try to understand the development cycle and there is an abuse with terms (i.e. something some people consider "beta" isn't even "alpha" yet and sometimes there's betas that are much better than most people's RC's)... but the lines are blurred and it is only going to get worse, at least as far as web apps go.
  • Maxim Shevertalov · 1 year ago
    I agree that it can be irritating to seeing well established software labeled as beta or alpha. However, I always considered alpha to be software that is not feature complete and the features that are there are buggy and can still go through drastic changes. On the other hand, to me beta has always been functionality testing and debugging. So that the UI may change but the feature set probably will not.
    Though I guess those lines are blurred when dealing with web apps because most web apps go through changes.
  • Nick · 1 year ago
    Quit being an old crank and get used to the idea of things changing. You can't always have everything like it was in the good 'ole days.
  • Ray Grieselhuber · 1 year ago
    Good post and, as a developer and user, I certainly understand this perspective.

    I've actually been meaning to write about why I decided to do a Gridjit Alpha (thanks for the mention!) and your post inspired me to do it today.

    Interested readers can view a longer response on the Gridjit blog (http://blog.gridjit.com).
  • Denise · 1 year ago
    I don't think you're being the least bit cranky. Not being a technical person, not much anyway, only enough to get the blog working right, I get frustrated with systems that stay in beta forever. Seems to me an easy way to avoid responsibility for bugs and not have to be in a rush to move into alpha.
  • jason goldberg · 1 year ago
    Thanks for mentioning socialmedian here.

    After an internal "dogfood" phase in late March (after just 3 weeks of initial development), we determined that the best way for us to build socialmedian was to gradually expose the early service to more external users while gathering their feedback and rapidly iterating. So, we threw some half-baked software out in front of some folks and hoped for the best. We called it "alpha" because it was invite only and buggy and in many ways incomplete. Over the past 3 months, we've done 5 major releases in our alpha, with more than 300 individual ticket items. During that time we also gradually grew out invite-only users from 100 on 4/1 to a bit more than 3500 now. We'll open the site up for general use in the next couple of weeks and call that "beta" as it's still very much a work in process, but it will be generally available.

    Any suggestions as to other naming structures?
  • robdiana · 1 year ago
    Jason

    The private beta is always a good thing. You can get your product out to a limited audience and still get good feedback. On the web, there is very little barrier to entry, so many sites are being launched with one or two core features. What I was trying to say in the post, and obviously was not clear, is that once you go public, just drop the alpha/beta tag and say it is "live".

    On the web, unless it is an invite-only site, why do we need to tag it as beta? I am sure most of the early adopter crowd is willing to accept some issues for a newly launched service.
  • jason goldberg · 1 year ago
    I agree that the early adopter crowd is generally willing to overlooking "some issues" for a newly launched service -- the worry though is a *FAIL* review by scoble or another influential blogger, and more-so the general public (non early adopter) having no patience nor understanding about tolerable bugs for newly launched services.

    So, having something like "beta" indicates that it's still a work in progress.

    I do also agree though that there should be a statute of limitations on "beta" and that Gmail has more than outworn its beta label.
  • tobias · 1 year ago
    Rob, firstly i'll agree that gmail beta (for example), with a bazillion users and a proven revenue stream...is a little silly.

    however, now let me defend "alpha"

    I was part of an "alpha" launch this week – and it feels really good to start getting user feedback that early in the cycle. I work at Me.dium and we launched our social search alpha (http://me.dium/search) on Wednesday night, letting our users know that we’d "worked fast to get our product out there for you to play with, test, discuss, and let us know what you’d like to see next" (http://tinyurl.com/59a7vk).

    We’ve had over 100,000 people try our stuff since we launched, and the feedback has been terrific – really helping us shape the "beta" roadmap and giving us plenty of tactical to-dos to bang out before then. More grandly, our users are now part of the process. They have a voice. We'll be able to build stuff they directly request. And – if we keep listening and understanding – we hope we'll get to a point where we're a step ahead: releasing new things we know our users will really love. Users help us, we please them. It might be terribly "enterprise software" of me to say it, but that sounds like a win-win.

    Speaking of "enterprise software", I'm assuming that's where you are coming from with lines like: "in a product development company, you tend to send out beta software to your most prized customers." (Apologies if the assumption is incorrect). You then go on to say: "This gives the customer the chance to see what is coming". I'd say the reason for beta programs in enterprise software is a little more calculated than that... If you can get friendly customers to deploy a beta, this means you have canned case-studies to point at when you go GA. There's no better sales technique than letting customer A know that rival customer B is already using your stuff and gaining an advantage. If B was part of your beta program, you've probably just reduced your sales cycle to A by about 6 months. It's just good (sneaky?) business.

    Either way, I'm very happy we're playing in the rapid release-feedback-release world of "alphas". It's also a lot of fun :) In short: bang it out, see what people think, iterate, and repeat.
  • Maxim Shevertalov · 1 year ago
    I have to agree with the previous responses. Alpha seems to be a good way to get users involved in development early so that they have some say in the direction of the web app. While this is difficult to do in a "packaged" software world, it's easy in the web world. Some people abuse it, but it's the same with anything out there. The only problem I can see is that the definitions may change and slide, as you say alpha is the new beta, but at the end of the day that's just semantics. Similar to previous comments, I have just launched Graphsy (www.graphsy.com). I am slowly expanding the number of users and have gotten good feedback so far. It is motivating to see people requesting features and painting the roadmap.
  • Avatar · 1 year ago
    if i recall correctly Microsoft did popularized the idea of Betas and made it a very artful exercise that continues to this day as a MS connect.

    The most famous company i remember bringing beta in to the web was of course Google. but funny enough the first to popularize Alpha were they guys at mozilla with Firefox.

    Then you also forgot how Microsoft now handles middle term on the stage from Alpha to Beta that is now used as Technical Preview.

    Live Mesh is a Technical preview because its form can change at any minute but is in no way a alpha because it is too advanced in development to be an alpha and neither a beta because the form and look it will have is not fully decided and cannot be yet promised. you also forgot a step from beta to gold: Releace candidate.
  • Avatar · 1 year ago
    Release, not releace.


    Release Candidate is for a now finished product in a form factor that needs to be previewed in order to be sure of going gold but that beyond certain touches and tweak will be exactly the same when it goes gold.


    So, i think those are the most interesting terms that the web 2.0 brought into the mainstream
  • Avatar · 1 year ago
    damn. the chart didn`t loaded first.. ok so you only forgot technical preview.
  • adam · 1 year ago
    I'm sure the only reason to call something a beta release is for PR reasons. i.e it makes the new users feel special and as if they can make a difference to the product. In reality most beta releases look pretty robust and it is just used as a term to cover up any bugs as the team can hold up their hands and say, hey, we are still in beta. Works great for blog writers too who feel they (along with the other hundred reviewers)privileged to be part of a new service.
  • Ian Kemmish · 1 year ago
    Your chart nicely illustrates the inflation of development.

    Back when I were a lad, an alpha release was certainly ready for public testing, and probably broadly correlates with what you now call beta. Beta, or field test, was undertaken when the product had been completed to the best of human ability, Bugs in beta test were not expected (though inevitably found). In other words, beta encompassed all three of the bottom boxes in your chart.

    So yes, one can expect that inflation will cause even more boxes to be added to your chart. But like the other recent additions, they probably won'r be called "gamma."
  • Fabrice Epelboin · 1 year ago
    Things change, and beta is not what it used to be. I guess everything has gone backward - semanticaly speaking - so Beta is the new RC, Alpha is the new Beta, and so on... Is that such a big deal? Don't think so...

    Still, you're right, Gmail shouldn't be beta anymore, and SocialMedian is bug free (as far as I can see), and should already be in Beta, it's also a very nice product ;)
  • Samidh Chakrabarti · 1 year ago
    Funny, I wrote a blog post complaining about this exact phenomenon last month:

    http://blog.pluribo.com/2008/06/29/say-no-to-th...

    The basic point was that people who use the "beta" label don't really understand what software-as-a-service means!
  • Panah · 1 year ago
    Alpha software is better than Beta software.
  • adam · 1 year ago
    Years ago we would really field a Beta release but users would be under NDA or other such terms to keep results to oneself. You didn't want the adverse publicity that could arise.

    Likewise journalists (pre-blogger days) as well were under the same restrictions. The last thing back then was that you wanted a buggy version colouring people's views of your product. Of course the software/sites were also paid for by subscrptions or usage so the users were really getting something for free.

    Now it seems just an easy way to get a load of free testing and you mainly see freemium sites in this category. Plus of course a great way of getting a quick 100 users into the database by offering "limited" beta accounts.
  • pedalpete · 1 year ago
    This discussion came up a few days ago regarding a site I've been working on.

    A marketing consultant suggested that I apply a beta label to my HearWhere.com site so that visitors will know that it is still in development, and that feedback is welcome.

    However, I think that
    1) anybody who knows what beta means realizes that in the web-world nothing is ever complete
    2) for anybody else who doesn't know what it means doesn't care - they aren't going to think "oh, it is in beta, I'll come back to see what has changed".
    3) beta makes sense when you are dealing with native applications that have repercussions on the system as a whole, but that isn't necessary with the web.
  • William Martin · 1 year ago
    I thought that this terminology was originally adopted from industrial and product design, where an 'alpha prototype' was built to test functionality only, then a 'beta' prototype was produced with the first injection-molded pieces or metal-formed casings to work out kinks. Then the production-ready products were developed.

    But isn't this also a liability issue? If a service is perpetually in 'beta', then the disclaimers for possible lost or corrupted information hold up better in court, since the service provider can claim a given user is more likely to be 'aware' that a service could encounter bugs (e.g. with 'beta' stuck on the logo on each page).
  • Nicholas · 1 year ago
    In my understanding, for software development, the Alpha stage means that the code is working but not feature complete, and Beta stage means the code is feature complete and just doing bug/error testing.

    An example that comes it mind is Trillian Astra, which is in private alpha because features are still being added. Once the featureset is solidified, it will move to Beta. Once bug testing in Beta is completed, it will move to a public release.