Konfigurieren von Azure Boards zur Unterstützung von SAFe®-Programmen und -Portfolios
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Dieses Tutorial führt Sie durch die Schritte zum Konvertieren eines neuen Projekts mit einem einzelnen Team in ein Projekt, das für die Unterstützung von SAFe-Programmen® (Scaled Agile Framework) und -Portfolios konfiguriert ist. Insbesondere erfahren Sie, wie Sie Azure Boards für die Unterstützung von SAFe®-Programmen und -Portfolios konfigurieren, indem Sie die folgenden Aufgaben ausführen:
- Definieren von Agile-, Programm- und Portfolioteams
- Konfigurieren einer Hierarchie von Bereichspfaden zur Unterstützung Ihrer Teams
- Definieren von Iterationspfaden zur Unterstützung von SAFe®-Release Trains, PIs, Sprints und IP-Adressen
- Konfigurieren der einzelnen Teams für die Unterstützung von SAFe®
Sie müssen ein Mitglied der Gruppe „Projektadministratoren“ sein, um diese Konfigurationen vornehmen zu können.
Nachdem Sie diese Kernkonfigurationen abgeschlossen haben, können Sie ihr Projekt an bestimmte Geschäftsanforderungen anpassen. Anpassungsoptionen werden unter Anpassen von Azure Boards zur Unterstützung von SAFe® behandelt.
Tipp
Wenn Sie benutzerdefinierte Arbeitselementtypen, Portfolio Backlogs oder Workflows hinzufügen möchten; kann es sinnvoll sein, zuerst diese Anpassungen vorzunehmen und dann Ihre Teams zu definieren und zu konfigurieren.
Wenn Sie noch nicht mit Azure Boards vertraut sind, empfehlen wir Ihnen, Informationen zu Teams und Agile-Tools und Informationen zu Bereichs- und Iterationspfaden (Sprint) zu lesen, bevor Sie Ihre Teams hinzufügen und konfigurieren. Ferner bieten sich zwei hervorragende Artikel zur Teamstruktur und Agile-Kultur an: Einführung in die Planung effizienter Workloads mit DevOps und Erstellen produktiver, kundenorientierter Teams.
Hinweis
Dieser Artikel ist einer aus einer Reihe von Scaled Agile Framework®-Tutorials, die sich auf Azure Boards und Azure DevOps Services beziehen. Die meisten Anleitungen gelten sowohl für die cloudbasierte als auch für die lokale Version. Einige der Features und Prozeduren sind jedoch spezifisch für die Cloudversion oder die aktuelle Version von Azure DevOps Server.
Grundlegendes zur Teamhierarchie
In diesem Artikel gehen wir von einem Projekt und einem Team, die beide den Namen „Fabrikam“ tragen, zum folgenden Satz von neun Teams über.
Hinweis
Azure Boards unterstützt keine Hierarchie von Teams. Indem Sie jedoch die Bereichspfade wie in diesem Artikel angegeben konfigurieren, erstellen Sie effektiv eine Art von Teamhierarchie. Die Hierarchie wird durch die Struktur von Bereichspfaden definiert.
Anschließend konfigurieren wir den Bereichspfad zur folgenden Hierarchie und konfigurieren den Bereichspfad jedes Teams. Diese Konfiguration unterstützt die Backlogansicht jedes Teams und das Rollup von Ansichten innerhalb der Hierarchie.
Tipp
Wenn Sie eine große Anzahl von Teams, Bereichspfaden und Iterationen hinzufügen müssen, sollten Sie befehlszeilen- oder programmgesteuerte Tools verwenden. Weitere Informationen finden Sie unter Befehlszeile und programmgesteuerte Tools weiter unten in diesem Artikel.
Alle Teams können ihre eigene Arbeitsauslastung und Prioritäten verwalten, während sie sich zugleich bewusst sind, wie ihre Arbeit die im Backlog des Portfolio-Teams verwalteten Epics unterstützt. Zur gleichen Zeit kann das Portfolio-Team den Status seines Backlogs auf dem eigenen Kanban-Board überwachen, die Elemente im Backlog priorisieren und den Status innerhalb der Release Trains anzeigen.
Dies mag kompliziert klingen, aber es bedarf tatsächlich nur eines geringen Konfigurationsaufwands, um die Teams einzurichten und mit der Arbeit zu beginnen. Um von einem Projekt mit einem Standardteam auszugehen, definieren Sie zunächst jedes Team und erstellen dabei automatisch einen Standardbereichspfad für dieses Team. Konfigurieren Sie dann den flachen Satz von Bereichspfaden in eine hierarchische Struktur um. Als Nächstes definieren Sie die Iterationspfade, um die von Ihnen gewünschte Release-Struktur zu unterstützen, sowie die zu verwendenden Programm- und Agile-Teams. Schließlich konfigurieren Sie jedes Team und legen die Mitgliedschaft der Teams fest.
Definieren Ihrer Teams
Zu Beginn fügen wir die einzelnen Teams hinzu und erstellen für jedes einen Standardbereichspfad. Weiter unten in diesem Artikel konfigurieren wir diese Bereichspfade zu der erforderlichen Hierarchie. Diese Struktur ordnet den Azure Boards-Teams die folgenden SAFe®-Teams zu:
- Portfolio-Team > Standardteam der obersten Ebene, Fabrikam-Team (bereits definiert)
- Programm-Teams > Teams der zweiten Ebene, Fiber-Suite und Service-Suite
- Agile-Teams > Teams der dritten Ebene, unterhalb von Fiber-Suite und Service-Suite definiert.
Sie müssen ein Projektadministrator sein, um diese Schritte ausführen zu können. Wenn Sie detailliertere Anleitungen benötigen, finden Sie weitere Informationen unter Portfoliomanagement.
Fügen Sie jedes Team einzeln hinzu.
Hinweis
Im folgenden Verfahren wird die Benutzeroberfläche Neue Teams-Seite verwendet, die sich in der Vorschauphase befindet. Informationen zum Aktivieren dieses Features finden Sie unter Verwalten oder Aktivieren von Features.
Wählen Sie im Webportal Projekteinstellungen aus, und öffnen Sie Teams.
Wählen Sie Neues Team aus.
Geben Sie dem Team einen Namen und optional eine Beschreibung.
Hier fügen wir das App-Team hinzu. Wählen Sie den Teamadministrator aus, und vergewissern Sie sich, dass das Kontrollkästchen Bereichspfad mit dem Namen des Teams erstellen aktiviert ist. Fügen Sie optional Teammitglieder hinzu.
Weisen Sie den Scrum Master, Programmmanager oder Portfoliomanager des Teams als Teamadministrator zu. Als Teamadministratoren können sie die Tools ihres Teams so konfigurieren, dass sie ihre Agile-Praktiken und Geschäftsanforderungen unterstützen.
Wiederholen Sie die Schritte 2 und 3, um alle Teams zu definieren.
Optional. Wenn Sie über zwei oder mehr Portfolioteams verfügen, erstellen Sie für jedes von ihnen ein Team.
Konfigurieren von Bereichspfaden
Zur Unterstützung Ihrer Teamhierarchie konfigurieren Sie jetzt die Bereichspfade, die im ersten Schritt der Definition von Teams in einer Hierarchie erstellt wurden.
Wählen Sie auf der Seite Projekteinstellungen die Option Projektkonfiguration und dann Bereiche aus. Es sollte eine flache Liste der Bereichspfade angezeigt werden.
Sie sollten den Bereichspfad jedes Featureteams unter dem obersten Bereichspfad auswählen und ihn unter die Bereichspfadhierarchie verschieben, zu der er gehört.
Sie können jeden Bereichspfad unter dem übergeordneten Knoten ziehen und dort ablegen, wo er hingehört. Hier ziehen wir beispielsweise den Migrate-Knoten auf den Fiber Suite-Knoten.
Stattdessen können Sie das Kontextmenü für den Bereichspfad öffnen, Bearbeiten auswählen und den Knoten auswählen, unter den Sie ihn verschieben möchten.
Wiederholen Sie die Schritte 2 und 3 für die verbleibenden Agile-Teambereichspfade.
Wenn Sie zwei oder mehr Portfolioteams definiert haben, müssen Sie den Bereichspfad jedes Programmteams unter dem Bereichspfad des entsprechenden Portfolioteams ändern.
Wenn Sie fertig sind, sollte die Struktur des Bereichspfads ähnlich der folgenden Abbildung aussehen.
Wichtig
Diese Struktur zeigt, dass Bereichspfade im Besitz der Agile-Teams, der Programmteams und des Portfolioteams sind. Wir korrigieren diese Struktur später in diesem Artikel, wenn wir jedes Team so konfigurieren, dass es der alleinige Besitzer seines Bereichspfads ist.
Definieren von Iterationspfaden
Erstellen Sie die Iterationspfadstruktur, um den Status von Releases zu verfolgen. Im Gegensatz zu Bereichspfaden können sich mehrere Teams die gleiche Iterationspfadstruktur teilen. Durch eine gemeinsame Nutzung der Iterationsstruktur können mehrere Teams im gleichen Sprint-Rhythmus für den gleichen Release Train arbeiten.
Wichtig
Das Löschen, Umbenennen oder Verschieben von Iterationspfaden führt zu einem Verlust der zugeordneten Verlaufsdaten.
Wenn Sie bereits Iterationen für das Standardteam haben, können Sie diese umbenennen. Es ist sinnvoll, eine Iterationsstruktur zu erstellen, die die gesamte Teamstruktur unterstützt, nicht nur ein Team.
Wählen Sie auf der Seite Projekteinstellungen die Option Projektkonfiguration und dann Iterationen aus.
Unter der Standarditeration, die den gleichen Namen wie das Projekt trägt, erstellen Sie eine untergeordnete Iteration, die Ihr erstes Programminkrement (PI) darstellt. Fügen Sie optional ein Start- und Enddatum für das PI hinzu, aber denken Sie daran, dass die Iteration weiter in Sprints unterteilt wird.
Erstellen Sie als Nächstes eine untergeordnete Iteration für jeden Sprint innerhalb des PI. Legen Sie Daten für diese Sprints so fest, dass sie dem Rhythmus der Agile-Teams entsprechen.
Fahren Sie damit fort, so viele Iterationen wie erforderlich hinzuzufügen, um der Zeitfeld-Rhythmenstruktur für alle Ihre Teams zu entsprechen.
Wenn Sie fertig sind, sollten Sie über eine Struktur ähnlich der folgenden Abbildung verfügen.
Tipp
Sie können Iterationspfade ziehen und ablegen, um Ihre Iterationen zu strukturieren, ähnlich wie in Schritt 2 unter „Konfigurieren von Bereichspfaden“ gezeigt. Azure Boards listen die Iterationspfade unter jedem übergeordneten Knoten immer in der Reihenfolge ihrer Datumswerte auf.
Konfigurieren Ihrer Teams
Nachdem nun Ihre Teams, Bereichspfade und Iterationspfade definiert sind, besteht der nächste Schritt darin, die einzelnen Teams zu konfigurieren. Sie sollten für jedes Team die folgenden Einstellungen konfigurieren.
- Aktive Backlogs
- Umgang mit Fehlern
- Festlegen des Standarditerationspfads
- Auswählen von Teamiterationspfaden
In der folgenden Tabelle sind die empfohlenen Einstellungen aufgeführt, die auf Teamebene vorgenommen werden sollen.
Konfigurieren
Agile-Featureteam
Programmteam
Portfolioteam
Backlog-Navigationsebenen
Features, Storys
Features, Storys
Epics
Umgang mit Fehlern
Fehler werden mit Anforderungen verwaltet
Fehler werden nicht in Backlogs und auf Boards verwaltet
Fehler werden nicht in Backlogs und auf Boards verwaltet
Standarditeration
@CurrentIteration
@CurrentIteration
@CurrentIteration
Backlogiteration
Fabrikam
Fabrikam
Fabrikam
Ausgewählte Iterationen
Sprint 1 bis Sprint 4, IP-Sprint
PI 1, PI 2, PI 3
Keine
Bereiche
Unterbereiche einschließen
Unterbereiche ausschließen
Unterbereiche ausschließen
Hinweis
Durch Festlegen der Standarditeration auf @CurrentIteration werden alle Arbeitselemente, die aus dem Backlog oder Board des Teams erstellt werden, basierend auf dem aktuellen Datum der aktuellen Iteration zugewiesen. Das Festlegen der Backlogiteration auf den Stamm Fabrikam weist darauf hin, dass nur der Bereichspfad als Filter fungiert, wenn Arbeitselemente in den Team Backlogs und -boards angezeigt werden.
Wählen Sie auf der Seite Projekteinstellungen die Option Teamkonfiguration aus.
Wählen Sie in der Teamauswahl das Team aus, das Sie konfigurieren möchten.
Deaktivieren Sie auf der Seite Allgemein die Backlogs, die nicht aktiv sein sollen.
Aktivieren Sie beispielsweise für das Portfolioteam nur das Kontrollkästchen Epics.
Deaktivieren Sie für Programm- und Agile-Teams das Kontrollkästchen Epics.
Aktivieren Sie für Programm- und Portfolioteams das Optionsfeld Umgang mit Fehlern.
Und aktivieren Sie für Agile-Teams die Option Umgang mit Fehlern, um Fehler zusammen mit den Anforderungen nachzuverfolgen.
Wählen Sie die Registerkarte Iterationen aus, um die Iterationen des Teams zu konfigurieren.
Konfigurieren Sie für Agile-Teams die Einstellungen wie gezeigt.
Wählen Sie für Programmteams nur die PI-Iterationen aus.
Wählen Sie für Programm- und Portfolioteams die Registerkarte Bereiche aus, um die Standardeinstellung von Unterbereiche einschließen in Unterbereiche ausschließen zu ändern.
Öffnen Sie das Kontextmenü , und wählen Sie Unterbereiche ausschließen aus.
Hinweis
Da wir jedes Team mit aktivierter Option Bereichspfad mit dem Teamnamen erstellen erstellt haben, ist jedes Team bereits mit seinem Standardbereichspfad vorkonfiguriert. Dieser Bereichspfad fungiert als Standardfilter für Arbeitselemente, die in den Backlogs und Boards der einzelnen Teams angezeigt werden.
Wiederholen Sie die Schritte 2 bis 5 nach Bedarf für jedes Team, das Sie konfigurieren müssen.
Nachdem Sie Schritt 5 für alle Teams abgeschlossen haben, überprüfen Sie die Struktur „Bereichspfad-Team“. Wählen Sie Projektkonfiguration und Bereiche aus. Der Bereichspfad und die Teamstruktur sollten nun wie dargestellt angezeigt werden, wobei jedes Team seinen Bereichspfad besitzt und ihn mit keinem anderen Team teilt.
Konfigurieren von Teams für die Unterstützung von gemeinsamen Diensten
Für Teams, die mehrere andere Teams unterstützen, etwa ein UX-Designteam, konfigurieren Sie Ihre Teams wie in den folgenden Schritten beschrieben.
Fügen Sie für jedes gemeinsame Dienste-Team ein Team hinzu. Weitere Informationen finden Sie unter Definieren Ihrer Teams.
Kehren Sie zur Seite Projektkonfiguration>Bereichspfade zurück, und fügen Sie unter jedem Pfad für gemeinsame Dienste Unterbereichspfade für jedes Agile-Team hinzu, das von den gemeinsamen Diensten unterstützt wird. Weitere Informationen finden Sie unter Konfigurieren von Bereichspfaden weiter oben in diesem Artikel.
Hier fügen wir beispielsweise vier Unterbereichspfade unter dem UX-Design-Bereichspfad hinzu, einen für jedes Agile-Team, das vom UX-Design-Team unterstützt wird.
Konfigurieren Sie jedes gemeinsame Dienste-Team als Agile-Featureteam, wie unter Konfigurieren Ihrer Teams beschrieben.
Öffnen Sie für jedes Agile-Team die Seite Teamkonfiguration>Bereiche, wie in Schritt 5 von Konfigurieren Ihrer Teams gezeigt. Wählen Sie Bereiche auswählen aus, und fügen Sie den Unterbereichspfad für das betreffende Team hinzu.
Hier fügen wir dem App-Featureteam den Unterbereichspfad UX Design\App hinzu.
Kehren Sie zur Seite Projektkonfiguration>Bereichspfade zurück, und vergewissern Sie sich, dass die Struktur „Bereichspfad“ für jeden Bereichspfad für gemeinsame Dienste wie erwartet angezeigt wird.
Für das UX-Designteam sollte die Struktur wie gezeigt angezeigt werden.
Arbeitselemente, die auf gemeinsamen Bereichspfaden angezeigt werden, werden in den Backlogs und Boards der zugeordneten Teams angezeigt.
Befehlszeilen- und programmgesteuerte Tools
Sie können Azure DevOps-Befehlszeilentools verwenden, um die folgenden Artefakte hinzuzufügen oder zu aktualisieren:
- Teams: Erstellen eines Azure DevOps-Teams
- Bereichspfade: Erstellen eines Azure DevOps-Bereichsprojekts
- Iterationspfade: Erstellen eines Azure DevOps-Iterationsprojekts
Verwenden programmgesteuerter Tools
Sie können Azure DevOps-REST-APIs verwenden, um die folgenden Artefakte hinzuzufügen oder zu aktualisieren:
- Teams: Teams (REST-API)
- Bereichspfade: Klassifizierungsknoten (REST-API)
- Iterationspfade: Klassifizierungsknoten (REST-API)