ソフトウェアリリースライフサイクル

ソフトウェア・リリース・ライフサイクル  は、コンピュータソフトウェアの開発段階からリリース後に成熟する段階までの総称。サイクルは、最初の開発から最終的なリリースまでが範囲であり、ソフトウェアの改善やソフトウェアにまだ存在するバグ修正を行う、更新プログラムまでが含まれる。

ソフトウェア製品は、テスト段階でのユーザーの信頼性に対する期待値を下げるためにベータ版として公に宣伝されることがあり、コンピューター業界では//ベータ版//の段階で製品にアクセスしているユーザーが最も多い。

1. 歴史
-----

「アルファ/ベータ」テスト用語は IBMに由来する。 IBMのソフトウェア開発に関する同様の用語は、少なくとも1950年代からIBMに関係者が使用していた。 「A」テストは、公表前の新製品の検証だった。 「B」テストは、製造する製品をリリースする前の検証だった。 「C」テストは、製品が一般に発売される前の最終テストだった。ソフトウェアがIBMの製品の重要な部分になると、アルファテストの用語は発表前のテストを示すために使用され、ベータテストは製品の一般提供の準備状況を示すために使用された。 IBMの初期のソフトウェアプロジェクトのいくつかのマネージャーであるMartin Belskyは、この用語を発明したと主張しました。 IBMは1960年代にアルファ/ベータの用語の利用をやめたが、それまでにかなり幅広い注目を集めていた。お客様が行ったテストを指す「ベータテスト」の使用は、IBMでは行われませんでした。むしろ、IBMは「フィールドテスト」という用語を使用した。

2. 開発段階
-------

2.1. プレアルファ版
------------

プレアルファとは、正式なテストの前にソフトウェアプロジェクト中に実行されるすべての活動を指す。これらの活動には、要求分析、ソフトウェア設計、ソフトウェア開発、および単体テストが含まれる。典型的なオープンソース開発では、いくつかのタイプのプレアルファバージョンがあります。//マイルストーン//バージョンには特定の機能セットが含まれており、機能が完了するとすぐにリリースされる。

2.2. アルファ版
----------

リリースライフサイクルのアルファフェーズは、ソフトウェアテストの最初のフェーズである。このフェーズでは、開発者は通常、ホワイトボックステストの手法を使用してソフトウェアをテストする。次に、別のテストチームが、ブラックボックステストまたはグレーボックステストの手法を使用して追加の検証を実行する。組織内のブラックボックステストへの移行は、//アルファリリース//として知られている。

アルファソフトウェアは、顧客にリリースされる前に開発者によって徹底的にテストされていない。 アルファソフトウェアには重大なエラーが含まれている可能性があり、その結果不安定になるとクラッシュやデータ損失が発生する可能性がある 。 アルファソフトウェアには、最終バージョンで計画されているすべての機能が含まれているとは限らない。 一般に、プロプライエタリソフトウェアではアルファソフトウェアの外部利用はまれだが、オープンソースソフトウェアには多くの場合、公開されているアルファバージョンがある。アルファフェーズは通常、機能フリーズで終了する。これは、ソフトウェアに機能が追加されないことを示す。現時点では、ソフトウェアはフィーチャー・コンプリートであると言われている。ベータテストは、サプライヤのサイトでの受け入れテストの後、製品としてのソフトウェアの一般リリースの直前に実行される。

2.3. ベータ版
---------

ギリシャ語のアルファベットの2番目の文字にちなんで名付けられたベータ版は、アルファ版に続くソフトウェア開発フェーズである。ベータ段階のソフトウェアは、ベータウェアとも呼ばれる。 ベータフェーズは通常、ソフトウェアが機能を完了したときに開始されるが、既知または未知のバグが多数含まれている可能性がある。 ベータ段階のソフトウェアには、通常、完成したソフトウェア、速度、またはパフォーマンスの問題よりもはるかに多くのバグがあり、それでもクラッシュやデータ損失を引き起こす可能性がある。ベータテストの焦点は、ユーザーへの影響を減らすことであり、多くの場合、ユーザビリティテストが組み込まれている。ベータ版をユーザーに提供するプロセスは//ベータリリース//と呼ばれ、通常、ソフトウェアを開発した組織の外部でソフトウェアを利用できるのはこれが初めてである。ソフトウェアベータリリースは、公開されているか、限られた対象者のみが利用できるかに応じて、公開または非公開のいずれかになる。ベータ版ソフトウェアは、多くの場合、組織内のデモンストレーションやプレビュー、および見込み客に役立つ。一部の開発者は、この段階を//プレビュー//、//プレビューリリース//、//プロトタイプ//、//テクニカルプレビュー/////テクノロジープレビュー//、 または//早期アクセスと//呼んでいる。 Windows 8の導入以来、 マイクロソフトはプレリリースソフトウェアを//ベータ版//ではなく//プレビュー//版と呼んでいる。 2014年にリリースされたWindows Insider Programを通じてリリースされたすべてのプレリリースビルドは、「Insider Previewビルド」と呼ばれる。「ベータ」は、リリース候補のようなもの、または期間限定のデモ、またはマーケティング手法の形式を示す場合もある。

//ベータテスター//は、ベータソフトウェアの問題を積極的に報告する人々である。彼らは通常、ソフトウェアを開発する組織の顧客または見込み顧客の代表者である。ベータテスターは無料でサービスを提供する傾向があるが、テストする製品のバージョン、リリースバージョンの割引、またはその他のインセンティブを受け取ることがよくある。

2.3.1. パーペチュアルベータ
-----------------

一部のソフトウェアは、いわゆる//パーペチュアルベータ版//に保持されており、最終的な「安定した」リリースを確立することなく、新しい機能がソフトウェアに継続的に追加される。インターネットがソフトウェアの迅速で安価な配布を促進するにつれて、企業は「ベータ」という言葉の使用に対してより緩いアプローチを取り始めた。 2005年2月、 ZDNetは、ベータ版が何年も留まり、実稼働レベルであるかのように使用されるという現象についての記事を公開した。 たとえば、 GmailとGoogle ニュースは、広く使用されているものの、長い間ベータ版であったと述べている。Googleニュースは2006年1月にベータ版を終了し、続いて2009年7月にGmailを含むGoogleアプリがリリースされた。 この手法により、開発者は残りの問題に対する完全なサポートと責任の提供を遅らせることができる。

2.3.2. 公開ベータ版と非公開ベータ版
---------------------

開発者は、//プライベートベータ//とも呼ばれる//クローズドベータ//、または//パブリックベータ//とも呼ばれる//オープンベータの//いずれかをリリースできる。クローズドベータ版は、招待によるユーザーテストのために制限された個人グループにリリースされるが、オープンベータテスターは、より大きなグループまたは関心のある人からのものである。プライベートベータは、価値を提供できるソフトウェアに適している可能性があるが、スケーリングの問題、ドキュメントの不足、または重要な機能の欠如のために、誰もが使用する準備ができていない。テスターは、見つけたバグを報告し、最終バージョンで利用できるはずだと思う追加機能を提案することもある。主要なパブリックベータテストの例は次のとおりである。

初期顧客がIBM PC向けのWordVisionワードプロセッサの「パイオニア版」を$49.95で購入した。 1984年、 Stephen Manesは、「素晴らしいマーケティングクーデターの中で、BruceとJames Program Publishersは、製品をテストする特権//に対して//人々に//お金//を//払わ//せることができた」と書いている。
2000年9月、 AppleのMac OSXパブリックベータオペレーティングシステムの//ボックス版//がリリースされた。
2005年9月から2006年5月までのMicrosoft Windows Vista用の//コミュニティテクノロジプレビュー// のリリース。
2009年から2011年まで、 //Minecraft//はパブリックベータ版であった。オープンベータは、潜在的な消費者に製品をデモンストレーションするという2つの目的と、はるかに小規模なテストチームでは見つけられない可能性のあるあいまいなエラーを明らかにする可能性のある非常に幅広いユーザーベースでのテストの2つの目的を果たす。

2.4. リリース候補版
------------

「ゴーイングシルバー」としても知られる//リリース候補//