ソフトウェアリリースライフサイクルとは、ソフトウェア製品(例:オペレーティングシステム)の開発、テスト、配布のプロセスです。通常、プレアルファ、アルファ、ベータ、リリース候補といった複数の段階を経て、最終バージョン(ゴールドバージョン)が一般公開されます。

プレアルファとは、ソフトウェアがまだ設計・構築段階にある開発の初期段階を指します。アルファテストは正式なテストの最初の段階であり、ホワイトボックス手法を用いてソフトウェアを社内でテストします。ベータテストは次の段階で、通常は開発組織外の、より大規模なユーザーグループによってソフトウェアがテストされます。ベータ段階では、ユーザーへの影響を軽減することに重点が置かれ、ユーザビリティテストが含まれる場合があります。
ベータ テストの後、ソフトウェアは 1 つ以上のリリース候補フェーズを経る場合があります。このフェーズでは、最終バージョンがリリースされる前に、さらに改良とテストが行われます。
一部のソフトウェア、特にインターネットやテクノロジー業界では、永続的なベータ版としてリリースされます。これは、継続的に更新と改良が行われ、完全に完成した製品とは決してみなされないことを意味します。このアプローチにより、よりアジャイルな開発プロセスが可能になり、開発サイクルの早い段階でソフトウェアをリリースし、ユーザーに利用してもらうことが可能になります。
プレアルファ版とは、正式なテスト前のソフトウェアプロジェクトで実施されるすべての活動を指します。これらの活動には、要件分析、ソフトウェア設計、ソフトウェア開発、ユニットテストなどが含まれます。一般的なオープンソース開発では、プレアルファ版にはいくつかの種類があります。マイルストーン版には特定の機能セットが含まれており、機能が完成次第リリースされます。
リリースライフサイクルにおけるアルファフェーズは、ソフトウェアテストの最初のフェーズです(アルファはギリシャ語アルファベットの最初の文字で、数字の1を表します)。このフェーズでは、開発者は通常、ホワイトボックステスト手法を用いてソフトウェアをテストします。その後、別のテストチームによって、ブラックボックステストまたはグレーボックステスト手法を用いた追加検証が行われます。組織内でブラックボックステストに移行することを、アルファリリースと呼びます。[ 1 ] [ 2 ]
アルファソフトウェアは、顧客にリリースされる前に開発者によって徹底的にテストされていません。アルファソフトウェアには重大なエラーが含まれている可能性があり、その結果不安定になり、クラッシュやデータ損失が発生する可能性があります。[ 3 ]アルファソフトウェアには、最終バージョンに予定されている機能がすべて含まれているとは限りません。[ 4 ]一般に、プロプライエタリソフトウェアの場合、アルファソフトウェアが外部で利用可能になることはまれですが、オープンソースソフトウェアでは、公開されているアルファバージョンが存在することがよくあります。アルファフェーズは通常、機能の凍結で終了し、ソフトウェアにそれ以上の機能が追加されないことを示します。この時点で、ソフトウェアは機能が完了すると言われています。ベータテストは、サプライヤーサイトでの受け入れテスト(アルファテスト)に続いて、ソフトウェアが製品として一般リリースされる直前に実行されます。 [ 5 ]
ソフトウェアの機能完了版(FC版)は、計画された機能や主要な機能がすべて実装されていますが、バグ、パフォーマンス、安定性の問題があるため、まだ最終版ではありません。[ 6 ]これは、開発中のアルファテストの最後に発生します。
通常、機能が完成したソフトウェアは、リリース候補に移行し、最終的にゴールドステータスになる前に、ベータ テストとバグ修正、パフォーマンスまたは安定性の強化を行う必要があります。
ベータはギリシャ語のアルファベットの2番目の文字にちなんで名付けられ、アルファに続くソフトウェア開発段階です。ベータ段階は通常、ソフトウェアの機能は完成しているものの、既知または未知のバグがいくつか含まれている可能性がある時点で始まります。[ 7 ]ベータ段階のソフトウェアには、完成したソフトウェアよりも多くのバグや速度またはパフォーマンスの問題が一般的に含まれており、クラッシュやデータ損失が発生する可能性もあります。ベータテストの焦点はユーザーへの影響を軽減することにあり、多くの場合、ユーザビリティテストが組み込まれています。ベータ版をユーザーに提供するプロセスはベータリリースと呼ばれ、通常、ソフトウェアが開発元の組織外で初めて利用可能になります。ソフトウェアのベータリリースは、公開されるか、限られたユーザーのみに提供されるかによって、オープンまたはクローズドのいずれかになります。ベータ版ソフトウェアは、組織内および見込み顧客へのデモンストレーションやプレビューに役立つことがよくあります。一部の開発者は、この段階をプレビュー、プレビューリリース、プロトタイプ、テクニカルプレビュー、またはテクノロジープレビュー(TP)と呼びます。[ 8 ]
ベータテスターとは、ベータ版ソフトウェアに関する問題を積極的に報告する人々です。彼らは通常、ソフトウェアを開発する組織の顧客、または見込み顧客の代表者です。ベータテスターは無償でサービスを提供することが多いですが、テスト対象のバージョンの提供、正式版の割引、その他の特典を受けることも少なくありません。[ 9 ] [ 10 ]
一部のソフトウェアは、いわゆる「永久ベータ」の状態で維持されます。これは、最終的な「安定版」リリースを確立することなく、継続的に新機能が追加され続けるものです。インターネットの普及により、ソフトウェアの迅速かつ安価な配布が可能になったため、企業は「ベータ」という用語の使用に関してより緩やかなアプローチをとるようになりました。[ 11 ]

リリース候補版(RC )は、ガンマテストまたは「シルバーリリース」とも呼ばれ、安定した製品になる可能性のあるベータ版です。重大なバグが発見されない限り、リリースの準備が整っています。製品安定化のこの段階では、すべての製品機能が設計、コーディング、テストされ、1回以上のベータサイクルを経て、致命的なバグは発見されていません。開発チームがこのリリースに全く新しいソースコードを追加しないことに合意した場合、そのリリースはコード完了と呼ばれます。ただし、欠陥を修正するためのソースコードの変更、ドキュメントやデータファイルの変更、テストケースやユーティリティ用の周辺コードの変更など、追加の作業が必要になる場合があります。
安定リリースは、プロダクションリリースとも呼ばれ、すべての検証とテスト段階を通過した最新のリリース候補(RC )です。残っている既知のバグは許容範囲内とみなされます。このリリースはプロダクションリリースとなります。
一部のソフトウェア製品 ( DebianなどのLinux ディストリビューションなど) には、すでに試行およびテスト済みの完全リリースに基づいてセキュリティ更新のみが提供される 長期サポート( LTS ) リリースもあります。
リリースされたソフトウェアは、一般的に「安定リリース」と呼ばれます。正式な用語は、リリース方法(物理メディア、オンラインリリース、ウェブアプリケーションなど)によって異なります。[ 12 ]
通常、リリースされたソフトウェアには、公式のバージョン名またはバージョン番号が割り当てられます。(プレリリース ソフトウェアには、別個の内部プロジェクト コード名または内部バージョン番号がある場合とない場合があります)。

「製造リリース」(RTM)は「ゴールドリリース」とも呼ばれ、ソフトウェア製品の出荷準備が完了したことを示す用語です。このビルドはデジタル署名されている場合があり、エンドユーザーはソフトウェア購入の完全性と真正性を検証できます。RTMビルドは「ゴールドマスター」またはGM [ 13 ]とも呼ばれ、必要に応じて大量複製またはディスク複製のために送られます。この用語は、オーディオレコード製造業界、特にマスタリングのプロセスに由来しています。RTMは、製品が一般にリリースされる一般提供(GA)に先立つものです。ゴールデンマスタービルド(GM)は通常、開発者向けベータ段階にあるソフトウェアの最終ビルドです。通常、iOSの場合はメジャーリリース前の最終ビルドですが、例外もいくつかあります。
RTM は通常、商業または政府による生産および配布における特殊なソフトウェア生産やプロジェクトとは対照的に、特定の小売量産ソフトウェアのコンテキストで使用されます。この場合、ソフトウェアは関連するコンピュータ ハードウェアの販売のバンドルの一部として販売され、通常はソフトウェアと関連するハードウェアが最終的に小売店で大量/一般向けに利用可能になり販売されることになり、ソフトウェアが定義された品質レベルを満たし、大量小売配布の準備ができていることを示します。RTM は他のコンテキストでは、ソフトウェアが関連するハードウェアのエンド ユーザーのコンピュータまたはマシンにインストールまたは配布するために、クライアントまたは顧客に配信またはリリースされていることを意味する場合もあります。この用語は配信メカニズムやボリュームを定義するものではなく、大量配布に十分な品質があることのみを示します。エンジニアリング組織からの成果物は、多くの場合、複製用または Web 用のイメージを作成するために使用されるゴールデン マスター メディアの形式です。

一般販売開始(GA)とは、必要なすべての商業化活動が完了し、ソフトウェア製品が購入可能になるマーケティング段階です。ただし、言語、地域、電子媒体かメディアかによって状況は異なります。[ 14 ]商業化活動には、セキュリティとコンプライアンスのテスト、ローカライズ、世界的な販売開始などが含まれます。GAに必要なすべての商業化活動を完了するには時間がかかるため、RTMからGAまでの期間は、一般販売開始が宣言されるまでに数日から数ヶ月かかる場合があります。この段階で、ソフトウェアは「公開」されます。
Webリリース(RTW)またはWebリリースは、インターネットを利用したソフトウェア配信手段です。このタイプのリリース方式では、メーカーは物理メディアを作成しません。インターネットの利用拡大に伴い、Webリリースはより一般的になっています。
ソフトウェアはサポート期間中、サービスリリース、パッチ、またはサービスパック(「暫定リリース」または「メンテナンスリリース」(MR)と呼ばれることもあります)の対象となる場合があります。例えば、マイクロソフトはWindows XPの32ビット版向けに3つの主要なサービスパックを、 64ビット版向けに2つのサービスパックをリリースしました。[ 15 ]このようなサービスリリースには、一連のアップデート、修正、および機能強化が含まれており、単一のインストール可能なパッケージの形で提供されます。また、新機能が実装されることもあります。一部のソフトウェアは、定期的なサポートを前提としてリリースされます。一般的に長期サポートが標準となっているソフトウェアのカテゴリには、ウイルス対策スイートや大規模多人数同時参加型オンラインゲーム(MMO)などがあります。このWindows XPの例を続けると、マイクロソフトは延長サポート終了後もさらに5年間、有料アップデートを提供していました。つまり、サポートは2019年4月8日に終了したことになります。[ 16 ]
ソフトウェアが販売またはサポートされなくなると、その製品は寿命が尽きた、製造中止になった、廃止された、非推奨になった、放棄された、または廃止されたと言われますが、プラットフォームが廃止された後も、ユーザーロイヤルティはしばらく存続することがあります。例として、共通デスクトップ環境[ 17 ]やシンクレアZXスペクトラム[ 18 ]が挙げられます。
サポート終了日以降、開発者は通常、新機能の実装、既存の欠陥、バグ、脆弱性(サポート終了日以前に既知であったかどうかに関わらず)の修正、製品のサポート提供を行いません。開発者が希望する場合は、プラットフォームをボランティアによって維持できるよう、ソースコードを公開する場合があります。
「アルファ/ベータ」テストという用語の使用はIBMで始まりました。IBMのソフトウェア開発に関する同様の用語は、少なくとも1950年代(おそらくそれ以前)からIBMに関わっていた人々によって使用されていました。「A」テストは、新製品の一般公開前の検証でした。「B」テストは、製品が製造される前に行われる検証でした。「C」テストは、製品の一般公開前の最終テストでした。ソフトウェアがIBMの製品群の重要な部分を占めるようになると、アルファテストという用語は発表前のテストを指し、ベータテストは一般公開に向けた製品の準備状況を示すために使用されるようになりました。IBMの初期のソフトウェアプロジェクトのマネージャーを務めていたマーティン・ベルスキーは、この用語を発明したと主張しています。IBMは1960年代にアルファ/ベータという用語を廃止しましたが、当時までにかなり広く注目を集めていました。顧客によるテストを指す「ベータテスト」はIBMでは使用されておらず、「フィールドテスト」という用語を使用していました。
その後、主要なパブリックベータ版が開発され、初期の顧客はIBM PC用のWordVisionワードプロセッサの「パイオニア版」を49.95ドルで購入しました。1984年、スティーブン・メインズは「素晴らしいマーケティングの成功で、ブルースとジェームズ・プログラム・パブリッシャーズは人々に製品をテストする特権にお金を払わせることに成功した」と書いています。 [ 19 ] 2000年9月、AppleのMac OS Xパブリックベータオペレーティングシステムのパッケージ版がリリースされました。[ 20 ] 2005年9月から2006年5月の間、MicrosoftはWindows Vistaのコミュニティテクノロジプレビュー(CTP )をリリースしました。[ 21 ] 2009年から2011年まで、Minecraftはパブリックベータ版でした。
2005年2月、ZDNetはベータ版が何年も放置され、まるで本番環境のように使用されるという現象に関する記事を掲載した。[ 22 ]例えば、 GmailとGoogleニュースは広く利用されているにもかかわらず、長い間ベータ版のままであったと記事は指摘している。Googleニュースは2006年1月にベータ版を終了し、それに続いてGmailを含むGoogleアプリ(現在はGoogle Workspaceと改名)も2009年7月にベータ版を終了した。 [ 12 ] Windows 8の導入以来、マイクロソフトはプレリリース版ソフトウェアをベータ版ではなくプレビューと呼んでいる。2014年に開始されたWindows Insider Programを通じてリリースされたすべてのプレリリース版ビルドは「Insider Previewビルド」と呼ばれている。「ベータ」は、リリース候補版に近いもの、期間限定のデモ、あるいはマーケティング手法を指す場合もある。[ 23 ]
アルファ版ソフトウェアは、通常、ほとんど動作せず、ゲームプレイや完全なレベルなどの主要な機能が欠けています。