kids encyclopedia robot

Software release life cycle facts for kids

Kids Encyclopedia Facts

The software release life cycle is like a journey a computer program takes from being an idea to something people can use. It involves many steps, including designing, building, testing, and finally sharing the software with everyone. Think of it as growing a plant from a tiny seed to a full-grown tree!

This journey usually has different stages. These stages include "pre-alpha," "alpha," "beta," and "release candidate." After these, the final version, sometimes called "gold," is ready for the public.

Software dev2
A simple example of how software is developed and released.

In the "pre-alpha" stage, the software is just starting. It's when the team plans and builds the first parts. "Alpha testing" is the first real test. Here, the people who made the software test it themselves. They look at the inside workings of the code.

Next comes "beta testing." This is when a bigger group of people, often outside the company, tries out the software. They help find problems and make sure it's easy to use.

After beta testing, the software might have one or more "release candidate" stages. Here, it gets a final polish and more tests. Then, the finished version is ready!

Some software, especially on the internet, is always in a "perpetual beta" state. This means it's always being updated and improved. It's never really "finished." This way, new features can be added quickly, and users can try the software sooner.

How Software Grows: Stages of Development

Pre-alpha: The Idea and Building Stage

The "pre-alpha" stage includes everything that happens before the software is formally tested. This is where the team figures out what the software needs to do. They design how it will work and start writing the code. They also do small tests on individual parts of the code.

For open-source software, which is made by many people working together, there can be different types of pre-alpha versions. Sometimes, they release "milestone" versions. These versions include specific new features as soon as they are ready.

Alpha: First Tests by the Team

The "alpha" phase is the very first stage of testing. "Alpha" is the first letter of the Greek alphabet, like the number 1. During this phase, the developers usually test the software themselves. They use special methods to check the code from the inside.

Other testing teams might also check the software. They test it like a user would, without looking at the code. This is called an "alpha release" when it's tested inside the company.

Alpha software is not fully tested yet. It might have serious errors that could cause crashes or even data loss. It also might not have all the features planned for the final version. Usually, only the developers or a small group of trusted testers get to see alpha software.

This alpha stage usually ends when all the main features are added. This is called "feature-complete."

Feature-complete: All Features Are In!

A "feature-complete" version of software means all the main features are built. But it's not final yet! It still has bugs, or problems, that need fixing. It might also need to run faster or be more stable. This stage happens at the end of alpha testing.

After being feature-complete, the software still needs more testing. It goes through beta testing and bug fixing. It also gets improvements for speed and stability. Only then can it move to the "release candidate" stage and finally become "gold."

Beta: Testing with More People

"Beta" is the second letter of the Greek alphabet. This stage comes after alpha. Software in the beta stage is sometimes called "beta ware."

A beta phase usually starts when the software has all its features. But it probably still has many known or unknown bugs. Beta software often has more bugs than finished software. It might also be slow or cause crashes or data loss.

The main goal of beta testing is to make the software better for users. This often includes checking how easy it is to use. When a beta version is given to users, it's called a "beta release." This is usually the first time the software is available outside the company that made it.

Beta releases can be "open" or "closed." "Closed beta" means only a small, invited group can test it. "Open beta" means anyone interested can try it.

Sometimes, developers call this stage a "preview" or "early access."

Beta testers are people who try out beta software and report problems. They are often customers or future customers. Beta testers usually volunteer their time. They might get free versions of the product or discounts as a thank you.

Perpetual Beta: Always Improving

Some software stays in "perpetual beta." This means new features are always being added. There's no single "final" release. This is common with internet services. Companies can quickly release updates and improvements.

Open and Closed Beta: Who Gets to Test?

Developers can choose to have a closed beta or an open beta.

  • Closed beta: Only a small, invited group of people gets to test the software. This is good for software that works but isn't ready for everyone. Testers report bugs and sometimes suggest new features.
  • Open beta: A much larger group, or anyone interested, can test the software. This helps show the product to many people. It also helps find hidden errors that a small team might miss.

Release Candidate: Almost Ready!

A release candidate (RC) is like a beta version that is almost perfect. It's ready to be released unless big problems show up. At this stage, all features are designed, coded, and tested. There are no major bugs left.

The software is "code complete" when the team agrees no new code will be added. They might still fix small defects or update documents. Beta testers who tried the RC might even get credit for helping. This testing is done from a user's point of view.

Stable Release: The Final Product

The "stable release" is the final "release candidate" that has passed all tests. Any remaining bugs are considered minor and acceptable. This is the version that goes out for people to use.

Some software, like certain Linux versions, has "long term support" (LTS) releases. These are stable versions that only get security updates. This lets developers focus on new products instead of fixing old code.

Releasing the Software

Once released, the software is usually called a "stable release." How it's released depends on if it's on a disc, online, or a web application.

Release to Manufacturing (RTM): Ready for Copies!

"Release to manufacturing" (RTM) means the software is ready to be copied and shipped. This is often called "going gold." The software might have a digital signature. This lets you check that it's real and hasn't been changed.

A special copy called the "gold master" is sent to make many copies, like on discs. This term comes from the music industry, where a "gold master" record is used to make copies. RTM happens before the software is available to everyone.

RTM is mostly used for software sold in stores, especially with computer hardware. It means the software is good enough for mass distribution. It doesn't say how it will be delivered, just that it's ready.

General Availability (GA): Available to Everyone!

General availability (GA) is when the software is ready for everyone to buy. This includes finishing all business steps, like security checks and making it available in different languages and regions.

It can take days or months between RTM and GA. This time is needed to finish all the steps to make the software widely available. At this stage, the software is "live."

ProductEndOfLifeCycle
Milestones in a product life cycle: general availability (GA), end of life announcement (EOLA), last order date (LOD), and end-of-life (EOL).

Release to the Web (RTW): Online Delivery

Release to the Web (RTW) means the software is delivered using the internet. No physical discs are made by the company. This way of releasing software has become very common as more people use the internet.

Support: Keeping Software Running

After software is released, it often gets updates. These can be "service releases," "patches," or "service packs." These updates fix problems and sometimes add new features. For example, older versions of Windows often received service packs. These packs were collections of updates and fixes in one package.

Some software, like anti-virus programs or online games, gets regular support for a long time. This means the company keeps updating and fixing it.

End-of-life: When Support Ends

When software is no longer sold or supported, it has reached its "end-of-life" (EOL). It might be called discontinued, retired, or obsolete. But some users might keep using it for a while, even if it's very old.

After the end-of-life date, the company usually stops adding new features. They also stop fixing bugs or security problems. They won't provide support for the product anymore. Sometimes, the company might release the software's code. Then, volunteers can keep it updated. If not, people might try to figure out how it works later.

History: Where "Alpha/Beta" Came From

The terms "alpha" and "beta" testing started at a company called IBM. People at IBM used similar terms for software development as early as the 1950s. An "A" test was checking a new product before telling the public about it. A "B" test was checking it before it was made in large numbers. A "C" test was the final check before it was available to everyone.

As software became more important for IBM, "alpha test" meant the test before the announcement. "Beta test" meant it was ready for general use. A manager at IBM, Martin Belsky, said he invented the terms. IBM stopped using "alpha/beta" in the 1960s, but the terms had already become popular. IBM used "field test" for testing done by customers, not "beta test."

Later, public beta tests became more common. In 1984, a word processor called WordVision let early customers pay to test their product. In 2000, Apple released a boxed "Mac OS X Public Beta" operating system. Microsoft also released "community technology previews" for Windows Vista. From 2009 to 2011, the popular game Minecraft was in public beta.

In 2005, a tech website noted that some beta versions stayed in beta for years, even though many people used them. For example, Gmail and Google News were in beta for a long time. Google News left beta in 2006, and Gmail in 2009.

Since Windows 8, Microsoft has called its pre-release software "preview" instead of "beta." All early versions released through the Windows Insider Program are called "Insider Preview builds." Sometimes, "beta" can also mean something closer to a final version, or it can be used for a time-limited demo or for marketing.

See also

  • Application lifecycle management (How software is managed through its life)
  • Release engineering (The process of releasing software)
  • Release management (Managing the release process)
  • Rolling release (Software that is continuously updated)
  • Software deployment (How software is installed and set up)
  • Software versioning (How software versions are numbered)
kids search engine
Software release life cycle Facts for Kids. Kiddle Encyclopedia.