Vor einigen Wochen habe ich einen Überblick über Jumpstart als Methode zur Organisation der Softwareentwicklung als kontinuierliche Aktivität gegeben und die wichtigsten Elemente kurz umrissen. In den folgenden Blogs haben meine Kollegen
Scrum ist eine der beliebtesten Methoden für die Softwareentwicklung, die auf der agilen Philosophie basiert. In den letzten 15 Jahren hat Scrum einen beeindruckenden Reifegrad erreicht und wird von Technologieunternehmen aller Größenordnungen - von Start-ups bis hin zu großen globalen Unternehmen - erfolgreich eingesetzt. Im Kern ist Scrum ein Ansatz für die iterative Softwareentwicklung durch kleine, in sich geschlossene Teams, die ein klar definiertes Ziel (Funktionalität) in kurzen Zeitabschnitten (typischerweise 2-Wochen-Sprints) erreichen. Je nach Unternehmen und Produktlebenszyklus variieren die mit der Implementierung von Scrum verbundenen Rollen und Verantwortlichkeiten erheblich, was ich in diesem Blog näher erläutern möchte.
Startup-Phase
In gewisser Weise ist dies die einfachste Phase für die Einführung einer einfachen und praktischen Scrum-Implementierung, da Sie praktisch ein unbeschriebenes Blatt haben und sich nicht mit Altlasten herumschlagen müssen. Konzentrieren Sie sich in dieser Anfangsphase (sowohl für das Produkt als auch für die Organisation) auf die folgenden Aspekte, die die Einführung von Scrum wesentlich einfacher machen werden:
- Verwenden Sie Workflow-Tools für die Erfassung von User Stories sowie für das Projektmanagement und verknüpfen Sie diese mit Continuous Development (CD), Continuous Integration(CI) Aktivitäten
- Wo immer möglich, versuchen Sie, CD- und CI-Aktivitäten zu automatisieren, einschließlich täglicher Builds, Unit-Tests und Regressionstests.
- Ideal ist es, wenn zwei verschiedene Personen als Product Owner und Scrum Master fungieren.
Mit Hilfe von Workflow-Tools und Automatisierung erreichen Sie "eingebaute Qualität" in Ihrer Software, so dass Sie sich mehr auf die funktionale Fertigstellung eines minimal lebensfähigen Produkts (MVP) konzentrieren können, was in dieser Phase Ihr Hauptziel ist.
Wachstumsphase
In diesem Stadium haben Sie es mit einer bestehenden Software zu tun, die wahrscheinlich mit einer nicht-agilen Methodik entwickelt wurde und möglicherweise auf einem veralteten Technologie-Stack basiert. Typischerweise sehen Sie in dieser Phase Unternehmen, die mit den angehäuften technologischen Schulden zu kämpfen haben und gleichzeitig versuchen, herauszufinden, wie sie eine neue Version ihrer Software erstellen können, vorzugsweise auf dem neuesten Technologiestack mit neuer Architektur, und auf einen agilen Prozess wie Scrum umstellen. Selbst in den besten Zeiten ist dieser Übergang schwierig, da man sich um die Wartung und den Support der alten Lösung kümmern muss, während man parallel dazu die neue Software entwickelt. In dieser Phase sollten die folgenden Aspekte bei der Einführung von Scrum berücksichtigt werden:
- Klare Abgrenzung der Funktionen und Rollen, die für die Wartung und Unterstützung von Legacy-Lösungen verantwortlich sind
- Schaffen Sie Verantwortung für wichtige Funktionen wie Produktmanagement, Produktarchitektur, Entwicklung und Qualität.
- Übergang zu einer vollwertigen Abteilung mit mehreren Scrum-Teams, die entweder komponenten- oder funktionsbasiert sein können, mit klar definierten Rollen und Verantwortlichkeiten
- Der Kontrollbereich für Produktmanagement und Architektur kann mehrere Scrum-Teams umfassen.
- Berücksichtigen Sie die Zeit für die Wartung von Legacy-Lösungen. Wenn die zugewiesene Bandbreite nicht genutzt wird, können sich die Teams auf die Entwicklung neuer Funktionen konzentrieren.
- Seien Sie auf die Herausforderungen vorbereitet, die der Umgang mit mehreren Scrum-Teams und sogar geografisch verteilten Teams mit sich bringt; das Workflow- und Automatisierungs-Framework sollte dieses Szenario bewältigen.
- Die Rolle des Scrum Masters, des Product Owners und eines zentralisierten Project Management Office (PMO) wird bei der Bewältigung des Übergangs zu einem skalierten agilen Framework äußerst wichtig sein.
Unternehmensphase
In dieser Phase sind Sie bereits zu einem skalierten agilen Rahmenwerk übergegangen und würden sich um eine weitere Verfeinerung und Feinabstimmung mit Hilfe von Metriken bemühen. In dieser Phase sind die folgenden Aspekte von entscheidender Bedeutung, wenn die Organisation den Reifegrad des Scrum-Prozesses erreichen will:
- Product Management Body (PMB), muss eine führende Rolle bei der Priorisierung und Umsetzung der Produkt-Roadmap aus einer funktionalen Perspektive spielen
- Das Product Architectural Board (PAB) muss die Richtung für die Umsetzung der Technologie-Roadmap vorgeben, wobei der Schwerpunkt auf einfacher Implementierung, Sicherheit, Leistung, Skalierbarkeit, Wartung und Support liegt.
- Das technische Management wird extrem wichtig, um sowohl die Technologie- als auch die Produkt-Roadmap zu erreichen.
- Wenn die Organisation mit mehreren Scrum-Teams wächst, wird die Rolle der leitenden Mitarbeiter wie CTO, VP Engineering, Leiter des Produktmanagements, Enterprise Architect (EA) und Leiter des Release-Managements immer wichtiger.
In dieser Phase sollte es das Ziel der Organisation sein, die Prozessreife zu erreichen, um in einen Rhythmus der kontinuierlichen Innovation und der kontinuierlichen Freigabe zu gelangen.
In all diesen Phasen möchte ich betonen, wie wichtig die Rolle eines Scrum Masters oder eines Gremiums von Scrum Masters bei der Beseitigung von Engpässen für eine kontinuierliche Orchestrierung hin zu einem reibungslosen und vorhersehbaren Release-Prozess ist.
[contact-form-7 id="20990" title="DevOps für kontinuierliche Innovation"]
Verfasst von

Jeyaganesh Narayanaswamy
Unsere Ideen
Weitere Blogs
Contact



