Neural Project InstituteProjektmanagement-Zertifizierung für das KI-Zeitalter

Agile-Leitfaden · Agile jenseits von Software

Wie agile Softwareentwicklung funktioniert: Praktiken und Best Practices

Agile Softwareentwicklung ist der Ursprung von Agile. Teams liefern funktionierende Software in kurzen Iterationen, unterstützt durch Engineering-Praktiken, die die Qualität hoch halten, während sich Anforderungen ändern.

Das Wichtigste in Kürze

  • Agile Softwareteams liefern funktionierende Software in kurzen Iterationen.
  • TDD, CI/CD, Code-Review und Refactoring halten die Qualität bei Veränderungen hoch.
  • DevOps erweitert Agile auf Release und Betrieb.

Der Entwicklungszyklus

  1. Der Product Owner ordnet einen Backlog aus User Stories.
  2. In Sprint Planning wählen die Developers Stories aus und zerlegen sie in Aufgaben.
  3. Entwickler schreiben Code und automatisierte Tests gemeinsam.
  4. Code wird häufig geprüft und in einen gemeinsamen Hauptbranch gemergt.
  5. Continuous Integration baut und testet jede Änderung automatisch.
  6. Fertige Stories werden im Sprint Review vorgeführt und released, manchmal viele Male am Tag.

Siehe Agiler Entwicklungszyklus für den übergeordneten Prozess.

Zentrale Engineering-Praktiken

PraxisWas es istWarum es wichtig ist
Testgetriebene Entwicklung (TDD)Einen fehlschlagenden Test schreiben, dann den Code, der ihn besteht, dann refaktorisierenWeniger Fehler, besseres Design
Continuous Integration (CI)Code mindestens täglich mergen und testenIntegrationsprobleme werden früh erkannt
Continuous Delivery (CD)Software jederzeit releasefähig halten; Deployment automatisierenSchnelle Releases mit geringem Risiko
Pair ProgrammingZwei Entwickler teilen sich eine AufgabeQualität und Wissensaustausch
Code-ReviewEin anderer Entwickler prüft jede ÄnderungQualität und gemeinsame Verantwortung
RefactoringCodestruktur verbessern, ohne das Verhalten zu ändernHält Code leicht änderbar
Trunk-Based DevelopmentKurzlebige Branches, die schnell gemergt werdenVermeidet mühsame Merges

Agile und DevOps

DevOps erweitert Agile über die Entwicklung hinaus auf den Betrieb: Teams verantworten ihre Software in der Produktion, automatisieren die Infrastruktur, überwachen die tatsächliche Nutzung und erholen sich schnell von Ausfällen. Verbreitete DevOps-Kennzahlen sind Deployment-Häufigkeit, Lead Time für Änderungen, Change Failure Rate und Zeit bis zur Wiederherstellung des Dienstes.

Best Practices

  • Halten Sie Stories so klein, dass sie in wenigen Tagen fertig werden.
  • Sorgen Sie dafür, dass die Definition of Done automatisierte Tests umfasst.
  • Bauen Sie technische Schulden kontinuierlich ab; reservieren Sie in jedem Sprint Kapazität dafür.
  • Automatisieren Sie Builds, Tests und Deployments.
  • Releasen Sie häufig kleine Änderungen und nutzen Sie Feature Flags, um Deployment und Release zu trennen.
  • Beziehen Sie Nutzer früh ein und messen Sie die tatsächliche Nutzung nach dem Release.
  • Führen Sie nach Störungen schuldfreie Reviews durch.

Kostenlose Vorlagen zu diesem Thema

Alle Vorlagen ansehen

Häufig gestellte Fragen

Was ist der Unterschied zwischen agiler Softwareentwicklung und DevOps?

Agile konzentriert sich darauf, wie Teams Software iterativ planen und entwickeln; DevOps überträgt diese Zusammenarbeit und Automatisierung auf das Releasen und den Betrieb der Software.

Braucht agile Softwareentwicklung noch Dokumentation?

Ja: so viel, wie Nutzern und künftigen Entwicklern hilft, etwa klarer Code, automatisierte Tests, API-Dokumentation und kurze Entscheidungsprotokolle.

Was ist agile Softwareentwicklung?

Software in kurzen Iterationen durch kleine cross-funktionale Teams entwickeln, mit häufiger Integration, häufigen Tests und Releases sowie regelmäßigem Nutzerfeedback.

Was ist testgetriebene Entwicklung in der agilen Softwareentwicklung?

Zuerst einen fehlschlagenden automatisierten Test schreiben, dann den Code, der ihn besteht, dann refaktorisieren. Das führt zu weniger Fehlern und besserem Design.

Was ist Continuous Integration in der agilen Softwareentwicklung?

Codeänderungen mindestens täglich zusammenführen und testen, mit automatisierten Builds und Tests, damit Integrationsprobleme früh erkannt werden.

Was ist in der agilen Softwareentwicklung der Unterschied zwischen Continuous Integration und Continuous Delivery?

Continuous Integration führt Änderungen häufig zusammen und testet sie; Continuous Delivery hält die Software mit automatisiertem Deployment jederzeit releasefähig.

Was ist Pair Programming in der agilen Softwareentwicklung?

Zwei Entwickler arbeiten an einer Aufgabe an einem Bildschirm, was die Qualität verbessert und Wissen verbreitet.

Was ist Trunk-Based Development in der agilen Softwareentwicklung?

Eine Praxis, bei der Entwickler kurzlebige Branches nutzen und häufig in den Hauptbranch mergen, um mühsame Merges zu vermeiden.

Was ist Refactoring in der agilen Softwareentwicklung?

Die Struktur von Code verbessern, ohne sein Verhalten zu ändern, damit er leicht änderbar bleibt.

Was sind technische Schulden in der agilen Softwareentwicklung?

Die künftigen Kosten von Abkürzungen in Code oder Design. Bleiben sie unbeachtet, bremsen sie Teams aus und können sich in sinkender Velocity zeigen.

Wie groß sollte eine User Story in der agilen Softwareentwicklung sein?

Klein genug, um in wenigen Tagen fertig zu werden, damit sie innerhalb eines Sprints entwickelt, getestet und integriert werden kann. Siehe User Stories.