Nachhaltige Softwareentwicklung

Was ist eigentlich Continuous Integration?

Wenn wir von Continuous Integration (CI) sprechen, meinen wir eine Coding-Philosophie in Verbindung mit einigen bestimmten Vorgehensweisen, die es Entwicklern ermöglichen, Codeänderungen häufig in einem zentralen Repository zusammenzuführen, in dem dann Builds und Tests ausgeführt werden. Dabei werden automatisierte Tools eingesetzt, um die Korrektheit des neuen Codes vor der tatsächlichen Integration zu überprüfen.

Ein Versionskontrollsystem für den Quellcode ist das Herzstück des CI-Prozesses. Das Versionskontrollsystem wird durch andere Kontrollen wie automatisierte Code-Qualitätstests, Tools zur Überprüfung des Syntaxstils und vieles mehr ergänzt.  

Warum macht Continuous Integration also Sinn? Ohne CI müssen Entwickler manuell koordinieren und kommunizieren, wenn sie Code zum Endprodukt beisteuern. Diese Koordination erstreckt sich nicht nur auf die Entwicklungsteams, sondern auch auf den Betrieb und den Rest des Unternehmens. Produktteams müssen koordinieren, wann sie nacheinander Funktionen und Korrekturen einführen und welche Teammitglieder dafür verantwortlich sind. Das alles führt zu unnötiger Bürokratie, einem wahnsinnigen Aufwand und erheblichen Verzögerungen bei der Umsetzung. 

CI unterstützt bei der Skalierung der Effizienz und Lieferleistung von Entwicklungsteams. Die Einführung von CI ermöglicht es Softwareentwicklern, unabhängig und parallel an Funktionen zu arbeiten. Wenn sie bereit sind, neue Funktionen oder Änderungen in das Endprodukt einzubringen, können sie dies unabhängig und schnell tun.