マスタリング ビルド職人

Subversionを導入すれば、Jenkinsを導入すれば、Gitを導入すれば何か世間に追いついた開発の仕方をしている。 そう思っている時期があなたにもあったかもしれません。 しかし、現実のプロジェクトはメンバのスキルも異なれば、おかれた状況も違います。 そんなプロジェクトを転々としながら、統制のとれたクリーンな開発をリードしていく、それがビルド職人です。

本書はオープンソースの分散型バージョン管理システムの一つGitと、プロジェクト管理ツールの一つMavenを用いた大規模開発プロジェクトでのビルド職人の役割を説明します。

大規模開発におけるバージョン管理

大規模な開発ではアプリチームや基盤チーム、さらには、アプリチームのなかでもサブシステム毎の複数の拠点に分かれての開発は珍しくありません。また、メンバーのスキルもベテランから新人までまちまちです。そんな中、プロジェクトで最も大事にするべきことの一つがバージョン管理です。適切なバージョン管理はトレーサビリティを容易に行うことを可能にします。

チーム開発におけるGitの役割

Subversionなどブランチを切る行為に時間がかかるソース管理システムを使用しているプロジェクトでは、ライブラリコードなど、他の技術者とコード連携をしないといけない場面で、対象のファイルをリポジトリやファイルサーバに置いてやり取りしているのではないでしょうか。
このやり方でもソースコードの共有はできますが、場合によっては問題が発生しますし、ファイルサーバに手でファイルを置くというのも面倒くさいです。
Gitを使用することで上記の煩わしさから解放され、迅速にソースコード共有を行えるようになります。
また、Gitをチームに参加してくれているエンジニアに浸透させ、開発サイクルが上手く回りだすとSubversionなどでは得られることはないであろう開発スピードが実現できるようになります。 開発スピードが上がると開発のライフサイクルも必然と短くなるので、開発者はワクワク感を覚えるかもしれません。 そうやってモチベーションの上がった開発者は高パフォーマンスを魅せてくれるものです。
チーム開発において、Gitはただのツールに非ず、Gitを上手く使いこなすことは、短納期化がどんどん進んでいく開発現場での必須スキルです。