LoginSignup
0
1

More than 5 years have passed since last update.

VCS入門:6章 SCMを意識したVCS利用

Last updated at Posted at 2013-10-16

↑目次 | ← 5章 SCMという智慧

6章 SCMを意識したVCS利用

SCMの目的が分かったところで、その考えをどのようにVCS利用方法に取り入れていくか、考えていきましょう。

VCSの活用法

SCMでやりたいことを今一度まとめると、仕様変更、バグなどをトリガーとした「変更依頼」で発生した、ソフトウェア構成の変更履歴について、

  • 識別
  • 参照
  • 再現

が出来なくてはなりません。

このことから、VCSを使う際には次のことを意識する必要があります。

  1. ソースコード以外も管理する
  2. 履歴を識別するメタデータを付加する
  3. 「タグ」を活用する

1. ソースコード以外も管理する

VCSに対するよくある誤解の一つが「ソースコードのバージョン管理を行うツール」というものです。ですが、前の章で述べたように「ソースコード」はソフトウェアを構成する要素のほんの一部でしかありません。ソースコードだけ履歴を残しても、ソフトウェアを再現することはできないのです。

したがって、原則としてソースコードの他に設定ファイルや設計書などのドキュメント類も、VCSで管理する必要があります。

VCS管理対象

図6-1 VCS管理対象

2. 履歴を識別するメタデータを付加する

ソースコード以外の履歴を管理するようにしたとして、今度はその履歴をどうやって「識別」するのかを考えなければいけません。4章で紹介した

  • 「どのように」ではなく、その作業を「何故」「何を」「何のために」行うかをメッセージに残す

という使い方を心がけても、どんな変更が行われたかはわかりますが、それがどういった「変更依頼」を元に行われたかはわかりません。

この問題を解決するには、まずVCSとは別のところで「変更依頼」が管理されていることが前提として必要になります。それは例えば、Excelなどで作られた「バグ票」、「QA票」、「仕様変更依頼書」などのドキュメント類があるでしょう。

こういったドキュメントには、その名前とともに識別するための「番号」などが、大体付いています。この情報を利用しない手はありません。

つまりどうするかというと、履歴のメッセージに「文書名-文書番号」といった「メタデータ」を埋め込んでしまうのです。このルールがメンバーで共有できてさえいれば、この「メタデータ」で変更履歴を識別することができるようになります。

日時 コメント 作業者
4/14 10:35 バグ管理票-XX001 : ○○が××になっていたため、△△に修正する。 高橋太郎
4/13 17:45 QA管理表-1 : ○○については××とするよう変更する。 田中一郎
... ... ...

図6-2 メタデータを付加した履歴

3. 「タグ」を活用する

VCSには「タグ」という、特定のバージョンを識別するためのマークを付ける機能があります。

この機能を使って、製品のリリースなどの重要なタイミングに「タグ」を付けることで、検索するまでもなくバージョンを識別することができるようになります。

リリースバージョンへのタグ付け

図6-3 リリースバージョンへのタグ付け

必要なのはルール、プロセス

上記のVCS利用方法は、事前に「どこまでをVCSで管理する」、「変更依頼は必ず文書に残す」といったような、ルール、プロセスを定め、運用されているのが前提です。これらができていなければ、そもそも管理などできないからです。

もし、あなたがいる組織でこのようなルール、プロセスが無いようなら、積極的にそのルール、プロセスを定めるように働きかけてみてください。

VCSだけではできないこともある

ここまで、SCMを意識したVCSの使い方を説明してきましたが、メッセージに文書番号を入れるなど、まだ運用に頼っている部分も多いです。

また、ソフトウェアを構成する要素の内、ソースコードから成果物を作る部分や、その成果物のテスト、関係者への通知など、VCSだけではどうにもならない部分もあります。

こういったものにどう対処すれば良いかというと、「VCS以外のツールに頼る」が正解です。

所詮VCSは「バージョンを管理するだけ」の機能しか持ち合わせていません。苦手な部分は他のツールに任せてしまいましょう。

次の章で、そういったツールのごく一部と活用イメージを紹介します。

→ 7章 SCMの次のステップ

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1