Blog Engineering So setzt du GitLab für die Agile-Softwareentwicklung ein
Aktualisiert am: December 17, 2024
8 Minuten Lesezeit

So setzt du GitLab für die Agile-Softwareentwicklung ein

Wie Agile-Artefakte auf GitLab-Funktionen abgebildet werden und wie eine Agile-Iteration in GitLab aussieht.

agile - cover

Hast du dich jemals gefragt, ob GitLab die Agile-Methode unterstützt? Wenn du die Verwendung von GitLab in Betracht ziehst, ist es möglicherweise nicht offensichtlich, wie die Funktionen der DevSecOps-Plattform mit Agile-Artefakten übereinstimmen. Daher haben wir sie für dich aufgeschlüsselt.

Agile ist eine der wichtigsten und transformativsten Methoden, die in den letzten Jahrzehnten im Bereich des Software-Engineerings eingeführt wurde. Obwohl sich nicht alle auf die detaillierte Terminologie der Agile-Konzepte einigen können, hat sie sich dennoch deutlich positiv auf die Softwareentwicklungsteams ausgewirkt. Du kannst dank Agile-Softwareentwicklung und der Bereitstellungsprozesse effizient kundenorientierte Produkte erstellen.

GitLab ist so konzipiert, dass es flexibel genug ist, um sich an deine Softwareentwicklungsmethodik anzupassen, unabhängig davon, ob es sich um Agile handelt oder davon inspiriert ist. In diesem Beitrag zeigen wir eine einfache Zuordnung von Agile-Artefakten zu GitLab-Funktionen und erklären, wie Kund(inn)en erfolgreich leistungsstarke Agile-Softwarebereitstellungsteams mit GitLab unterstützen.

Zuordnen von Agile-Artefakten zu GitLab-Funktionen

Agile-Artefakt → GitLab-Funktion

Eine Agile-Iteration mit GitLab

User Storys → GitLab-Probleme

In der Agile-Softwareentwicklungsmethodik beginnt man oft mit einer User Story, die ein einzelnes Feature erfasst, um den Benutzer(inne)n einen Geschäftswert zu bieten. In GitLab dient ein Ticket diesem Zweck mit Leichtigkeit. GitLab-Tickets sind für Agile-Teams unerlässlich und bieten eine effektive Methode zum Verwalten von Aufgaben und Projekten. Softwareentwickler(innen) können Tickets erstellen, zuweisen und nachverfolgen, um eine klare Verantwortlichkeit und Sichtbarkeit des Fortschritts zu gewährleisten. Tickets kommen mit robusten Metadaten wie Beauftragte(r), Iteration, Gewichtung und Labels, was die Aufgabenpriorisierung und das Workflow-Management während des gesamten Softwareentwicklungsprozesses verbessert. Darüber hinaus wird die Teamzusammenarbeit bei Tickets mit Diskussionsthreads, Anhängen und Echtzeit-Updates optimiert, um eine effektive Kommunikation und Teamarbeit zu ermöglichen.

Screenshot eines GitLab-Tickets

Das GitLab-Ticket hat einen Titel und einen Beschreibungsbereich in der Mitte, in dem du alle Details wie den Geschäftswert und die relevanten Personas in einer User Story dokumentieren kannst. Die Seitenleiste rechts bietet die Integration mit anderen Agile-kompatiblen Funktionen wie dem übergeordneten Epic, zu dem das Ticket gehört, der Iteration, in der das Ticket bearbeitet werden soll, und der Gewichtung des Tickets, die den geschätzten Aufwand widerspiegelt.

Aufgabe → Aufgaben

Oft wird eine User Story weiter in einzelne Aufgaben unterteilt. GitLab-Aufgaben rationalisieren das Projektmanagement, da Agile-Teams die Möglichkeit haben, User Storys in einzelne Arbeitsschritte aufzuteilen. Diese Funktion unterstützt das Agile-Framework, indem Softwareentwickler(innen) Aufgaben innerhalb ihrer Projekte erstellen, zuweisen und nachverfolgen können. Durch die direkte Integration des Aufgabenmanagements in GitLab können Teams einen zusammenhängenden Workflow aufrechterhalten, der sicherstellt, dass alle Projektaktivitäten der Softwareentwicklung einfach nachverfolgt und verwaltet werden können.

!Screenshot mit genauer Aufgabenverwaltung und Projektverfolgung mit GitLab

Verbessere den Nutzen für Benutzer(innen) mit einer präzisen Aufgabenverwaltung und Projektverfolgung mit GitLab. Die Aufgaben sind mit den gleichen Metadaten wie Tickets ausgestattet, einschließlich Beauftragte(r), Iteration, Gewichtung, Label, Zeiterfassung und Funktionen für die Zusammenarbeit. Dieser umfassende Funktionsumfang ermöglicht es Agile-Teams und Projektmanager(innen), Workloads effektiv zu verwalten, Aufgaben zu priorisieren und eine nahtlose Zusammenarbeit zwischen Softwareentwickler(inne)n zu gewährleisten.

Epics → GitLab-Epics

Andererseits können Agile-Entwicklungsfachkräfte eine Abstraktion über den User Storys angeben, die oft als Epic bezeichnet wird und auf einen größeren Benutzerfluss hinweist, der aus mehreren Funktionen besteht. In GitLab enthält ein Epic auch einen Titel und eine Beschreibung, ähnlich wie ein Ticket, aber du kannst mehrere untergeordnete Tickets daran anhängen, um diese Hierarchie anzuzeigen.

Screenshot von verschachtelten GitLab-Epics

Mit GitLab-Epics können Agile-Teams große Projekte effizient organisieren und verwalten, indem sie Epics bis zu neun Ebenen tief verschachteln. Diese hierarchische Struktur bietet einen klaren Überblick über die Roadmap des Projekts und hilft Softwareentwickler(inne)n und Projektmanager(inne)n, komplexe Initiativen in überschaubare Komponenten zu unterteilen. Durch die Verwendung von untergeordneten und verknüpften Epics können Teams den Fortschritt, die Abhängigkeiten und die Projektmeilensteine besser verfolgen, die Zusammenarbeit verbessern und eine kohärente Agile-Bereitstellung gewährleisten.

Produkt-Backlog → GitLab-Issue-Übersichten

Die Produkt- oder Geschäftsinhaber(innen) erstellen diese User Storys in der Regel, um die Bedürfnisse des Unternehmens und der Kund(inn)en widerzuspiegeln. Sie werden in einem Produkt-Backlog nach Prioritäten sortiert, um die Dringlichkeit und die gewünschte Reihenfolge der Entwicklung festzuhalten. Die Eigentümer(innen) des Produkts kommunizieren mit den Stakeholdern, um die Prioritäten festzulegen, und verfeinern das Backlog ständig. In GitLab bietet eine Issue-Übersicht, die mit Iterationen als Listen organisiert ist, ein Drag-and-Drop-Workflow-Erlebnis, mit dem du deinen Backlog mühelos priorisieren und Storys einem bevorstehenden Sprint zuweisen kannst.

Gif der GitLab Issue-Übersicht

Sprints → GitLab-Iterationen

Ein Sprint stellt einen begrenzten Zeitraum dar, in dem die Arbeit abgeschlossen werden soll. Das kann eine Woche, ein paar Wochen oder vielleicht einen Monat oder mehr umfassen. Die Eigentümer(innen) des Produkts und das Entwicklungsteam treffen sich, um zu entscheiden, welche Arbeiten für den kommenden Sprint vorgesehen sind. Die Funktion Iterationen von GitLab unterstützt dies: Weise Iterationen ein Startdatum und ein Fälligkeitsdatum zu, um den Zeitraum der Iteration zu erfassen. Das Team fügt dann Tickets in den Sprint ein, indem es sie dieser bestimmten Iteration zuweist.

Durch die Verwendung von Iterationen nutzt du die erweiterten Funktionen von GitLab für agiles Projektmanagement und bietest eine bessere Transparenz und Kontrolle über deine Agile-Planung und -Bereitstellung.

Punkte und Schätzungen → GitLab-Ticketgewichtung

Auch in diesem Meeting werden User Storys kommuniziert und der technische Aufwand für jede User Story geschätzt. In GitLab haben Tickets eine Gewichtung – Attribute, die du verwenden würdest, um den geschätzten Aufwand anzugeben.

In dieser Besprechung (oder in den folgenden) werden die User Storys weiter aufgeschlüsselt und manchmal werden technische Pläne und die Architektur dokumentiert. In GitLab können diese Informationen im Ticket oder in der Beschreibung der Merge Request dokumentiert werden, da die Merge Request oft der Ort ist, an dem die technische Zusammenarbeit stattfindet.

Während des Sprints (GitLab-Iteration) holen die Mitglieder des Softwareentwicklungsteams User Storys ab, an denen sie nacheinander arbeiten können. In GitLab haben Tickets Beauftragte. Du würdest dich also einem Ticket zuweisen, um zu zeigen, dass du jetzt daran arbeitest. Wir empfehlen dir, eine leere und mit dem Ticket verknüpfte Merge Request zu erstellen, um sofort mit dem technischen Zusammenarbeitsprozess zu beginnen, noch bevor du eine einzige Codezeile erstellst.

Agile Board → GitLab-Issue-Übersichten

Während des gesamten Sprints durchlaufen die Tickets verschiedene Phasen, wie z. B. Ready for dev, In dev, In QA, In review, Done, abhängig vom Workflow in deiner jeweiligen Organisation. Normalerweise sind dies Spalten in einem Agile Board. In GitLab kannst du mit Issue-Übersichten deine Phasen definieren und Tickets durch sie bewegen. Das Team kann unter Beachtung der Iteration und anderer relevanter Attribute die Übersicht konfigurieren. Während der täglichen Stand-ups betrachtet das Team das Board gemeinsam, um den Status des Sprints aus einer Workflow-Perspektive zu sehen.

Screenshot der GitLab-Issue-Übersicht

Die GitLab-Issue-Übersicht greift auch dynamisch auf Probleme zu, ähnlich wie die GitLab-Issue-Liste. Aber sie ermöglicht flexiblere Workflows. Du kannst individuelle Listen in der Übersicht einrichten, um die Phasen des Agile Boards widerzuspiegeln. Dein Team kann dann die User Storys steuern und verfolgen, während sie von z. B. „Bereit für die Entwicklung“ zu „Zur Produktion freigegeben“ wechseln.

Team-Workload → GitLab-Issue-Übersicht

Agile Teams können ihre Workflows optimieren, indem sie Issue-Übersichten mit Listen erstellen, die den Verantwortlichen in GitLab zugeordnet sind. Mit dieser Funktion kannst du die Verteilung der Aufgaben unter den Teammitgliedern visualisieren und die agile Bereitstellung verbessern. Um es einzurichten, gehe zu deinem Projekt oder deiner Gruppe, erstelle eine neue Übersicht im Abschnitt „Boards“ und füge Listen für jede(n) Beauftragte(n) hinzu. Weise Teammitgliedern Tickets zu, und sie werden automatisch in den entsprechenden Listen angezeigt. Diese dynamische Ansicht ermöglicht eine ausgewogene Arbeitsbelastung und eine effektive Aufgabenverwaltung.

Screenshot der organisierten GitLab-Issue-Übersicht

Organisiere eine Issue-Übersicht nach beauftragter Person oder nach Team mithilfe von [Labels mit begrenztem Geltungsbereich]. Die Issue-Übersicht von GitLab ist unglaublich vielfältig und unterstützt Workflows über den gesamten Software-Entwicklungsprozess hinweg.

Abarbeitungen → GitLab-Abarbeitungen

Das Entwicklungsteam möchte in Echtzeit wissen, ob es auf dem richtigen Weg ist, und die entstehenden Risiken mindern. GitLab bietet Abarbeitungen, damit das Team die im aktuellen Sprint „abzuarbeitenden“ Aufgaben visualisieren kann, während sie abgeschlossen wird.

Gegen Ende des Sprints stellt das Entwicklungsteam die fertiggestellten Funktionen den verschiedenen Interessengruppen vor. Mit GitLab wird dieser Prozess mithilfe von Review Apps vereinfacht, sodass auch Code, der noch nicht für die Produktion freigegeben ist, in verschiedenen Test-, Staging- oder UAT-Umgebungen vorgeführt werden kann. Review Apps und CI/CD-Funktionen sind in die Merge Request selbst integriert.

Die gleichen Tools sind auch für Entwickler(innen) und QA-Rollen nützlich, um die Softwarequalität zu sichern, sei es durch automatisierte Tests mit CI/CD oder durch manuelle Tests in einer Review-App-Umgebung.

Screenshot von GitLab-Abarbeitungen

Die GitLab-Abarbeitung ermöglicht es einem Team, die „abzuarbeitenden“ Aufgaben zu verfolgen, während sie in einem Sprint abgeschlossen werden. Auf diese Weise kannst du früher auf Risiken reagieren und dich anpassen. So kannst du Geschäfts-Stakeholder darüber informieren, dass bestimmte Funktionen voraussichtlich auf einen zukünftigen Sprint verschoben werden.

Team-Retrospektiven am Ende des Sprints können im [Wiki] von GitLab (https://docs.gitlab.com/ee/user/project/wiki/index.html) dokumentiert werden, sodass die gewonnenen Erkenntnisse und die Aktionspunkte im Laufe der Zeit nachverfolgt werden können. Während der eigentlichen Retrospektive kann sich das Team den Iterationsbericht ansehen, der die Abarbeitung und andere Statistiken des abgeschlossenen Sprints anzeigt.

Starte deine Agile-Reise mit GitLab

Bist du bereit, dein Agile-Projektmanagement zu verbessern? GitLab bietet eine umfassende Palette von Funktionen, die auf Agile-Teams, Softwareentwickler(innen) und Projektmanager(innen) zugeschnitten sind und eine nahtlose Zusammenarbeit und effiziente Workflows gewährleisten. Erkunde unsere Preisoptionen, starte eine kostenlose Testversion und erfahre, wie GitLab deine Agile-Bereitstellungsprozesse verändern kann.

Erfahre mehr über die Agile Planung mit GitLab und starte noch heute deine Reise!

Wir möchten gern von dir hören

Hat dir dieser Blogbeitrag gefallen oder hast du Fragen oder Feedback? Erstelle ein neues Diskussionsthema im GitLab Community-Forum und tausche deine Eindrücke aus. Teile dein Feedback

Bist du bereit?

Sieh dir an, was dein Team mit einer einheitlichen DevSecOps-Plattform erreichen könnte.

Kostenlose Testversion anfordern

Finde heraus, welcher Tarif für dein Team am besten geeignet ist

Erfahre mehr über die Preise

Erfahre mehr darüber, was GitLab für dein Team tun kann

Sprich mit einem Experten/einer Expertin