継続的インテグレーションのメモ
継続的インテグレーション(常時統合・Continuous Integration)に関する記事をメモ。
開発の進捗はビルドプロセスと密接に関連するし、比例している。
デイリービルドは君の友達(Joel on Software)
デイリービルドは自動化された、毎日行われる、完全なソースツリー全体のビルドのことだ。
プログラマが修正したと考えている問題をテスタが指摘したとき、テスタはどのビルドでその問題が観察されたかを言うことができる。
プログラマはいつ修正をチェックインしたか調べて、それが本当に修正されているか見当をつけることができる。
普通の人は、コンパイル作業とリンク作業のことをビルドだと考えている。
しかし私たちは、ビルドには少なくとも「アプリケーションを実行すること」「簡単なテストを行うこと」まで含めるべきだと考える。
(中略)これらに加えて、さらに徹底的なテストを行えば、継続的インテグレーションのもたらす価値はより大きなものとなるので、それも併せて行うほうが望ましいだろう。
自動化されたビルドを採用すると、開発者は、ある「リズム」に従ってソフトウェアの開発を行うようになる。
このリズムの最重要パートは、インテグレーションを「定期的に」行うこと、である。
我々が訪れたある部隊では、デイリービルドを実践してはいたが、チェックインは頻繁になされていなかった。
数週間おきにしか開発者がチェックインしないのであれば、デイリービルドを実践しても意味は薄いだろう。
我々のところでは、どの開発者もだいたい一日一回はチェックインを行う、というおおまかな指針を立てている。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 管理職に求められる能力はPM理論そのものではなかったのか(2021.01.14)
- カンバンはステータス名が大事(2021.01.02)
- 因果ループ図を再考する~問題の症状をシステム構造として捉えて解決策を見つける(2020.12.25)
- プロジェクトマネージャーの資質として重要なものの一つに『曖昧さへの耐性』がある(2020.12.11)
- ツールで定義したプロセスが組織文化を作り出すのではないか、という仮説(2020.12.05)
「ソフトウェア工学」カテゴリの記事
- 因果ループ図を再考する~問題の症状をシステム構造として捉えて解決策を見つける(2020.12.25)
- 第73回 SEA関西プロセス分科会「モデルベースシステムズエンジニアリングの活用」の感想~モデルの検証を形式手法で自動テスト化する(2020.12.13)
- 相殺フィードバックを再考(2020.06.17)
- SaaSのビジネスモデルがアジャイル開発を促進したという仮説(2020.06.14)
- なぜなぜ分析、FMEA、FTAの違い(2020.06.09)
コメント