システム開発の現場において、ソース管理ツールの重要性は今更言うまでもないですよね。複数人で作業しているときに管理ツール無いとグチャグチャになっちゃいますし、ソースをロールバックしたいときもあればブランチを作りたいときもあります。
ソース管理ツール*1の定番どころと言えば、
- Git
- Subversion
- Team Foundation Server
あたりが挙げられますが、やはりなんだかんだ言ってもGitが一番有名かなと思います。僕のつたない観測範囲でもGit使ってる現場が一番多いです。
さて、ソースはきちんとツール使って管理したほうが絶対良いというのは開発者の間では常識中の常識ではありますが、配属されたプロジェクトによってはソース管理ツール使ってないとこもちょいちょいあるんですよね。
理由はいろいろあるとは思いますが、僕が経験した中で一番多かった理由は、
「どうせ単納期(1か月~3か月くらい)の仕事だし、ツール用意するまでもないでしょ。使ったことないメンバーに教育するのも面倒だし。」
というもの。
...冷静に考えると短納期の仕事だろうと複数人で作業する以上絶対ツールはあったほうがいいと思うんですが、それを余計な手間だと考えるプロマネさんって結構いたりするんですよね。
ツール使えない(使わない)以上、手動で管理するしかないんですが、面倒な上につまらないトラブルの元となります。
この記事では運悪くそのような環境に置かれてしまったシステム開発者に向けて、「ソース管理ツールを使えない環境で複数人作業するときの2つのコツ」を書いてみようと思います。
マージ担当者を固定する
まずはこれ。
「マージ担当者を固定する」
こと!マストです。
ファイルサーバとかで共有している本線ソースに誰も彼もが好き勝手に自分のローカルのソースをマージしていくなんて愚策中の愚策。自ら望んでトラブルを作りに行くようなもんです。
マージ担当者を決めて、それ以外の担当者はマージ対象ソースに変更箇所メモを添えてマージ依頼をする。面倒ではありますが、さらに面倒なトラブルを起こしたくなかったら絶対そうすべきです。
余談ですが、僕は新人の頃(今から15年以上前)にソースマージ専門部署に何か月か配属していた時代がありました。糞ツマラナイ仕事でしたw
ローカルに随時バックアップを取っておく
人間なら誰しもミスはつきもの。よって、マージ担当者だって絶対ミスをします。といか本来ならそういうヒューマンエラーを防ぐためにツール使うんですがこの記事の前提が崩れるのでそれは置いといて。
マージ担当者がミスをする前提で考えるなら、自分の担当しているソースの更新履歴はローカルに随時バックアップを取っておくほうが安全です。万が一のときに、そこからリカバリーできますからね。
バックアップ取るタイミングは、
- 毎日定時に
- 大きな変更をするときに
等々考えられますが、そのあたりは個人の好みで御随意に。
今回はこのあたりで!あなたのシステム開発プロジェクトの成功を祈ってます!
*1:正しくはバージョン管理ツールと言いますが、僕は昔からの癖でソース管理ツールと呼び続けてますw