Agile Teams unterscheiden sich strukturell von ihren Wasserfallgegenstücken. Wasserfallteams folgen der Struktur des Unternehmens und die Planung verläuft oft von oben nach unten, was bedeutet, dass das Management die Geschwindigkeit und den Zeitablauf festlegt. In der agilen Entwicklung organisiert sich das Team selbst. Es legt seine eigenen Zeitabläufe basierend auf Prioritäten des Product Owners und der verfügbaren Kapazität des Teams fest.
Scrum Master und Entwicklungsmanager überbrücken die organisatorische Lücke zwischen dem leitenden Management und den einzelnen Entwicklerteams. Sie arbeiten an der Optimierung von Teams und einzelnen Mitarbeitern, um Software in bester Qualität bereitzustellen, die Unternehmensziele weiter voranbringt. Der Scrum Master und der Entwicklungsmanager schützen Teams außerdem vor Ablenkungen von außen wie Feature Creep, Wasserfall-Anti-Pattern, funktionsübergreifenden Störungen und Nebenprojekten, die das Team von den wahren Zielen abbringen.
Sowohl Scrum Master als auch Entwicklungsmanager arbeiten normalerweise mit mehreren agilen Teams. Sehen wir uns an, wie sie in größeren agilen Portfolios mit einzelnen Teams arbeiten.
Was ist ein Entwicklungsmanager?
Entwicklungsmanager sind Schlüsselrollen in agilen Unternehmen mit einer weitreichenden Bedeutung. Sie sind für die Qualität des Produkts verantwortlich, von der Codearchitektur bis zur Endbenutzerqualität. Sie beteiligen sich an Code-Reviews, um sicherzustellen, dass die Codebeiträge von Teammitgliedern kurz- und langfristige Ziele des Programms erfüllen. Und da sie dem Team so nahe stehen, nehmen sie in der Regel auch Einfluss auf die Technologieentscheidungen für das Programm. In Kombination ermöglicht diese Nähe zum Prozess und Produkt Entwicklungsmanagern, Kontext intern an das Team und an das größere Unternehmen zu kommunizieren.
Erfolgreiche Entwicklungsmanager legen Wert auf die Weiterentwicklung des Teams und diese beginnt bei der Einstellung neuer Mitarbeiter. Entwicklungsmanager sind für den Einstellungsprozess verantwortlich und das aus gutem Grund:
- Der Einstellungsprozess ist zeitaufwendig und für das Team ablenkend.
- Die Suche nach Kandidaten beeinträchtigt die Fokussierung auf die Entwicklung erfolgreicher Produkte.
- Ein Entwicklungsmanager kann dazu beitragen, die Auswirkungen des Onboardings zu vermindern, wenn neue Mitarbeiter in das Team integriert werden.
Einfach gesagt kann sich das Team auf das Produkt konzentrieren, wenn der Entwicklungsmanager die Suche und Einstellung neuer Mitarbeiter übernimmt.
Entwicklungsmanager agieren auch als Partner und Mentoren, da sie über die nötigen Erfahrungen der Grundlagen des Managements verfügen: persönliche Meetings, Bereitstellen von Feedback und Coaching. Erfolgreiche Entwicklungsmanager unterstützen Entwickler dabei, Großartiges zu leisten: Ideen, Code, Tests und Kultur. Manchmal wird das Team Probleme mit Entscheidungen haben, die vom architekturbezogenen Design bis hin zur Branching-Strategie reichen. Erfahrene Entwicklungsmanager wissen, wann sie einschreiten müssen oder ein Team sich selbst überlassen, damit es etwas lernt.
Einer der wichtigen Unterschiede zwischen Agile- und Wasserfallteams besteht darin, dass der Entwicklungsmanager als Partner im Schätzungsprozess fungiert. Im Gegensatz dazu klingt ein Gespräch in einem Wasserfallteam normalerweise wie folgt:
- "Wie lange dauert es, dieses Feature auszuliefern?" – Manager
- "Das wird sechs Wochen dauern. Wir müssen A, B und C erledigen, um das Feature auf den Markt zu bringen." – Entwickler
- "Hm. Das klingt nachvollziehbar. Du musst aber eine Möglichkeit finden, das alles in vier Wochen zu erledigen." – Manager
Ein Agile-Entwicklungsmanager weiß, wie er kompetente Mitarbeiter findet, denen er vertrauen kann. Eine Grundannahme von Agile besteht darin, dass diejenigen, die der Aufgabe am nächsten sind, den Umfang und die Bereitstellungszeit für diese Aufgabe am besten abschätzen können.Das Team legt den Zeitplan fest. Der Entwicklungsmanager sorgt für Mehrwert, indem er Fragen stellt und im Schätzungsprozess aufgestellte Annahmen untersucht. Er tritt dabei aber als Partner auf und schreibt dem Team nichts vor.
In Agile-Unternehmen wirst du einen Satz wie "Du musst aber eine Möglichkeit finden, das in vier Wochen zu erledigen" nicht hören. (Und falls doch, stimmt irgendetwas nicht, oder?)
Was ist ein Scrum Master?
Scrum Master sind Projektleiter in einem agilen Team, die sich auf die Optimierung der Performance konzentrieren und zwischen dem Product Owner und dem Team arbeiten, um konsistente, erfolgreiche Sprints sicherzustellen. Scrum Master sind außerdem für die teamübergreifende Koordination zuständig, damit sich das Kernteam auf die Produktentwicklung konzentrieren kann.
The goal of the scrum master is to keep everyone efficient and on the same page. As a result, the scrum master coordinates most of the inputs and outputs required for an agile program. He or she drives the agile ceremonies of sprint kickoff, daily stand-ups, sprint review, sprint retrospective, and works with the team and development managers to estimate larger items like epics and individual user stories in the backlog. The scrum master may not be as technical as the rest of the team, so the development manager can step in to lend valuable context between the scrum master and the team when a knowledge gap appears. As the team matures in it's application of agile, the scrum master focuses less on estimation and more on optimizing the velocity of delivery.
Der Scrum Master agiert auch als Agile Coach für das Unternehmen und unterstützt das Team dabei, während des Produktlebenszyklus eigene agile Verfahren einzuführen und umzusetzen: Story-Point-Schätzung, Sprintplanung und Continuous Delivery. Der Coachingaspekt des Scrum Masters ist sehr wichtig. Als agiler Experte weiß er, dass agile Methoden für das Projekt und das Unternehmen richtig sind, und kann die agilen Methoden verteidigen, wenn das Unternehmen zunehmende Probleme mit der Umsetzung hat.
Scrum Master und Entwicklungsmanager als Partner in agilen Portfolios
Die meisten Wasserfallteams sind managerorientiert. Sie wenden sich an die Manager, um Prioritäten festzulegen, den Fortschritt nachzuverfolgen und die Performance zu bewerten. Im Gegensatz dazu sind agile Teams selbstorganisierte Teams mit eigener Roadmap und Bereitstellung. Damit das in größeren Unternehmen funktioniert, arbeiten Scrum Master und Entwicklungsmanager zusammen am Aufbau einer agilen Kultur im gesamten Unternehmen und agieren als Puffer zwischen den Teams und dem C-Level-Management. Da beide Rollen für mehrere agile Teams arbeiten, sind sie Schlüsselmitglieder des agilen Portfolios.
Der Scrum Master sollte sich auf die Einführung und Implementierung agiler Methoden im Team konzentrieren, während der Entwicklungsmanager seinen Schwerpunkt darauf legt, die passenden Mitarbeiter einzustellen, vorhandene Teammitglieder durch Mentoring zu unterstützen und eine gute Entwicklungskultur in den einzelnen Teams zu sichern. In Zusammenarbeit werden beide Rollen erfolgreiche agile Teams hervorbringen.