Agile - Grundierung

Agile ist eine Softwareentwicklungsmethode zum schrittweisen Erstellen einer Software in kurzen Iterationen von 1 bis 4 Wochen, damit der Entwicklungsprozess auf die sich ändernden Geschäftsanforderungen abgestimmt ist. Anstelle einer Entwicklung in einem Durchgang von 6 bis 18 Monaten, bei der alle Anforderungen und Risiken im Voraus vorhergesagt werden, wendet Agile einen Prozess mit häufigem Feedback an, bei dem ein funktionsfähiges Produkt nach einer bis vierwöchigen Iteration geliefert wird.

Agile Vs Traditional SDLC

Rollen in Agile

Scrum Master

Ein Scrum Master ist ein Teamleiter und Moderator, der den Teammitgliedern hilft, agile Praktiken zu befolgen, damit sie ihren Verpflichtungen nachkommen können. Die Aufgaben eines Scrum Masters lauten wie folgt:

  • Um eine enge Zusammenarbeit zwischen allen Rollen und Funktionen zu ermöglichen.

  • Blockierungen entfernen.

  • Um das Team vor Störungen zu schützen.

  • Mit der Organisation zusammenarbeiten, um den Fortschritt und die Prozesse des Unternehmens zu verfolgen.

  • Sicherstellen, dass die Prozesse von Agile Inspect & Adapt ordnungsgemäß genutzt werden, einschließlich

    • Tägliche Stand-ups,
    • Geplante Besprechungen,
    • Demo,
    • Rezension,
    • Retrospektive Treffen und
    • Vereinfachung von Teambesprechungen und Entscheidungsprozessen.

Product Owner

Ein Product Owner ist derjenige, der das Produkt aus geschäftlicher Sicht steuert. Die Verantwortlichkeiten eines Product Owners lauten wie folgt:

  • Anforderungen definieren und deren Werte priorisieren.
  • So bestimmen Sie das Erscheinungsdatum und den Inhalt.
  • Eine aktive Rolle bei der Iterationsplanung und bei Versionsplanungsbesprechungen übernehmen.
  • Um sicherzustellen, dass das Team an der am meisten geschätzten Anforderung arbeitet.
  • Zur Darstellung der Stimme des Kunden.
  • Akzeptieren der User Stories, die die Definition von erledigten und definierten Akzeptanzkriterien erfüllen.

Funktionsübergreifende Team

Jedes agile Team sollte ein autarkes Team mit 5 bis 9 Teammitgliedern und einer durchschnittlichen Erfahrung von 6 bis 10 Jahren sein. In der Regel besteht ein agiles Team aus 3 bis 4 Entwicklern, 1 Tester, 1 technischen Leiter, 1 Product Owner und 1 Scrum Master.

Funktionsübergreifende Team

Product Owner und Scrum Master gelten als Teil von Team Interface, während andere Mitglieder Teil von Technical Interface sind.

Wie plant ein agiles Team seine Arbeit?

Ein agiles Team arbeitet in Iterationen, um User Stories mit einer Iterationsdauer von 10 bis 15 Tagen zu liefern. Jede User Story wird basierend auf ihrer Priorisierung und Größe des Backlogs geplant. Das Team verwendet seine Kapazität - wie viele Stunden mit dem Team zur Verfügung stehen, um an Aufgaben zu arbeiten -, um zu entscheiden, wie viel Umfang geplant werden muss.

Planung

Punkt

Ein Punkt definiert, wie viel ein Team verpflichten kann. Ein Punkt bezieht sich normalerweise auf 8 Stunden. Jede Geschichte wird in Punkten geschätzt.

Kapazität

Kapazität definiert, wie viel eine Person festlegen kann. Die Kapazität wird in Stunden geschätzt.

Was ist eine User Story?

Eine User Story ist eine Anforderung, die definiert, was der Benutzer als Funktionalität benötigt. Eine User Story kann in zwei Formen vorliegen:

  • Als <Benutzerrolle> möchte ich <Funktionalität>, damit <Geschäftswert>
  • Um <Geschäftswert> als <Benutzerrolle> zu definieren, möchte ich <Funktionalität>

Während der Release-Planung wird eine User Story anhand der relativen Skalierung als Punkt grob geschätzt. Während der Iterationsplanung wird die Story in Aufgaben unterteilt.

Beziehung von User Stories und Aufgaben

  • Die User Story erzählt, was zu tun ist. Es definiert, was ein Benutzer benötigt.
  • Aufgabe spricht darüber, wie es gemacht werden soll. Es definiert, wie eine Funktionalität implementiert werden soll.
  • Geschichten werden durch Aufgaben umgesetzt. Jede Geschichte ist eine Sammlung von Aufgaben.
  • Die User Story ist in Aufgaben unterteilt, wenn sie in der aktuellen Iteration geplant ist.
  • Aufgaben werden in Stunden, normalerweise zwischen 2 und 12 Stunden, veranschlagt.
  • Geschichten werden mit Abnahmetests validiert.
Beziehung von User Stories und Aufgaben

Wenn eine Geschichte fertig ist

Das Team entscheidet, was getan wird. Die Kriterien können sein -

  • Alle Aufgaben (Entwicklung, Test) sind erledigt.
  • Alle Abnahmetests laufen und sind bestanden.
  • Kein Defekt ist offen.
  • Der Product Owner hat die Story akzeptiert.
  • Lieferung an den Endbenutzer.

Was sind Akzeptanzkriterien?

Kriterien definieren die Funktionalität, das Verhalten und die Leistung, die für ein Feature erforderlich sind, damit es vom Product Owner akzeptiert werden kann. Es definiert, was zu tun ist, damit der Entwickler weiß, wann eine User Story abgeschlossen ist.

Wie sind die Anforderungen definiert?

Anforderungen sind definiert als

  • Eine User Story,
  • Mit Abnahmekriterien und
  • Aufgaben zur Umsetzung der Geschichte.