継続的インテグレーションのメモ
継続的インテグレーション(常時統合・Continuous Integration)に関する記事をメモ。
開発の進捗はビルドプロセスと密接に関連するし、比例している。
デイリービルドは君の友達(Joel on Software)
デイリービルドは自動化された、毎日行われる、完全なソースツリー全体のビルドのことだ。
プログラマが修正したと考えている問題をテスタが指摘したとき、テスタはどのビルドでその問題が観察されたかを言うことができる。
プログラマはいつ修正をチェックインしたか調べて、それが本当に修正されているか見当をつけることができる。
普通の人は、コンパイル作業とリンク作業のことをビルドだと考えている。
しかし私たちは、ビルドには少なくとも「アプリケーションを実行すること」「簡単なテストを行うこと」まで含めるべきだと考える。
(中略)これらに加えて、さらに徹底的なテストを行えば、継続的インテグレーションのもたらす価値はより大きなものとなるので、それも併せて行うほうが望ましいだろう。
自動化されたビルドを採用すると、開発者は、ある「リズム」に従ってソフトウェアの開発を行うようになる。
このリズムの最重要パートは、インテグレーションを「定期的に」行うこと、である。
我々が訪れたある部隊では、デイリービルドを実践してはいたが、チェックインは頻繁になされていなかった。
数週間おきにしか開発者がチェックインしないのであれば、デイリービルドを実践しても意味は薄いだろう。
我々のところでは、どの開発者もだいたい一日一回はチェックインを行う、というおおまかな指針を立てている。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 製造業のDXを推進する部門をITコーポレート部門に割り当てるとなぜ失敗するのか(2026.02.04)
- SAFeはScrumと全く異なるアジャイル開発プロセスだ(2026.02.01)
- プ譜でプロジェクトの目的を管理する(2026.01.31)
- Redmine AI HelperプラグインはRedmineをAI駆動プロジェクト管理に変える可能性を秘めている #Redmine(2025.12.31)
- 第29回東京Redmine勉強会の感想~今話題のテーマはJTC運用とAIによるプロマネ作業支援 #redminet(2025.11.09)
「ソフトウェア工学」カテゴリの記事
- Jiraの機能はTracに似ている気がする #redmine(2025.06.01)
- チームトポロジーの感想~大規模アジャイル開発でも組織構造は大きく変化する(2025.01.01)
- Redmineは組織のナレッジ基盤として実現可能なのか~島津製作所の事例を読み解く #redmineT(2024.12.29)
- アーキテクチャ設計はベストプラクティスを参照するプロセスに過ぎないのか?~Software Processes are Software, Too(ソフトウェアプロセスもまたソフトウェアである)(2024.09.22)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)


コメント