Zum Inhalt springen

Informatik · Klasse 11–13 · aktualisiert

Agile Softwareentwicklung: Prinzipien und Methoden

Du lernst, wie agile Teams in kurzen Iterationen mit Feedback arbeiten, wie sie sich vom Wasserfall unterscheiden und wann Scrum, Kanban oder XP passen.

0 von 11 Aufgaben gelöst

Agile Softwareentwicklung: Prinzipien und Methoden

Kurz gesagt

Agile Softwareentwicklung bedeutet: Das Team baut in kurzen Iterationen früh lauffähige Software und stimmt sie regelmäßig mit dem Kunden ab. Das Wasserfallmodell arbeitet dagegen Phase für Phase nacheinander. Scrum, Kanban und XP sind drei bekannte agile Ansätze mit unterschiedlichen Regeln.

Stell dir vor, ihr baut im Informatikkurs eine App, und erst am Schuljahresende sieht jemand das Ergebnis. Vielleicht ist es dann gar nicht das, was gebraucht wird. Agile Teams zeigen deshalb schon früh lauffähige Stände und fragen nach. Hier lernst du, wie das geht und wann welcher Ansatz passt.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

3 Abschnitte

Agile Softwareentwicklung (von lateinisch „agilis“, flink, beweglich) will Risiken und Fehlentwicklungen klein halten. Dazu versucht das Team, die Entwurfsphase auf ein Mindestmaß zu reduzieren und so früh wie möglich zu ausführbarer Software zu kommen. Diese Software wird in regelmäßigen, kurzen Abständen mit dem Kunden abgestimmt.

Die Arbeit läuft in Iterationen. In Extreme Programming (XP) dauern Iterationen üblicherweise zwischen einer und vier Wochen. In Scrum heißt der Abschnitt Sprint und dauert ein bis vier Wochen. Am Ende steht ein lauffähiger Zwischenstand. Man nennt das iterativ und inkrementell: Das Produkt wächst Stück für Stück.

Nach einer Iteration schauen sich zum Beispiel der Kunde oder andere Interessierte den aktuellen Stand an und geben Rückmeldungen. Dabei ist es denkbar, dass der Kunde neue Prioritäten setzt oder weitere Ideen einbringt. Außerdem reflektiert das Team in regelmäßigen Abständen, wie es effektiver werden kann, und passt sein Verhalten entsprechend an.

Im Februar 2001 wurden vier Leitsätze im Agilen Manifest formuliert. Funktionierende Software ist wichtiger als umfassende Dokumentationen. Individuen und Interaktionen sind wichtiger als Prozesse und Werkzeuge. Die Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlungen. Reagieren auf Veränderung ist wichtiger als das Befolgen eines Plans. Die Verfasser finden die jeweils andere Seite auch wichtig, schätzen die genannten Werte aber höher ein.

So überträgst du das auf ein Softwareprojekt: Du teilst es in kurze Abschnitte, lieferst am Ende jedes Abschnitts etwas Lauffähiges und holst Rückmeldung ein. Das Beispiel unten ist ausgedacht.

Definition

Iteration

Eine Iteration ist ein zeitlich und fachlich in sich abgeschlossener Arbeitsabschnitt. Am Ende liegt ein lauffähiger Zwischenstand des Produkts vor, den der Kunde ansehen kann.

Beispiel: Ausgedachtes Beispiel: Vertretungsplan-App einer Schule

  1. 1Annahme (ausgedacht): Ein Schulteam baut eine App für den Vertretungsplan. Jede Iteration dauert zwei Wochen.
  2. 2Iteration 1: Die App zeigt nur den Plan einer Klasse, läuft aber schon.
  3. 3Ende von Iteration 1: Schüler probieren die App aus und wünschen sich eine Suche nach der Klasse.
  4. 4Iteration 2: Das Team baut die Suche ein und zeigt wieder einen lauffähigen Stand.
  5. 5Die Rückmeldung bestimmt, was als Nächstes gebaut wird.

Merke: Kurze Iterationen und regelmäßiges Feedback gehören zusammen: Funktionierende Software ist das wichtigste Fortschrittsmaß.

Teste dich

LeichtWas liefert ein agiles Team am Ende einer kurzen Iteration?
MittelWann kommt der Kunde in einem agilen Projekt zu Wort?

Alles auf einen Blick

Agile Softwareentwicklung

  • Iterationen

    Agile Teams liefern in kurzen Abständen lauffähige Software und holen Feedback ein.

  • Agiles Manifest

    Im Februar 2001 formuliert; Reagieren auf Veränderung ist wichtiger als das Befolgen eines Plans.

  • Wasserfallmodell

    Die Phasen laufen nacheinander; Kosten und Umfang sind bei stabilen Anforderungen klar abschätzbar.

  • Vergleich

    Agil reagiert leichter auf Änderungen, ein Pflichtenheft ist dafür schwierig.

  • Scrum und Kanban

    Scrum hat Sprints und drei Rollen, Kanban begrenzt die Tickets mit einem WiP-Limit.

  • XP

    Der Kunde arbeitet mit, die Teamgröße ist gemeinhin auf höchstens zehn begrenzt.

Musteraufgabe · Schritt für Schritt

Ausgedachtes Beispiel: Welcher Ansatz passt zu einem Support-Team?

  1. 1Annahme (ausgedacht): Ein Support-Team aus sechs Spezialisten bearbeitet neue Fehlermeldungen. Wann und wie viele kommen, ist nicht vorhersehbar.
  2. 2Schritt 1: Die Unsicherheit ist hoch. Iterationen fester Länge wie in Scrum sind dann kaum möglich.
  3. 3Schritt 2: Die Arbeit ist stark spezialisiert. Dafür ist Kanban häufig attraktiver als Methoden, die Generalisten fordern.
  4. 4Schritt 3: Neue Anforderungen kommen zu jedem Zeitpunkt, falls Kapazitäten frei sind. Das geht in Kanban, in einem laufenden Scrum-Sprint nicht.
  5. 5Ergebnis: Kanban mit Board und WiP-Limit kann hier die bessere Wahl sein. Es ist eine begründete Wahl, keine Erfolgsgarantie.

Fehler finden

Prüfe die Aussagen zu Scrum und Kanban In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Ein Sprint in Scrum dauert ein bis Wochen. Im Wasserfallmodell ist der Benutzer in der beteiligt. Bei XP wird die Teamgröße gemeinhin auf höchstens Mitglieder gesetzt.

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Agile Softwareentwicklung

LeichtWelcher Leitsatz steht im Agilen Manifest?
MittelEin Auftraggeber verlangt vorab ein festes Pflichtenheft für das ganze Projekt (ausgedachtes Beispiel). Warum passt das schlecht zu einem agilen Vorgehen?
SchwerEntwickler und Kunde arbeiten an verschiedenen Orten (ausgedachtes Beispiel). Was spricht dann gegen XP?

Weiterlesen in Informatik