Agile Softwareentwicklung

Agile Softwareentwicklung ist eine Sammlung von Ansätzen, die das Grundproblem der konventionellen Softwareentwicklung lösen möchten, dass Entwicklungsteams zu langsam und zu teuer auf veränderte Anforderungen reagieren. Die Lösung wird in selbstorganisierten, cross-funktionalen Teams gesehen, die in kurzen Feedbackzyklen iterativ-inkrementell entwickeln.

Agile Softwareentwicklung bedeutet ein Umdenken auf vielen Ebenen, das in den Agilen Leitsätzen (manifesto for agile software development) auf den Punkt gebracht wird:

  • Individuen und Interaktionen stehen über Prozessen und Werkzeugen
  • Funktionierende Software steht über einer umfassenden Dokumentation
  • Zusammenarbeit mit dem Kunden steht über der Vertragsverhandlung
  • Reagieren auf Veränderung steht über dem Befolgen eines Plans

Es gibt viele agile Vorgehensmodelle, die drei bekanntesten sind:

  • Scrum
  • Kanban
  • Extreme Programming

Agile Softwareentwicklung funktioniert nur dann gut, wenn die wichtigsten Stakeholder bereit sind, regelmäßig aktiv durch konstruktives Feedback an der Erstellung des Produkts mitzuwirken.