Vorteile von Continuous Integration
Schnelles Feedback
Je länger es dauert, bis die Mitglieder:innen eines Entwicklungsteams ihre Softwarestände integrieren, desto schwieriger und desto länger wird die Integration werden. Im Umkehrschluss gilt somit: Je häufiger die Softwarestände integriert werden, desto seltener und weniger umfangreich können Probleme beim Synchronisieren der Softwarestände auftreten.
Erhöhte Transparenz
Die Software wird an einem Ort zusammengeführt, der die zentrale Wahrheit über den aktuellen Stand der Softwareentwicklung darstellt. Dieser zentrale Stand kann sehr gut visualisiert werden. So gibt es Build-Ampeln, die grün leuchten, wenn das letzte Softwareinkrement fehlerfrei getestet und erfolgreich gebaut wurde. Alternativ kann man auf Build-Monitoren die gesamte Strecke vom Bau der Software, über den Stand der Unit-Tests bis hin zur Durchführung der Akzeptanztests visualisieren. Tritt auf einer Teilstrecke ein Fehler auf, so sieht man auf den ersten Blick, wo die möglichen Fehlerquellen liegen.
Bessere Qualität
Der zentrale Stand der Anwendung wird stets durch den Integrationsserver getestet. Im Vergleich zu Entwickler:innen vergisst dieser niemals alle vorhandenen Tests auszuführen. Wenn das Team für eine hohe Testabdeckung des Source Codes sorgt und vom Integrationsserver gemeldete Fehler direkt vom Team behoben werden, führt das zu der hohen Qualität der Software, die durch agile Softwareentwicklung bedingt wird.
Erhöhte Geschwindigkeit durch Sicherheit
Dank der besseren Qualität und der erhöhten Sicherheit können Änderungen schneller und mutiger durchgeführt werden. Die in der agilen Softwareentwicklung notwendige Vorgehensweise des kontinuierlichen Refactorings wird dadurch ermöglicht. Dadurch entsteht eine Feedbackschleife, in der sich die Qualität, Sicherheit und Geschwindigkeit positiv verstärken.