Agile Softwareentwicklung

Agilität, Software Engineering, Webdesign

Was ist agile Softwareentwicklung?

Bei der agilen Softwareentwicklung handelt es sich um eine iterative Entwicklungsmethode, bei der man schnell auf veränderte Anforderungen reagieren kann.
Die Entwicklung läuft in vielen kleinen und abgeschlossen Zyklen ab. Dabei findet eine erhöhte Kommunikation zwischen den Entwicklern statt. Die Kommunikation ist für die Teamarbeit und Zusammenarbeit mit dem Kunden sehr wichtig.

Das Ziel der agilen Softwareentwicklung ist die Fokussierung auf die zu erreichenden Ergebnisse («Outcome») der Softwareentwicklung.

Agile Softwareentwicklung
Agile Softwareentwicklung

Für die agile Softwareentwicklung gibt es drei bekannte Methoden:

  • Scrum
  • eXtreme Programming (XP)
  • Kanban

Mit agilen Ansätzen werden folgende Vorteile für das Unternehmen erreicht:

  • Kürzere Time-to-Market mit kurzen Planungs- und Entwicklungsphasen
  • Angemessenere Software durch kundenorientierte Entwicklung von Produkten
  • Höhere Qualität der Produkte durch verschiedene Testverfahren
  • Schnellere Auslieferung von funktionierender Software bzw. Produkten
  • Mehr Innovation mit autonomen, cross-funktionalen Teams
  • Kontinuierliche Verbesserung durch Rückkopplungs- und Lernprozesse

Welche Entwicklungspraktiken werden in agilen Ansätzen angewandt?

Die agilen Entwicklungspraktiken gehören zu den wichtigsten Grundlagen für die erfolgreiche Umsetzung der agilen Softwareentwicklung. Ohne diese Entwicklungspraktiken wird die Software nicht die erforderlichen Qualitätsstandards erreichen.

Zu den Entwicklungspraktiken gehören:

  • Continuous Integration
  • Testgetriebene Entwicklung (TDD)
  • Refactoring
  • Akzeptanztest
  • Pair Programming
  • Collective Ownership
  • Coding-Dojos und Code-Katas

Das agile Manifest

Das agile Manifest stammt aus der Softwareentwicklung und definiert das agile Wertesystem (Mindset). Im agilen Manifest sind vier grundlegende Aussagen bzgl. der Prioritäten in Entwicklungsprojekten formuliert:

  • Individuen und Interaktionen sind wichtiger als Prozesse und Werkzeuge
  • Funktionierende Software ist wichtiger als umfassende Dokumentation
  • Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlung
  • Reagieren auf Veränderung ist wichtiger als das Befolgen eines Plans

Weiterhin formuliert das agile Manifest zwölf Prinzipien, welche die Grundregeln der Softwareentwicklung in agilen Projekten beschreiben.

Literatur & Links

  • [Pichler & Roock 2011] Roman Pichler, Stefan Roock: „Agile Entwicklungspraktiken mit Scrum“, 2011
  • [Wolf & Roock 2015] Henning Wolf, Stefan Roock: „Agile Softwareentwicklung“, 2015