Agile Planung mit Patterns. Existierende Lösungskonzepte wiederverwenden.
Was umfasst agile Planung? Warum helfen Ihnen Patterns und wie setzen Sie diese für die agile Planung ein?
Patterns bzw. Muster in der agilen Planung bieten Ihnen bewährte Lösungskonzepte für wiederkehrende Problemstellungen. Wenn Sie zum Beispiel ein neues Release für ein Team anlegen müssen, nehmen Ihnen Patterns die dafür notwendigen Handlungsschritte ab.
Wo legen Sie alle Artefakte des neuen Releases ab? Ganz einfach in der Ordnerstruktur, die das Pattern automatisch erzeugt. Ihre Anforderungen oder Bugs landen so immer gleich an der richtigen Stelle.
Im hybriden Projektumfeld sorgen Patterns dafür, dass eine Release-Aktivität, die erste Sprint-Aktivität des Releases und ein Meilenstein für das Release-Ende erzeugt werden.
Mit Patterns können Sie auch gleich Auswertungen bzw. Sichten auf Ihr neues Release automatisch erstellen lassen. Zum Beispiel ein Cumulative Flow Diagram oder eine Earned Value Analyse zum neuen Release.
Agile Planung – Was bedeutet das?
Agile Planung bedeutet, in kurzen Entwicklungszyklen bzw. Iterationen zu planen, Kunden ständig einzubinden, auf neue Anforderungen flexibel zu reagieren und regelmäßig Prototypen zu liefern. Man spricht von Releases und Sprints, anstatt von Meilensteinen und Aktivitäten.
Im agilen Alltag fallen dann immer wieder die gleichen Aufgaben an. Zum Beispiel planen Sie den nächsten Sprint für ein Release oder für ein Team. Oftmals müssen Sie auch ein neues Team in die Planung aufnehmen und eine Arbeitsumgebung schaffen, in der es sofort loslegen kann. Diese Aufgaben ziehen Arbeit nach sich. Sie können diese Arbeit nun entweder selbst erledigen oder von Patterns erledigen lassen.
Was sind Patterns in der agilen Planung?
Patterns (deutsch: Muster) in der agilen Planung sind Vorlagen, um spezielle Problemstellungen zu lösen. Zum Beispiel liefern sie einen Lösungsansatz für die Planung eines neuen Team-Releases. Diese Aufgabe erfordert einige Handlungsschritte, die Sie durchführen müssen:
- Sie brauchen ein neues Release-Backlog.
- Sie müssen definieren, wo Sie die Artefakte des neuen Releases und der dazugehörigen Sprints ablegen. Dafür brauchen Sie eine klare Ordnerstruktur.
- Sofern Sie hybrides Projektmanagement betreiben, brauchen Sie eine Aktivität für Ihr neues Release. Diese sollte einen Ende-Meilenstein mit Kontrollfluss sowie einen Kontrollfluss zu dem Ende-Meilenstein des Vorgänger-Releases umfassen.
Patterns bieten Lösungsvorschläge, indem sie zum Beispiel eine definierte Ordnerstruktur vorgeben, die Sie ganz einfach anwenden oder an Ihre Bedürfnisse anpassen können. Damit nehmen sie Ihnen automatisch wichtige Arbeitsschritte in der agilen Planung ab, die Sie sonst aufwändig per Hand erledigen müssten.
Pattern – eine kurze Definition:
Ein Pattern bzw. Muster ist ein Lösungskonzept für eine konkrete und wiederkehrende Problemstellung.
Ursprung von Patterns
Die Idee der Patterns als wiederverwendbare Lösungskonzepte entsprang ursprünglich dem Kopf des Architekten Christopher Alexander in den 70er Jahren. Er erkannte, dass es grundlegende Muster in Städten und Gebäuden gab, nach denen die Menschen strebten und die sich immer wieder anwenden ließen. Er definierte damals einen Musterkatalog, in dem er diese Patterns sammelte und ihre spezifischen Eigenschaften beschrieb, zum Beispiel Zweck, Anwendung, Struktur oder Konsequenzen.
Dieses Konzept schwappte einige Jahre später in die Software-Entwicklung über. Das berühmte Werk Design Patterns (deutsch: Entwurfsmuster) von Gamma, Helm, Johnson und Vlissides erschien 1994 und erklärte, dass es auch in der Software-Entwicklung bewährte Lösungskonzepte für bestimmte Problemstellungen gäbe. Hier lieferten die vier Autoren allerdings Code-Lösungen, die sich als Patterns bzw. Muster anwenden und im spezifischen Kontext anpassen ließen. Später übertrug sich das Konzept auch auf die Software-Architektur mit den sogenannten Architectural Patterns.
Pattern-Arten in der Software-Entwicklung
In der Software-Entwicklung lassen sich grob drei Ebenen von Mustern unterscheiden:
Architekturmuster (englisch: Architectural Patterns):
Für die grundlegende Struktur von Software-Systemen hinsichtlich der Komponenten
Entwurfsmuster (englisch: Design Patterns):
Für wiederkehrende Problemstellungen in der Software-Entwicklung (gewöhnlich auf Code-Basis)
Programmiermuster:
Spezifische Muster je Programmiersprache
Vorteile von Patterns in der agilen Planung
- Sie bieten Lösungen für spezifische Problemstellungen.
- Sie sind leicht anwendbar, da Zweck und Anwendung eindeutig beschrieben sind.
- Sie machen die Arbeit effizienter.
- Sie lassen sich am spezifischen Kontext anpassen.
- Sie erleichtern die Kommunikation zwischen Entwicklern.
- Sie dokumentieren Fachwissen von Experten und machen es für alle zugänglich.
Eigenschaften eines guten Patterns
- Es löst ein oder mehrere Probleme, die wiederkehrend auftreten.
- Es ist klar beschrieben (zum Beispiel mit Zweck, Anwendung und Ergebnissen).
- Es ist am spezifischen Kontext anpassbar.
- Es bietet ggf. Anknüpfungspunkte zu anderen Patterns.
Mit objectiF RPM planen Sie agil mithilfe von Patterns
Unternehmenssoftware für mehr Business Agilität »
Beispiele von Patterns in der agilen Planung
Die folgenden Patterns werden im Musterkatalog von objectiF RPM, unserer Application Lifecycle Management-Lösung, angeboten.
Domäne anlegen
Zweck:
zur Untersuchung einer neuen Domäne
Ergebnisse:
Erzeugt Ordner mit Unterordnern für die Ergebnisse des Requirements Engineering in der Domäne (Anforderungen, Anwendungsfälle, Personas etc.)
Erzeugt Dokumente (u.a. Anforderungsdefinition der Domäne)
Nächsten Sprint für ein Release anlegen
Zweck:
für die Planung des nächsten Sprints eines Releases
Ergebnisse:
Erzeugt Sprint-Aktivität mit Kontrollfluss zum Vorgänger-Sprint
Erzeugt Ordner für Sprint-Artefakte (Anforderungen, Anwendungsfälle etc.)
Erzeugt Analysen für den Sprint (Earned Value Chart, User Story Board, Gantt Chart etc.)
Nächsten Sprint für ein Team anlegen
Zweck:
für die Planung eines neuen Sprints eines Teams
Ergebnisse:
Erzeugt Team-Aktivität im Projektplan
Erzeugt Ordner für die Team-Artefakt
Release für ein Team anlegen
Zweck:
für die Planung eines neuen Releases mit einem einzigen Team
Ergebnisse:
Erzeugt Ordnerhierarchie mit Backlog, Baseline, Auswertungen und Sprint
Erzeugt Aktivitätenhierarchie mit Release-Aktivität, Ende-Meilenstein mit Kontrollfluss zu Ende-Meilenstein der Vorgänger-Aktivität
Erzeugt erste Sprint-Aktivität zur Release-Aktivität
Ordnet Release-Aktivität dem Backlog zu
Release für mehrere Teams anlegen
Zweck:
für die Planung eines neuen Releases, in dem mehrere Teams parallel arbeiten
Ergebnisse:
Erzeugt Ordnerhierarchie mit Release-Backlog, Baseline und Auswertungen (nach Teams gegliedert)
Erzeugt Aktivitätenhierarchie mit Release-Aktivität, Ende-Meilenstein mit Kontrollfluss und Kontrollfluss zu Ende-Meilenstein des Vorgänger-Releases (nach Teams gegliedert)
Erzeugt zur Release-Aktivität eine Team-Aktivität mit der ersten Sprint-Aktivität
Team zu Release hinzufügen
Zweck:
zum Hinzufügen eines neuen Teams in einem agilen, skalierbaren Projekt
Ergebnisse:
Erzeugt Team-Aktivität unter der Release-Aktivität
Erzeugt Sprint-Aktivität unter der neuen Team-Aktivität
Erzeugt Ordnerhierarchie mit Backlog, Baseline und Auswertungen sowie Artefakten des ersten Sprints
So nutzen Sie Patterns in objectiF RPM für die agile Planung
Ein Pattern bzw. Muster wenden Sie ganz einfach im Projektplan durch einen Rechtsklick auf eine Aktivität an. Dann können Sie das Pattern an Ihren spezifischen Kontext anpassen. Zum Beispiel sollen die Sprints des neuen Teams auch mit dem Teamnamen beschriftet sein wie “Team Karlsruhe Sprint”. Dafür passen Sie die Platzhalter des Patterns an.