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.
Ziel des Scrum Masters ist es, eine effiziente Arbeitsweise aller Teammitglieder zu sichern und dafür zu sorgen, dass alle auf demselben Stand sind. Aus diesem Grund koordiniert der Scrum Master den größten Teil des für ein Agile-Programm erforderlichen Inputs und Outputs. Er kümmert sich um die Agile-Zeremonien wie Sprint-Kickoff, tägliche Stand-up-Meetings, Sprint-Review und Sprint-Retrospektive und arbeitet mit dem Team und den Entwicklungsmanagern zusammen, um größere Elemente wie Epics und einzelne User Storys im Backlog abzuschätzen. Der Scrum Master ist möglicherweise nicht so technisch versiert wie der Rest des Teams. Wenn es zu einer Wissenslücke kommt, kann der Entwicklungsmanager einspringen und dem Scrum Master und dem Team wertvollen Kontext bereitstellen. Wenn das Team in seiner Umsetzung der Agile-Methoden reift, konzentriert sich der Scrum Master weniger auf die Schätzung, sondern mehr auf die Optimierung der Velocity der Bereitstellung.
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.