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

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動
ソフトウェアリリースライフサイクル

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

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

歴史[編集]

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

開発段階[編集]

プレアルファ版[編集]

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

アルファ版[編集]

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

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

ベータ版[編集]

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

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

パーペチュアルベータ[編集]

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

公開ベータ版と非公開ベータ版[編集]

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

  • 初期顧客がIBM PC向けのWordVisionワードプロセッサの「パイオニア版」を$49.95で購入した。 1984年、 Stephen Manesは、「素晴らしいマーケティングクーデターの中で、BruceとJames Program Publishersは、製品をテストする特権に対して人々にお金払わせることができた」と書いている[13]
  • 2000年9月、 AppleMac OSXパブリックベータオペレーティングシステムのボックス版がリリースされた[14]
  • 2005年9月から2006年5月までのMicrosoft Windows Vista用のコミュニティテクノロジプレビュー (CTP)のリリース[15]
  • 2009年から2011年まで、 Minecraftはパブリックベータ版であった。

オープンベータは、潜在的な消費者に製品をデモンストレーションするという2つの目的と、はるかに小規模なテストチームでは見つけられない可能性のあるあいまいなエラーを明らかにする可能性のある非常に幅広いユーザーベースでのテストの2つの目的を果たす。

リリース候補版[編集]

「ゴーイングシルバー」としても知られるリリース候補Release Candidate, RC) は、安定した製品になる可能性のあるベータバージョンであり、重大なバグが発生しない限り、すぐにリリースできる。製品安定化のこの段階では、すべての製品機能が1つ以上のベータサイクルを通じて設計、コーディング、およびテストされており、既知のショートッパークラスのバグはない。開発チームがこのリリースにまったく新しいソースコードが追加されないことに同意した場合、リリースはコード完了と呼ばれます。欠陥を修正するためのソースコードの変更、ドキュメントとデータファイルの変更、およびテストケースやユーティリティの周辺コードがまだ存在する可能性がある。ベータテスターは、個人的に選択された場合、リリース候補を完成品であるかのように使用したことでクレジットされることがよくあります。ベータテストは、クライアントまたは顧客の場所で、ユーザーの観点からソフトウェアをテストするために実施される。

安定リリース[編集]

プロダクションリリースとも呼ばれる安定版リリースは、すべての検証/テストに合格した最後のリリース候補(RC)である。残りのバグは許容できると見なされます。このリリースは本番環境に移行する。一部のドメイン( Linuxディストリビューションなど)には、通常リリースまたは安定リリースと、長期間維持される長期サポート(LTS)リリースの2種類の安定リリースがある。

出荷[編集]

リリース (出荷) されると、ソフトウェアは一般に「安定版リリース」として知られている。正式な用語は、多くの場合、リリースの方法(物理メディア、オンラインリリース、またはWebアプリケーション)によって異なる。

製造工程へのリリース(RTM)[編集]

「ゴーイングゴールド」とも呼ばれる製造へのリリース(Release to manufacturing, RTM)という用語は、ソフトウェア製品を提供する準備ができたときに使用される用語である。このビルドはデジタル署名されている場合があり、エンドユーザーはソフトウェア購入の整合性と信頼性を検証できます。 「ゴールドマスター」またはGM [16][17]として知られるRTMビルドのコピーは、大量複製またはディスク複製のために出荷される。この用語は、オーディオレコード作成業界、特にマスタリングのプロセスから取られている。 RTMは、製品が一般にリリースされるときに一般提供(GA)に先行します。ゴールデンマスタービルド(GM)は通常、開発者向けのベータ段階にあるソフトウェアの最終ビルドである。通常、 iOSの場合、これはメジャーリリース前の最終ビルドだが、いくつかの例外がある。

これは通常、特定の小売りの大量生産ソフトウェアのコンテキストで使用される。これは、商用または政府の生産および配布における特殊なソフトウェアの生産またはプロジェクトとは対照的に、関連するコンピューターハードウェアの販売でバンドルの一部としてソフトウェアが販売される場合です。ソフトウェアおよび関連するハードウェアは、最終的には小売店で大量/公開ベースで入手および販売され、ソフトウェアが定義された品質レベルを満たし、大量小売販売の準備ができていることを示す。 RTMは、他のコンテキストでは、関連するハードウェアエンドユーザーのコンピューターまたはマシンにインストールまたは配布するために、ソフトウェアがクライアントまたは顧客に配信またはリリースされたことを意味する場合もある。この用語は、配信メカニズムやボリュームを定義するものではありませ。品質が大量配布に十分であると述べているだけである。エンジニアリング組織からの成果物は、複製やWeb用の画像の作成に使用されるゴールデンマスターメディアの形式であることがよくある。

一般提供開始[編集]

製品ライフサイクルのマイルストーンの例:一般提供(GA)、保守終了の発表(EOLA)、販売終了(LOD)、保守終了(EOL)

一般提供開始 (General Availability, GA)は、必要なすべての商品化活動が完了し、ソフトウェア製品を購入できるマーケティング段階です。ただし、言語、地域、電子機器とメディアの可用性によって異なる[18]。 商業化活動には、セキュリティとコンプライアンスのテスト、およびローカリゼーションと世界的な可用性が含まれる可能性があります。 GAが必要とするすべての商品化活動を完了するために必要な時間のため、RTMとGAの間の時間は、一般に利用可能なリリースが宣言されるまでに1週間から数か月かかる場合があります。この段階で、ソフトウェアは「稼働」している。

Webへのリリース(RTW)[編集]

Webへのリリース(Release to the Web, RTW)またはWebリリースは、配布にインターネットを利用するソフトウェア配信の手段です。このタイプのリリースメカニズムでは、製造元によって物理メディアは作成されません。インターネットの使用が増えるにつれて、Webリリースはより一般的になりつつあります。

サポート[編集]

サポートされている存続期間中、ソフトウェアはサービスリリース、パッチ、またはサービスパックの対象となることがあり、「暫定リリース」または「メンテナンスリリース」(MR)とも呼ばれます。たとえば、マイクロソフトは、 Windows XPの32ビット版用に3つの主要なサービスパックをリリースし、 64ビット版用に2つのサービスパックをリリースしました。このようなサービスリリースには、単一のインストール可能なパッケージの形式で提供される更新、修正、および拡張機能のコレクションが含まれています。また、新しい機能を実装する場合もあります。一部のソフトウェアは、定期的なサポートを期待してリリースされています。通常、アンチウイルスソフトウェア大規模マルチプレイヤーオンラインゲームなど、一般的に長期にわたるサポートを伴うソフトウェアのクラスがあります。このWindows XPの例を続けると、マイクロソフトは、拡張サポートの終了後、さらに5年間有料アップデートを提供しました。これは、サポートが2019年4月8日に終了したことを意味します。

保守終了[編集]

ソフトウェアの販売またはサポートが終了すると、製品はサポート終了、廃止、廃版と言われるが、ユーザーの忠誠心は、その後もしばらくの間、時にはAtari STやSinclair ZX Spectrumのようにプラットフォームの廃止よりも長く存在し続ける可能性がある。

開発者は通常、サポート終了日以降、新しい機能を実装したり、既存の欠陥、バグ、または脆弱性を修正したり(その日付より前にわかっているかどうかに関係なく)、製品のサポートを提供しない。開発者が望む場合は、ソースコードをリリースして、プラットフォームが再び稼働し、ボランティアによって保守されるようにすることができる。

関連項目[編集]

脚注[編集]

  1. ^ Why Google kept Gmail in "beta" for so many years.”. 2020年12月21日閲覧。
  2. ^ Encyclopedia definition of alpha version”. PC Magazine. 2011年4月27日時点のオリジナルよりアーカイブ。2011年1月12日閲覧。
  3. ^ Ince, Darrel, ed. A Dictionary of the Internet (3 ed.). Oxford University Press. ISBN 9780191744150. https://www.oxfordreference.com/abstract/10.1093/acref/9780191744150.001.0001/acref-9780191744150-e-95?rskey=VLB7Gk&result=2 2019年7月15日閲覧。 
  4. ^ “The Next Generation 1996 Lexicon A to Z”. Next Generation (Imagine Media) (15): 29. (March 1996). "Alpha software generally barely runs and is missing major features like gameplay and complete levels." 
  5. ^ A Dictionary of Computer Science (7th ed.). Oxford University Press. pp. 44. ISBN 9780199688975 
  6. ^ Definition of betaware in the Free Online Encyclopedia”. thefreedictionary.com. 2015年4月6日閲覧。
  7. ^ “The Next Generation 1996 Lexicon A to Z”. Next Generation (Imagine Media) (15): 30. (March 1996). 
  8. ^ Technology Preview Features Support Scope”. Red Hat. 2015年3月18日閲覧。
  9. ^ The inconvenient truths behind betas Archived 2011-04-30 at the Wayback Machine.
  10. ^ Waiting with Beta'd Breath TidBITS #328 (May 13, 1996)”. 2006年5月15日時点のオリジナルよりアーカイブ。2020年12月21日閲覧。
  11. ^ A long winding road out of beta | Tech News on ZDNet” (2005年2月14日). 2005年2月14日時点のオリジナルよりアーカイブ。2019年4月28日閲覧。
  12. ^ Google Apps is out of beta (yes, really)”. Google Blog. Google (2009年7月7日). 2011年1月21日時点のオリジナルよりアーカイブ。2011年1月12日閲覧。
  13. ^ “Taking A Gamble With Word Vision”. PC Magazine - The Independent Guide To IBM Personal Computers (PC Communications Corp.) 3 (6): 211–221. (1984-04-03). ISSN 0745-2500. 
  14. ^ “Apple Releases Mac OS X Public Beta” (プレスリリース), Apple Inc., (2000年9月13日), オリジナルの2011年5月1日時点におけるアーカイブ。, https://web.archive.org/web/20110501091431/http://www.apple.com/pr/library/2000/sep/13macosx.html 2011年2月22日閲覧。 
  15. ^ “Microsoft Windows Vista October Community Technology Preview Fact Sheet” (プレスリリース), Microsoft, (2005年10月), オリジナルの2011年4月30日時点におけるアーカイブ。, https://web.archive.org/web/20110430145018/http://www.microsoft.com/presspass/newsroom/winxp/WinVistaCTPFS.mspx 2011年2月22日閲覧。 
  16. ^ What is Golden Master (GM)? - Definition from Techopedia” (英語). Techopedia.com. 2020年12月21日閲覧。
  17. ^ Mac OS X "Gold Master" Released To Manufacturing”. Apple Newsroom. 2020年12月21日閲覧。
  18. ^ Luxembourg, Yvan Philippe (20 May 2013). Top 200 SAM Terms – A Glossary Of Software Asset Management Terms. OMTCO. http://omtco.eu/references/sam/top-200-sam-terms-a-glossary-of-software-asset-management-terms/ 2013年5月21日閲覧。. 

参考文献[編集]

  • Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Jez Humble, David Farley; ISBN 0-321-60191-2