Konfigurieren von Projekten und Teams in Azure DevOps
In der heutigen hoch dynamischen Landschaft der Softwareentwicklung sind eine effiziente Projektorganisation und Teamzusammenarbeit wesentliche Komponenten der DevOps-Strategie. Projekte und Teams in Azure DevOps bilden die Grundlage für eine effiziente Kommunikation, klare Verantwortlichkeiten und eine optimierte Workflowverwaltung. Sie verbessern zudem die Agilität, beschleunigen die Lieferung und stellen die Ausrichtung an den Geschäftszielen sicher.
Planung
Um den optimalen Ansatz für die Implementierung von Projekten und Teams zu entwickeln, sollten Sie zunächst die Organisationsstruktur, das Betriebsmodell und die am Entwicklungslebenszyklus beteiligten Rollen analysieren. Bei dieser Analyse sollten Faktoren wie Abteilungen, aktuelle Geschäftsinitiativen und vorhandene Projekte berücksichtigt werden, die zu potenziellen projektübergreifenden Abhängigkeiten führen könnten.
Bestimmen Sie als Nächstes für jedes neue Projekt den Umfang, die Ziele und die Beteiligten. Ermitteln Sie basierend auf dem Organisationsmodell und den Projektanforderungen die optimale Methode zum Strukturieren der Projektteams. Entscheiden Sie, ob Teams funktionsübergreifend oder nach Kriterien wie Features und Komponenten organisiert werden sollen. Identifizieren Sie die Rollen und Verantwortlichkeiten innerhalb der Projektteams. Allgemeine Rollen sind Entwickler, Tester, Produktbesitzer, Scrum Master und Projektmanager. Definieren Sie die Erwartungen und Verantwortlichkeiten für die einzelnen Rollen eindeutig. Stellen Sie sicher, dass ausreichende Techniken und Methoden für die Zusammenarbeit und Kommunikation innerhalb und zwischen Teams verfügbar sind.
Richten Sie Governancerichtlinien und Richtlinien für das Projektmanagement ein. Dazu zählen Richtlinien für die Versionskontrolle, Verzweigungsstrategien, Code Review-Prozesse und die Überprüfung der Konformitätsanforderungen. Definieren Sie die agilen Prozesse und Methoden, die für das Projektmanagement verwendet werden sollen. Denken Sie daran, dass Sie die Agile-Tools in Azure DevOps anpassen können, um Ihre Entscheidung zu stützen.
Definieren Sie ggf. Vorlagen oder Blaupausen, die die Projektstruktur, Prozesse und Artefakte definieren, um den Prozess der Erstellung neuer Projekte zu optimieren. Solche Vorlagen können vordefinierte Einstellungen von Quellcoderepositorys, die Nachverfolgung von Arbeitselementen, Pipelines und Testpläne enthalten.
Implementierung
Nachdem Sie alle Vorbereitungsschritte abgeschlossen haben, fahren Sie mit der Implementierung des geplanten Projekts fort. Zunächst müssen Sie die Sichtbarkeit des Projekts (öffentlich oder privat) festlegen, entscheiden, ob Sie die Git- oder die Team Foundation-Versionskontrolle verwenden, und den Arbeitselementprozess auswählen. Folgende Optionen stehen dabei zur Auswahl:
- Agil: Bei dieser Option liegt der Fokus auf der iterativen Entwicklung und der Schaffung eines Mehrwerts für Kunden durch User Storys, Backlogs, Sprints und visuelle Boards zum Nachverfolgen des Fortschritts.
- Standard: Diese Option bietet einen einfachen und flexiblen Ansatz mit generischen Arbeitselementen und grundlegenden Backlog- und Boardfunktionen. Sie eignet sich am besten für kleine Teams oder Projekte.
- CMMI (Capability Maturity Model Integration): Diese Option bietet formalisierte Prozesse und Standards für die Verwaltung von Arbeitselementen und Anforderungen sowie der Qualitätssicherung. Sie eignet sich am besten für Organisationen, die Prozesse verbessern und die Konformität sicherstellen möchten.
- Scrum: Bei dieser Option wird ein iteratives, selbstorganisierendes Framework mit Produkt- und Sprint-Backlogs, täglichen Routineaufgaben und Artefakten für die Verwaltung der Arbeit und die Bereitstellung inkrementeller Änderungen verwendet.
- Angepasstes Scrum: Diese Option ermöglicht die flexible Auswahl von Arbeitselementtypen, Feldern und Workflowstatus, sodass der Scrum-Prozess an spezifische Anforderungen angepasst werden kann.
Nachdem Sie das Projekt implementiert haben, können Sie mit der Erstellung der Teamstruktur fortfahren. Standardmäßig enthält jedes Projekt ein Team, dessen Name vom Projektnamen abgeleitet wird. Je nach Ergebnis Ihrer Planung müssen Sie diesen also möglicherweise ändern. Sie können auch weitere Teams erstellen. Jedes Team muss über mindestens einen Administrator verfügen. Jeder Teamadministrator kann Teammitglieder hinzufügen.
Beim Erstellen eines Teams ist es auch möglich, automatisch einen Bereichspfad mit dem entsprechenden Namen zu generieren. Bereichspfade helfen beim Organisieren von Arbeitselementen innerhalb eines Projekts und ermöglichen eine bessere Sichtbarkeit, Berichterstellung und Zugriffssteuerung. Durch das Zuordnen eines dedizierten Bereichspfads für einzelne Teams können die Zuständigkeitsbereiche von Teams klar voneinander abgegrenzt werden.
Nachdem Sie die Teams erstellt haben, können Sie eine Vielzahl zusätzlicher Einstellungen für jedes Team konfigurieren, einschließlich angepasster Berechtigungen. Standardmäßig werden Teammitglieder der Gruppe „Mitwirkende“ auf Projektebene hinzugefügt. An diesem Punkt können Sie auch mit der Verwaltung von Projektressourcen wie Repositorys, Boards, Pipelines und Testplänen beginnen und diese nach Bedarf bestimmten Teams zuweisen.
Im Sinne einer kontinuierlichen Verbesserung sollten Sie die Projekt- und Teamkonfiguration regelmäßig basierend auf dem Feedback von Team- und Projektmitgliedern überprüfen und optimieren. Dadurch stellen Sie sicher, dass Ihre Organisation den Prozess der Entwicklung von Softwareprodukten unabhängig von ihrer Komplexität effizient verwalten kann.