バージョンとは、ソフトウェアの改訂や改良などの進み具合を表す数値です。プロジェクトでは、最後にきちんと納品すれば良いというものではありません。ソフトウェアは機能を追加したり、バグを修正したり、新しいシステムに対応するために常に修正や変更が加えられています。そのため、特定時点におけるプロジェクトの結果、状態を正しく把握できなければなりません。特定時点におけるプロジェクトの結果、状態を把握するには、ベースラインを定義し、そのベースラインからの差異を計っていくことで可能になります。バージョンを参照することで、ベースラインを特定することが出来るようになります。
下記形式でバージョンを付与することとします。
メジャーバージョン番号.マイナーバージョン番号.リリース番号.ビルド番号
メジャーバージョン番号
システムやプログラム、ハードウェア、仕様の改訂のうち、メジャーな(大幅な)改訂を識別するために付けられたユニークな番号のことです。開発中メジャーバージョン番号は0とし、正式版をリリースしたときに1に変更します。その他下記の条件に当てはまる場合に変更します。
- 内部構造が大きく変更されてソース・コードの大幅な変更
- 見た目や外観、操作性や機能、性能などの大幅な変更
- (性能や機能向上などで)従来との互換性が著しく低下するほどデータやファイル構造の大幅な変更
マイナーバージョン番号
システムやプログラム、ハードウェア、仕様の改訂のうち、マイナーな(小幅な)改訂を識別するために付けられたユニークな番号のことです。マイナーバージョン番号は0から始まり、下記の条件に当てはまる場合に変更します。
- メジャー・バージョンアップに相当しない程度の小規模な変更
- 対応するOS環境やハードウェアのバージョンアップに対応した修正・変更
メジャーバージョン番号が変更されたら、マイナーバージョン番号は0に初期化されます。
リリース番号
マイルストーンを識別するために付けられたユニークな番号のことです。リリース番号は0から始まり、マイルストーン時に1つずつ増加させます。マイナーバージョンが変更されたら、リリース番号は0に初期化します。
ビルドバージョン番号
ビルドされた実行プログラムを識別するために付けられたユニークな番号のことです。ビルド番号は1から始まり、ビルドするたびに1つずつ増加させます。メジャーバージョン番号、マイナーバージョン番号、リリース番号が変更されても、ビルド番号は変更されません。
バージョンは、プロジェクトを保護するフェールセーフな (復旧を可能とする) メカニズムです。しかし、不正確な対応をすれば、十分に機能させることができません。バージョンは正確に数えていきましょう。