So skalieren Sie Scrum - ein paar Worte zum agilen Entwicklungsframework von Nexus

Im Januar 2018 erblickte die Welt das Licht des aktualisierten Nexus-Frameworks - eines Scrum-basierten Tools, das für die Teamarbeit bei großen Projekten entwickelt wurde. Die Autoren der Methodik haben eine Reihe von Definitionen von Begriffen korrigiert und das Lizenzierungsverfahren geändert . Seit Anfang des Jahres ist der Nexus Guide unter einer Creative Commons-Lizenz lizenziert. Dies bedeutet, dass jedes Unternehmen Nexus (wie Scrum) verwenden kann.

Lassen Sie uns über die Merkmale der Methodik und ihre Hauptkomponenten sprechen.


/ Foto von Sebastian Sikora CC

Wer und warum hat Nexus erstellt?


1996 stellten die Entwickler Ken Schwaber und Jeffrey Sutherland die Scrum Agile Software Development Community vor. Es handelt sich um eine Reihe von zeitlich streng begrenzten Iterationen (Sprints), für die Entwickler neue Funktionen für das Programm implementieren müssen.

Wie Jeff Sutherland in seinem Buch Scrum bemerkt . Scrum ist eine revolutionäre Methode des Projektmanagements. Mit Scrum können Entwicklungsteams „Supereffizienz“ erreichen und die Arbeitsproduktivität um 300% steigern.

Scrum hat jedoch einen Nachteil: Es eignet sich gut für die Arbeit in einem Team (und die empfohlene Anzahl seiner Mitglieder beträgt nur sieben Personen), lässt sich jedoch nicht weit über seine Grenzen hinaus skalieren, wenn die Arbeit einer großen Anzahl von Personen koordiniert werden muss.

Um die Situation zu korrigieren und die Methodik zu erweitern, führte Ken Schwaber 2015 das Nexus-Framework ein. Nexus hilft, die häufigen Probleme der gemeinsamen Entwicklung zu vermeiden: Schwierigkeiten bei der Verwendung derselben Codebasis und Inkonsistenzen bei der Integration der Erfolge verschiedener Teams.

Nexus verwendet iterative und inkrementelle Ansätze zur Skalierung von Softwareentwicklungsprozessen. Jedes Team arbeitet im Rahmen seines Sprints und dann werden die Ergebnisse kombiniert. Dies erleichtert die Koordination der Produktentwicklung.

Nexus-Komponenten


Das Framework besteht aus Rollen, Ereignissen, Artefakten sowie Regeln, die jedem Scrum-Anhänger vertraut sind und die alles vereinen. In Nexus haben sich diese Komponenten geringfügig geändert, sodass die Methodik in Großprojekten angewendet werden kann.

Rollen Durch die Scrum-Methodik werden allen Teilnehmern am Entwicklungsprozess bestimmte Rollen zugewiesen. Sie können in zwei große Gruppen eingeteilt werden - "Schweine" und "Hühner". Die erste umfasst alle Personen, die direkt an der Erstellung der Anwendung beteiligt sind: den Scrum Master, der Besprechungen durchführt und die Einhaltung der Scrum-Grundsätze überwacht, den Product Owner (Product Owner), der die Interessen der Endbenutzer vertritt, und sogar das Entwicklungsteam (Entwicklungsteam).

Die zweite Gruppe - „Hühner“ - umfasst Endverbraucher, Verkäufer, Berater usw.

Nexus führte die Rolle des Nexus Integration Teams (NIT) ein, um die Methodik zu erweitern. Dies ist ein ganzes Team, dem Product Owner, Scrum Master und Vertreter von Scrum-Teams angehören. Ihre Aufgabe ist es, potenzielle Probleme bei der Teamentwicklung zu bewerten und zu verhindern. Es ist wichtig zu beachten, dass NIT-Mitglieder nicht direkt an der Programmierung beteiligt sind, sondern allen anderen Teilnehmern Empfehlungen zur Anwendung der Scrum- und Nexus-Prinzipien geben.

Im Allgemeinen trug die Einführung von NIT aufgrund der kompetenten Aufgabenverteilung zur Verbesserung der Koordination zwischen den Teams bei. Mitglieder der IT-Community sagen jedoch, dass die neue Rolle auch zur Entstehung einer Art „Engpass“ beigetragen hat - wenn NIT-Mitglieder organisatorische Probleme lösen, wartet das Entwicklungsteam untätig auf Anweisungen.

Artefakte. In Scrum werden Artefakte als eine Reihe von Anforderungen an die Produktfunktionalität verstanden, die bei der Organisation der Aktivitäten von Entwicklern helfen. Diese Anforderungen werden in zwei Magazinen beschrieben: dem Projekt-Backlog und dem Sprint-Backlog.

Das Wishbook des Projekts listet allgemeine Funktionsanforderungen auf - die sogenannten User Stories , sortiert in absteigender Reihenfolge ihrer Wichtigkeit. Sie helfen dabei, eine Vorstellung davon zu bekommen, wie das Endprodukt aussehen soll.

Sprint Wish Journal - Eine Liste der vom Product Owner ausgewählten Implementierungsfunktionen. Basierend auf dieser Liste verfolgen Entwickler Aufgaben, die vor dem Ende eines Sprints erledigt werden müssen.

In Nexus verwenden Teams das Product Backlog anstelle des Wunschbuchs des Projekts. Um die Interaktion einer großen Anzahl von Entwicklern zu vereinfachen, ist dieses Magazin in Teile unterteilt. Jeder Teil ist einem der Teams „zugeordnet“. Alle Entwickler verstehen also, an welchen Aufgaben des gesamten Projekts sie beteiligt sind. Gleichzeitig führt jedes Team weiterhin sein Sprint-Wunschprotokoll.

Ereignisse. Alle Teammitglieder nehmen an Besprechungen teil, die manchmal als allgemeiner Begriff „Veranstaltungen“ bezeichnet werden. "Schweine" geben sie täglich aus und "Hühner" - zu Beginn und am Ende des Projekts oder Sprints. Besprechungen sind erforderlich, um den Entwicklungsprozess zu besprechen, Pläne zu schätzen und Engpässe zu identifizieren.

Um die Kommunikation zwischen verschiedenen Teams zu verbessern, haben Nexus-Entwickler vier neue Arten von Ereignissen hinzugefügt:

  • Nexus Sprint Planning - Zu diesem Zeitpunkt entscheiden die Teams aus dem Product Backlog, wer einen bestimmten Sprint besser handhaben kann. Danach plant jedes Team seinen eigenen Sprint und kommuniziert mit anderen Scrum-Teams, damit sich ihre Aufgaben nicht überschneiden.
  • Nexus Daily Scrum - wird verwendet, um den aktuellen Stand der Dinge zu besprechen. Ermöglicht es Ihnen, den Tag zu planen oder Integrationsprobleme zu lösen.
  • Nexus Sprint Review - hier teilen die Teams ihre Erfolge am Ende jedes Sprints.
  • Nexus Retrospektive - Diese Zeit wird damit verbracht, vergangene Erfahrungen zu bewerten und einen Plan zur Verbesserung des zukünftigen Entwicklungsprozesses zu erstellen.

Auf der offiziellen Nexus-Leitfadenseite finden Sie ein Diagramm der Interaktion und Abfolge all dieser Ereignisse.

Wann man Nexus benutzt


In Großprojekten. Das Framework hilft dabei, die Arbeit mehrerer Scrum-Teams in großen Projekten nahtlos zu organisieren. Beispielsweise hat ein indisches Unternehmen, das Sicherheitssoftware entwickelt (die Autoren von Scrum haben seinen Namen nicht bekannt gegeben), Scrum ein Jahr lang zur Entwicklung seiner Produkte verwendet. Anfangs hatte das Unternehmen ein Scrum-Team, aber bald stieg die Zahl auf drei, und Probleme begannen mit der Integration individueller Lösungen.

Dann lud das Unternehmen einen Scrum-Experten ein und schlug vor, den Scrum-Workflow auf eine Multi-Team-Ebene zu verlagern - die Implementierung von Nexus. Nach der Nexus-Methodik arbeiten bereits sechs Teams, die alle zwei Wochen regelmäßig neue Software-Releases veröffentlichen.

In großen Unternehmen. Beispielsweise hat die IT-Abteilung von Terminales Portuarios Peruanos (TPP), einem Unternehmen, das in einem der Häfen der peruanischen Hauptstadt Schifffahrt betreibt, neun Monate gebraucht, um eine neue Version spezialisierter Software herauszubringen. Um Abhilfe zu schaffen, versuchte das Unternehmen die Wasserfallmethode , RUP und die Prinzipien des traditionellen Projektmanagements . Alle zeigten jedoch keine signifikanten Verbesserungen und wurden in einigen Fällen sogar noch schlimmer.

Dann entschied sich das Unternehmen, Nexus auszuprobieren. Die Technik ermöglichte es, die Freisetzungszeit um das Dreifache zu verkürzen und das Produkt alle drei Monate freizugeben.

Nexus hilft dabei, die Interaktion zwischen Teams herzustellen, die auf der ganzen Welt "verstreut" sind. Tägliche Sprints unterstützen ein hohes Maß an Kommunikation und Mitarbeiterbeteiligung am Projekt.

Beachten Sie, dass Nexus zwar die Arbeit vieler Entwicklungsteams bei der Arbeit an einem großen Projekt koordiniert und die Veröffentlichung von Releases beschleunigt (wie dies bei TPP der Fall ist), jedoch immer noch nicht in der Lage ist , Probleme im Zusammenhang mit der internen Struktur des Unternehmens zu lösen. Zum Beispiel wird das Framework keine spürbaren Auswirkungen haben, wenn die Teams nicht über genügend Spezialisten verfügen, um alle Probleme zu lösen.

Somit eignet sich Nexus für die Arbeit an großen Projekten (laut den Erstellern der Methodik können Sie neun Scrum-Teams effektiv verwalten) und hilft bei richtiger Anwendung, den Entwicklungsprozess um das 3-4-fache zu beschleunigen. Das Hauptaugenmerk dieser Methodik liegt jedoch auf der Lösung von Integrationsproblemen, da sie bei der Lösung anderer organisatorischer Probleme im Unternehmen nicht helfen kann .



PS Ein paar frische Materialien aus dem First Corporate IaaS Blog:


PS Mehrere Veröffentlichungen aus unserem Telegrammkanal :

Source: https://habr.com/ru/post/de425337/


All Articles