Software-Development

Agile Methoden liegen im Trend

Das sogenannte Wasserfall-Prinzip in der Software-Entwicklung kommt immer seltener zum Einsatz. Häufiger sind agile Methoden wie die ’Continuous Integration’, bei denen Software in kleinen Einheiten kontinuierlich erweitert und verbessert wird. Welche Vorteile dies für die Nutzer bringt, zeigt das Softwareunternehmen Sage.

Bild: ©joyfotoliakid/stock.adobe.com
Bild: ©joyfotoliakid/stock.adobe.com

Die agile Software-Entwicklung bietet gegenüber der Wasserfall-Methode unterschiedliche Vorteile. Immer mehr Software-Anbieter gehen daher zur so genannten Continuous Integration (CI) über. Bei dieser Entwicklungsmethode wird Software kontinuierlich erweitert und verbessert. Die neuen Releases sind schmaler, der Umfang an Features geringer — man spricht daher auch von einem ’Soft Launch’. Dafür stehen die neuen Funktionen den Kunden aber auch wesentlich früher zur Verfügung (Continuous Delivery, CD).

Bei der Wasserfall-Methode wird solange entwickelt, bis die Software-Komponenten zur Gesamtlösung (Build) zusammengebaut und danach getestet werden. Entsprechend viele Fehler müssen anschließend behoben werden. Bei CI erfolgen Entwicklung und Testprozess in kleinen Einheiten, die am Ende eines Arbeitstages in Repositories zur Versionskontrolle eingecheckt werden. Über Nacht bauen Server die Code-Komponenten dann zusammen (Nightly Build) und testen sie automatisiert. Der gesamte Prozess findet also täglich statt. Fehler können so zeitnah korrigiert werden.

Beteiligte vernetzen

CI und CD stehen im engen Zusammenhang mit dem agilen Prozessverbesserungsansatz DevOps. Dabei geht es darum, alle an der Software-Entwicklung beteiligten Abteilungen zu vernetzen, Prozesse zu optimieren und die Entwicklungszyklen zu verkürzen. Dabei wird CI durch den Trend zur agilen Software-Entwicklung gefördert: Bei Methoden wie Scrum erfolgt die Planung und Programmierung ebenfalls in kleinen Einheiten (Sprints) die täglich im Team evaluiert werden.

Auch für Entwickler- und Projekt-Management-Teams bietet CI in Verbindung mit agilen Development-Prozessen Vorteile. Durch die kleinen Programmiereinheiten können sie flexibler agieren als im Rahmen eines großen Software-Projekts. Änderungen am Progammcode können so schneller vorgenommen werden. Zudem sorgt die permanente Abstimmung dafür, dass alle Beteiligten immer auf dem aktuellen Stand sind und regelmäßig Feedback erhalten. „Software-Projekte sind hochkomplexe Vorhaben, in die viele Mitarbeiter involviert sind und die hohe Anforderungen erfüllen müssen – vor allem was die Qualität und die Einhaltung von Lieferterminen betrifft. Agile Methoden wie CI und CD erhöhen die Flexibilität, reduzieren die Komplexität und helfen den Entwicklern, den steigenden Anforderungen gerecht zu werden“, sagt Oliver Henrich, Vice President Product Engineering bei Sage.

Kommunikationskultur und Soft Skills gefragt

Allerdings erfordert diese Arbeitsweise ein hohes Maß an gegenseitigem Austausch. Die Teams treffen sich während eines Sprints täglich und stimmen sich in so genannten Daily Stand-ups ab. Alle zwei Wochen gibt es zudem ein Review, in dem festgehalten wird, was bis dato erreicht wurde und was verbessert werden kann. Voraussetzung sind daher eine ausgeprägte Kommunikationskultur sowie auch Soft Skills: Laut der Studie ’Upskilling 2020‘ des DevOps Institute, für die 1260 Führungskräfte aus IT-Unternehmen in verschiedenen Ländern befragt wurden, erfordert der DevOps-Ansatz Team-Player-Eigenschaften, Einfühlungsvermögen und Kreativität. Hinzu kommen hohe fachliche Anforderungen: Nach zwei Wochen wird jedes Ergebnis von der gesamten Mannschaft begutachtet. Das erhöht die Software-Qualität, aber gleichzeitig auch den Druck auf die Programmierer.

Unterstützung bei der CI-Methode bieten Tools, mit denen sich die programmierten Komponenten zusammensetzen und verlinken beziehungsweise unterschiedliche Versionen verwalten lassen.