バージョン番号付けの非常にきめ細かいアプローチを次に示します。
N.x.K
、ここでN
およびK
は整数です。例:1.x.0
、5.x.1
、10.x.33
。中間ビルドに使用されます。
N.M.K
、ここN
でM
およびK
は整数です。例:1.0.0
、5.3.1
、10.22.33
。リリースに使用されます。
N.x.x
、N
は整数です。例:1.x.x
。サポートブランチに使用されます。
N.M.x
、ここでN
およびM
は整数です。例:1.0.x
。リリースブランチに使用されます。
バージョン番号付けのアプローチを簡単に説明する図を次に示します。
PA
意味プレアルファは
A
意味アルファ
B
意味ベータは
AR
意味アルファリリースは
BR
意味ベータリリースでは、
RC
意味のリリース候補を
ST
意味し、安定
このようなバージョン番号付けアプローチの利点は次のとおりです。
- アジャイルソフトウェア開発ライフサイクルの詳細を表します。
- ソースコードリポジトリ構造の詳細を考慮します。
- パターンに慣れた人にとっては自明です。すべてのパターンは異なるアーティファクトを表します。このようなパターンは簡単に解析され、問題追跡などの他の目的に使用できます。
- 説明したバージョン管理アプローチの基本であるバージョン管理パターンセットは、メトリックの収集と計画に使用できます。
- 成熟度と品質レベルの概念に焦点を当てています。多くの場合、1.0.0などのバージョン番号はあまり必要なく割り当てられます(ソフトウェアがディープアルファの場合)。提示されたバージョン番号付けアプローチにより、いくつかのレベルの成熟度を確立できます。最も単純なケースでは、中間ビルド(
N.x.K
)とリリース(N.M.K
)の2つのレベルしかありません。リリースとは、完全なバージョン番号(N.M.K
)のソフトウェアが、サプライヤ企業/組織/チーム内で何らかの品質管理プロセスを経たことを意味します。
- これは、開発とテストの両方のアジャイルな性質の証拠です。
- ソフトウェアの構造とアーキテクチャへのモジュール式アプローチを奨励します。
バージョン管理のアプローチを詳細に表す、より複雑な図もあります。また、バージョニングアプローチへの移行を説明する便利なプレゼンテーションスライドと、バージョン番号付けアプローチの基本原則を示すSCMFVizアプリケーションがあります。プレゼンテーションのスライドでは、ソフトウェアプロジェクトの全期間を通じて同じバージョン管理アプローチに従うことが重要である理由も説明しています。
個人的に、実際のバージョン番号の代わりに日付バージョンを使用するという私の姿勢は、日付バージョンのソフトウェアの開発者が以下を前提としている:
- ソフトウェア開発ライフサイクルについては何も知りません。開発は通常、機敏で反復的です。バージョン番号付けのアプローチは、ソフトウェア開発プロセスの反復的な性質を表す必要があります。
- ソフトウェアの品質を気にしないでください。品質管理と保証は機敏で反復的です。開発と同じです。また、バージョン番号は、開発と品質管理/保証の両方のアジャイルで反復的な性質の証拠でなければなりません。
- アーキテクチャやアプリケーションのアイデアを気にしないでください。(メジャーバージョン番号
N
ではN.M.K
)アプリケーションの両方のアーキテクチャ上のソリューションと基本原理を担当しています。メジャーバージョン番号N
は、アーキテクチャの変更、または主要なアイデアとその動作/機能の原則の変更に応じて変更する必要があります。
- コードベースを制御しないでください。おそらくブランチ(トランク)は1つだけであり、すべてに使用されます。個人的には、コードベースが1つの大きなガベージダンプになることを奨励しているため、これは正しいとは思いません。
このアプローチは少し議論の余地があるように見えるかもしれませんが、これはソフトウェアに適切なバージョン番号を与える最も簡単な方法であると信じています。