Agile - Grundierung

Agile ist eine Softwareentwicklungsmethode, mit der eine Software schrittweise mit kurzen Iterationen von 1 bis 4 Wochen erstellt werden kann, damit der Entwicklungsprozess an die sich ändernden Geschäftsanforderungen angepasst wird. Anstelle einer einmaligen Entwicklung von 6 bis 18 Monaten, bei der alle Anforderungen und Risiken im Voraus vorhergesagt werden, verwendet Agile einen Prozess häufigen Feedbacks, bei dem ein funktionsfähiges Produkt nach 1 bis 4 Wochen Iteration geliefert wird.

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 Verantwortlichkeiten eines Scrum Masters sind 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.

  • Zusammenarbeit mit der Organisation, um den Fortschritt und die Prozesse des Unternehmens zu verfolgen.

  • Um sicherzustellen, dass Agile Inspect & Adapt-Prozesse ordnungsgemäß genutzt werden, einschließlich

    • Tägliche Stand-Ups,
    • Geplante Treffen,
    • Demo,
    • Review,
    • Rückblickende Treffen und
    • Erleichterung von Teambesprechungen und Entscheidungsprozessen.

Product Owner

Ein Product Owner ist derjenige, der das Produkt aus geschäftlicher Sicht steuert. Die Verantwortlichkeiten oder ein Product Owner sind wie folgt:

  • Definieren der Anforderungen und Priorisieren ihrer Werte.
  • Um das Veröffentlichungsdatum und den Inhalt zu bestimmen.
  • Eine aktive Rolle bei der Iterationsplanung und bei der Freigabe von Planungsbesprechungen übernehmen.
  • Um sicherzustellen, dass das Team an der wertvollsten Anforderung arbeitet.
  • Die Stimme des Kunden darstellen.
  • Akzeptieren der User Stories, die der Definition der erledigten und definierten Akzeptanzkriterien entsprechen.

Funktionsübergreifende Team

Jedes agile Team sollte ein autarkes Team mit 5 bis 9 Teammitgliedern und einer durchschnittlichen Erfahrung zwischen 6 und 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.

Product Owner und Scrum Master werden als Teil von Team Interface betrachtet, 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 zu liefern, wobei jede Iteration 10 bis 15 Tage dauert. Jede User Story wird basierend auf der Priorisierung und Größe des Backlogs geplant. Das Team nutzt seine Kapazität - wie viele Stunden stehen dem Team zur Verfügung, um an Aufgaben zu arbeiten -, um zu entscheiden, wie viel Umfang sie planen müssen.

Punkt

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

Kapazität

Die 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 verwenden, möchte ich <Funktionalität>

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

Beziehung von User Stories und Aufgaben

  • In der User Story wird darüber gesprochen, 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 geschätzt, normalerweise zwischen 2 und 12 Stunden.
  • Geschichten werden anhand von Abnahmetests validiert.

Wenn eine Geschichte fertig ist

Das Team entscheidet was donemeint. Die Kriterien können sein -

  • Alle Aufgaben (Entwicklung, Test) sind abgeschlossen.
  • Alle Abnahmetests werden ausgeführt und bestanden.
  • Es ist kein Defekt offen.
  • Der Product Owner hat die Geschichte akzeptiert.
  • Lieferbar an den Endbenutzer.

Was sind Akzeptanzkriterien?

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

Wie werden die Anforderungen definiert?

Anforderungen sind definiert als

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