Page 1 of 1

Development "states" (pre-alpha, alpha, beta, rele

Posted: Sun Nov 18, 2007 11:14 am
by earlz
what exactly would you classify each of these states as?
like when would you say a project is at each state?

Posted: Sun Nov 18, 2007 12:43 pm
by piranha
Pre-Alpha: Many bugs, many problems, many things not implemented.
Alpha: Most things implemented, heavy testing to find bugs.
Beta 1: Finished Implementing almost everything, tested by outside people.
Beta 2: Beta 1 + Finished Implementing everything you want to at this release.
RC: (For me, heavy testing again), testing on different architectures, computers, (for Programs, different OS's/kernels).
Release: You Done!

-JL

Posted: Sun Nov 18, 2007 2:55 pm
by AndrewAPrice
There's the predevelopment state:
Pre-design: You have an idea, but you're not exactly sure.
Design: You're working on the design doc.
Post-design: You have a design doc but you haven't yet started coding. (Also used when sorting out the legal stuff like middleware licenses.)

And post-development with updates, patches, feature pack, etc until finally you reach Abandonware!

Posted: Sun Nov 18, 2007 2:58 pm
by Candy
Pre-alpha: No major features work
Alpha: Major features have worked, but others don't
Beta: All major features have at least worked in unison with each other at some time, not necessarily at the same time
Release candidate: We think they all work now, but we need other computers to test on
Release: We are very sure that all major features work


This is with the mindset that you drop minor features since they're not necessary and distract, and you place stability, quality and so on before major features - if you don't have them, don't even bother doing the rest.

Posted: Sun Nov 18, 2007 5:54 pm
by earlz
hmmm...ok...think I understand it now...

Pre-Alpha-- Basically unusable, Major features either unimplemented or in development
Alpha-- Most major features are fairly implemented; minor features usually non-existent; Major design changes can still happen
Beta-- All major features implemented, though may not be debugged. Most minor features implemented; Though small changes in design may still happen, this is generally a good "preview" of everything; Not thoroughly tested(for a Library, this means, you can begin to develop applications using the library, though you may have to make minor changes later on)
Release Candidate-- All features planned for v1.0 are implemented; Needs thorough testing still; Almost completely safe to use
Release-- Most all bugs found are fixed

Posted: Mon Nov 19, 2007 1:25 am
by SpooK
I'd say my idea is nearly exact to what is listed on Wikipedia - Software Release Life Cycle.

Posted: Mon Nov 19, 2007 9:15 am
by earlz
wow...thanks for that link...

Posted: Mon Nov 26, 2007 3:19 am
by Solar
I had a short paper written up on this for my OS project back then, which could be condensed to:

Pre-Alpha - module not ready for use by anybody not directly involved in its development

Alpha - module ready to be integrated by your co-workers (i.e., no more obvious bugs)

Beta - module ready to be integrated by early adopters and tested by beta testers (i.e., no more bugs found by the development team)

Release - module ready to be integrated by casual users, will receive lifecycle support (patches)