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.

Teams, Liste

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.

Bereichspfad und Teamkonfiguration

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.

  1. Wählen Sie im Webportal Projekteinstellungen aus, und öffnen Sie Teams.

    Öffnen der Projekteinstellungen und anschließend „Teams“

  2. Wählen Sie Neues Team aus.

    Erstellen eines Unterteams mit seinem eigenen Bereichspfad

  3. 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.

    Hinzufügen des App-Teams.

    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.

  4. Wiederholen Sie die Schritte 2 und 3, um alle Teams zu definieren.

  5. 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.

  1. Wählen Sie auf der Seite Projekteinstellungen die Option Projektkonfiguration und dann Bereiche aus. Es sollte eine flache Liste der Bereichspfade angezeigt werden.

    Flache Liste der Bereichspfade

  2. 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.

    Bereichspfade, ziehen und in übergeordnetem Knoten ablegen

    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.

  3. 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.

  4. 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.

    Hierarchischer Bereichspfad

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.

  1. Wählen Sie auf der Seite Projekteinstellungen die Option Projektkonfiguration und dann Iterationen aus.

  2. 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 einer untergeordneten Iteration

  3. 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.

    Iterationenseite, IP-Sprint-Iteration erstellen

  4. 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.

    Iterationsseite, Liste der Iterationen

    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.

  1. 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.

    Teamprofil, Auswählen von „Iterationen“ und des Bereichslinks

  2. 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.

    Teamkonfiguration, Allgemein, Backlog-Navigationsebenen, Nur „Epics“

    Deaktivieren Sie für Programm- und Agile-Teams das Kontrollkästchen Epics.

    Teamkonfiguration, Allgemein, Backlog-Navigationsebenen, „Features“ und „Storys“

  3. Aktivieren Sie für Programm- und Portfolioteams das Optionsfeld Umgang mit Fehlern.

    Teamkonfiguration, Allgemein, Umgang mit Fehlern, nicht nachverfolgen

    Und aktivieren Sie für Agile-Teams die Option Umgang mit Fehlern, um Fehler zusammen mit den Anforderungen nachzuverfolgen.

    Agile-Teamkonfiguration, Allgemein, Umgang mit Fehlern, nicht nachverfolgen

  4. Wählen Sie die Registerkarte Iterationen aus, um die Iterationen des Teams zu konfigurieren.

    Konfigurieren Sie für Agile-Teams die Einstellungen wie gezeigt.

    Teamkonfiguration, Iterationen, Auswählen von Sprints

    Wählen Sie für Programmteams nur die PI-Iterationen aus.

    Teamkonfiguration, Iterationen, Auswählen von PIs

  5. 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.

    Teamkonfiguration, Bereiche, Unterbereiche ausschließen

    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.

  6. Wiederholen Sie die Schritte 2 bis 5 nach Bedarf für jedes Team, das Sie konfigurieren müssen.

  7. 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.

    Projektkonfiguration, Bereiche

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.

  1. Fügen Sie für jedes gemeinsame Dienste-Team ein Team hinzu. Weitere Informationen finden Sie unter Definieren Ihrer Teams.

  2. 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.

    Unterbereichspfade für gemeinsame Dienste

  3. Konfigurieren Sie jedes gemeinsame Dienste-Team als Agile-Featureteam, wie unter Konfigurieren Ihrer Teams beschrieben.

  4. Ö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.

    Rollup des Budgetvoranschlags

  5. 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.

    Bereichspfad und Teamstruktur für gemeinsame Dienste

    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:

Verwenden programmgesteuerter Tools

Sie können Azure DevOps-REST-APIs verwenden, um die folgenden Artefakte hinzuzufügen oder zu aktualisieren:

Nächste Schritte