« CIツールHudsonを使いこなす | トップページ | チケット駆動開発はアジャイル開発の実装である »

2008/08/28

継続的インテグレーションのメモ

継続的インテグレーション(常時統合・Continuous Integration)に関する記事をメモ。
開発の進捗はビルドプロセスと密接に関連するし、比例している。


デイリービルドは君の友達(Joel on Software)

デイリービルドは自動化された、毎日行われる、完全なソースツリー全体のビルドのことだ。

プログラマが修正したと考えている問題をテスタが指摘したとき、テスタはどのビルドでその問題が観察されたかを言うことができる。
プログラマはいつ修正をチェックインしたか調べて、それが本当に修正されているか見当をつけることができる。


継続的インテグレーション(Martin Fowler)

普通の人は、コンパイル作業とリンク作業のことをビルドだと考えている。
しかし私たちは、ビルドには少なくとも「アプリケーションを実行すること」「簡単なテストを行うこと」まで含めるべきだと考える。
(中略)これらに加えて、さらに徹底的なテストを行えば、継続的インテグレーションのもたらす価値はより大きなものとなるので、それも併せて行うほうが望ましいだろう。


自動化されたビルドを採用すると、開発者は、ある「リズム」に従ってソフトウェアの開発を行うようになる。
このリズムの最重要パートは、インテグレーションを「定期的に」行うこと、である。

我々が訪れたある部隊では、デイリービルドを実践してはいたが、チェックインは頻繁になされていなかった。
数週間おきにしか開発者がチェックインしないのであれば、デイリービルドを実践しても意味は薄いだろう。
我々のところでは、どの開発者もだいたい一日一回はチェックインを行う、というおおまかな指針を立てている。

|

« CIツールHudsonを使いこなす | トップページ | チケット駆動開発はアジャイル開発の実装である »

プロジェクトマネジメント」カテゴリの記事

ソフトウェア工学」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: 継続的インテグレーションのメモ:

« CIツールHudsonを使いこなす | トップページ | チケット駆動開発はアジャイル開発の実装である »