4. Podejście do wytwarzania oprogramowania oparte o częstą integrację prac członków zespołuautomatyzację całego procesuCel: Minimalizacja ilości błędówskrócenie czasu ich wykryciaOjcowie CI:Martin Fowler Kent BeckDefinicja
5. Oszczędność czasuKod bazowy zawsze działaBrak lub ograniczona faza finalnej integracjiSzybkie zgłaszanie błędówAutomatyzacja tworzenia wydańZwiększona zaufanie programistówKod bazowy zawsze się budujeCiągłe testy poprawnościRedukcja ryzyka i kosztówZalety CI
6. „Prehistoryczne” (?) podejścieSchemat wytwarzania oprogramowania:Rozdziel zadania do pracy współbieżnej Integruj w końcowym etapie życia projektuWysokie ryzyko porażki projektu SCM (ang. SourceCode Management)Jedno repozytorium koduCzęściowa integracja podczas wgrywania zmianTechniki rozgałęziania(ang. branching)Niezbędne ale samodzielnie niewystarczające dla realizacji idei CIBonus: Rys historyczny
7. Metodologie Agile Bądź zwinny bo wymagania ulegną zmianieBądź elastycznyi używaj tylko tego co potrzebneeXtremeProgrammingTesty najpierwProgramowanie w parachCzęsta integracjaCzęste wydania Integracja sekwencyjnaZbiorowa odpowiedzialnośćBonus: Agile Development(Scrum, XP)
10. Repozytoria kodu z wersjonowaniemWyzwalacze budowaniaAutomatyczne budowanieSkładowe procesu(CVS, SVN, Perforce, SourceSafe)(po zmianach, zaplanowany, ręczny)(MSBuild, NMaven, Visual Studio)
11. Testy JednostkoweAcceptanceTestingAnaliza koduPrzegląd jakości koduMetrykiArchiwizacja wydańAutomatyczna instalacjaSkładowe procesu (c.d.)(NUnit, VS Tests)(FitNesse, Watir)(FxCop, VS CodeAnalysis, StyleCop)(Ndepend)(FTP, WebDav)(WiX)