Blog / COMPANY - SCRUM@FLS-Serie
SCRUM@FLS – DEEP DIVE IN DAS SCRUM-ENTWICKLER-TEAM
12. April 2021
Tim Hartnack
SCRUM-ENTWICKLER-TEAM: EINFÜHRUNG
Dieser Blog-Artikel steht im Kontext früherer Beiträge, bei denen wir zunächst die Rolle der Product Owner*innen und später die Rolle der Scrum Master*innen beleuchtet haben. In diesem Artikel wollen wir die Rolle der Scrum-Entwickler-Teams darstellen. Die Rolle der Entwickler*innen ist bei uns in der Produktentwicklung zahlenmäßig am stärksten vertreten und ihre Arbeit wirkt sich am unmittelbarsten auf die Produkte aus.Bisher hatten wir vorherige Analysen und Aufwandsschätzungen (in Zeiteinheiten) vorgenommen, um die Umsetzung von Kundenanfragen einzuplanen und anschließend bearbeiten zu können. Diese Herangehensweise ist im Scientific Management1, das sich in der ersten Hälfte des vorigen Jahrhunderts etabliert hat, durchaus üblich und für viele wirtschaftliche Prozesse auch gut geeignet – dabei sind jedoch Planung und Umsetzung oft prozessual, personell und zeitlich entkoppelt, was unmittelbares Reagieren auf Änderungen der Anforderungen stark erschwert.
Weiter werden dadurch grundsätzliche Unwägbarkeiten komplexer Systeme (etwa umfangreiche Software oder IT-Landschaften) eher schlecht adressiert. Abhilfe kann hier der Einsatz von Scrum schaffen, wobei unser Ziel eine konsequente Orientierung am Scrum Guide2 ist.
1. INTERDISZIPLINARITÄT NACH SCRUM GUIDE
Angestrebt nach Scrum Guide ist ein interdisziplinär aufgestelltes Team. Das Scrum-Entwickler-Team soll befähigt werden, in jedem Sprint einen wertschöpfenden Beitrag zum Produkt erbringen zu können. Dazu ist es nötig, eine ausreichende thematische Breite im Team vertreten zu haben, damit die umzusetzenden Aufgaben möglichst unabhängig von den anderen Teams bearbeitet werden können.Deswegen wird also auf eine weitgehende informationelle Autonomie der Entwicklungsteams abgezielt. Dennoch muss das Team klein genug sein, um eng zusammenarbeiten zu können, ohne dass ein zu großer Koordinationsaufwand entsteht. Die Verpflichtung auf ein Sprint-Ziel soll sicherstellen, dass wertschöpfende Arbeit im Sinne aller Stakeholder hochpriorisiert verfolgt wird; die Interessen aller Stakeholder sollen in einem Scrum-Team vertreten sein, um von diesem gewahrt werden zu können.
2. INTERDISZIPLINARITÄT IM SCRUM-ENTWICKLER-TEAM BEI FLS
Zur Schaffung der Teams haben wir unsere bisherigen Entwicklungsteams, die komponentenorientiert zusammengestellt waren, neu aufgeteilt. Zur Maximierung der Interdisziplinarität haben wir die Aufteilung dabei so vorgenommen, dass in jedem Scrum-Entwickler-Team eine möglichst große Breite an technischen Fähigkeiten und komponentenspezifischer Erfahrung in der Entwicklung des Produkts vorhanden ist.Insbesondere haben wir dafür gesorgt, dass in jedem Team genug Wissen über unsere mobilen Anwendungen, Web-Anwendungen, Server-Komponenten sowie unsere PowerOpt-Technologie vorhanden ist. Die Interessen der Kund*innen sind insofern im Team vertreten, als die Product Owner*innen das Produkt in deren Sinne vorantreiben.
3. VERANTWORTLICHKEIT NACH SCRUM GUIDE
Im Scrum Guide wird zwischen zwei Arten der Verantwortlichkeit unterschieden, die relativ klar voneinander abgegrenzt sind.• Responsibility – dies ist die Verantwortung für die Durchführung aller produktbezogenen Aktivitäten (u. A. Entwicklung, Qualitätssicherung, Wartung, Betrieb und Forschung). Diese Verantwortlichkeit bezieht sich also auf die Durchführung3 bestimmter, nötiger und vorher identifizierbarer Tätigkeiten.
• Accountability – dies ist die Verantwortung für zielführendes Handeln, damit in jedem Sprint ein echter Wert für das Produkt geschaffen wird. Diese Verantwortung bezieht sich also auf das Verfolgen (und Erreichen4) bestimmter Ziele. Um beide wahrnehmen zu können, soll das Team in seinem Handeln selbstbestimmt sein.
4. VERANTWORTLICHKEIT IN DEN SCRUM-ENTWICKLER-TEAMS BEI FLS
Die Scrum-Entwickler-Teams sind so aufgestellt, dass grundsätzlich beide oben genannten Verantwortlichkeiten wahrgenommen werden. Um die Aufgaben innerhalb der Responsibility wahrzunehmen, sind in den Scrum-Teams Software-Entwickler*innen sowohl für unmittelbare Implementierungsaufgaben als auch explizit für die Qualitätssicherung und automatisierte Tests vertreten.Dieses Fachwissen wird durch Expert*innen für Qualitätssicherung ergänzt. Die Verantwortung für den Betrieb der Software und die Durchführung der zugehörigen Aufgaben liegt bisher nicht bei den Scrum-Teams; stattdessen werden sie von einem separaten DevOps-Team5 wahrgenommen. Mittelfristig wird aber angestrebt, auch diese Verantwortung durch die Teams wahrnehmen zu lassen.
5. ÜBERGANG VON BISHERIGER ENTWICKLUNGSMETHODIK ZU SCRUM
Wie eingangs erwähnt, haben wir zunächst strukturelle Probleme innerhalb des Entwicklungsprozesses ausfindig gemacht. Unsere bisherigen Aufwandsschätzungen waren oft unzuverlässig. Der Grund dafür waren Änderungen der Anforderungen während der Entwicklung, ferner Fehlurteile über die technischen Risiken.Dies wurde durch kontinuierliche Weiterentwicklung unserer Code-Basis noch ungünstig verstärkt, da die während der Planung vorhandenen Voraussetzungen bei der erst etwas später stattfindenden Umsetzung gelegentlich gar nicht mehr gegeben waren. Dadurch wurde insgesamt das Risiko, das unmittelbare Verständnis für den Bedarf der Kund*innen zu verlieren, immer größer, was wir schon in der Einleitung kurz angerissen haben.
6. EIN KOMPLETTER STRUKTURWANDEL
Bei der Einführung von Scrum wurden wir von der codecentric AG beraten und bei der Umsetzung unterstützt. Wir haben durch einen kompletten (zuerst nur entwicklungsinternen) Strukturwandel cross-funktionale6 Teams gebildet und eine konsequente und ständige Priorisierung des Backlogs durch die Product-Owner*innen sichergestellt. Dazu wurden mit signifikantem Aufwand die bisherigen, teilweise nur relativ unsystematisch erfassten Anforderungen revidiert.Danach wurden diese analysiert und in ein für die agile Entwicklung geeignetes Format gebracht, das unter anderem explizite Akzeptanzkriterien enthält.
FAZIT
Natürlich kam die Entscheidung zur Änderung der Entwicklungsmethodik nicht über Nacht. Anspruchsvollere Kundenprojekte mit höherer Komplexität, sowie ein Wachstum des Unternehmens, waren ausschlaggebende Gründe, unseren Ansatz zu überdenken. Nach einer schrittweisen Einsicht, sind wir dazu übergegangen, konsequent Scrum einzusetzen, diesen Wandel dabei behutsam anzugehen und kontinuierlich zu reflektieren.Lesen Sie hier Teil 1 der Serie "SCRUM@FLS" ›
Zur Vorstellung des Product Owners ›
Zur Vorstellung des Scrum Masters ›
Lust auf agile Arbeitsweisen und spannende Softwareentwicklung?
Zu unserem Karriere-Portal:.
Ken Schwaber & Jeff Sutherland: Der Scrum Guide – Der gültige Leitfaden für Scrum: Die Spielregeln, https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-German.pdf
Im Scrum Guide wird dieser Begriff so erklärt, dass das Team umsetzungsverantwortlich ist.
Im Scrum Guide wird dieser Begriff so erklärt, dass das Team ergebnisverantwortlich ist.
https://azure.microsoft.com/de-de/overview/what-is-devops/
https://www.techdivision.com/leistungen/change-und-organisationsentwicklung/agile-blog/was-ist-ein-cross-funktionales-team.html