torutkのブログ

ソフトウェア・エンジニアのブログ

チケット駆動と分散バージョン管理

実は、チケット駆動開発はいいなぁと思いつつ、チケット駆動開発は習慣化が必要で、習慣化するまでは非常に努力を要するため、今までちっとも実践できずにいました。

最近、地理的に離れた複数拠点で、しかもネットワークが断絶に近い状態で、同一ソフトウェアを開発する都合上、それまで使用していたSubversionでの集中リポジトリでは対応できないため、分散リポジトリの一つBazaarを使い始めました。また、拠点間でのソフトウェアの変更反映には、パッチを使用しています。そのため、パッチが多数累積するので、パッチを管理するために、チケットとパッチを結びつけるようにしています。

すると、チケットがないとパッチを作成できないので、必然的にチケット駆動となります。チケットがなく修正した場合も、パッチを送付するためには、パッチと結びつくチケットを作成しなくてはならず、後追いでもチケットが作られます。

分散バージョン管理は、集中型に比べて管理が煩雑だという意見があり、当初気にしていたのですが、実際に使ってみると、むしろSubversionのときよりもソフトウェアの管理がうまくできるようになりました。

Bazaarを使ったわけ

分散バージョン管理ツール御三家は、Git、Mercurial、Bazaarです。
管理対象ファイルには、日本語ファイル名のものがあり、LinuxWindowsと双方から利用します。そこで、現時点で異なるロケールのOS間で日本語ファイル名を扱えるBazaarを選びました。