Für welche Art von Projekten ist SCRUM geeignet?

8

Ich habe SCRUM in den letzten vier Jahren in drei verschiedenen Projekten eingesetzt. Einer der Vorteile von SCRUM scheint seine Flexibilität und Anpassungsfähigkeit zu sein, z. B. bei sich ändernden Kundenanforderungen. Ein weiterer Vorteil ist, dass das Management den Fortschritt eines Projekts leicht verfolgen kann.

Die Flexibilität von SCRUM kann von Vorteil sein, z. B. bei der Implementierung einer Webanwendung, bei der sich die Anforderungen sehr schnell ändern und die Kunden wirklich verstehen, was sie wollen, nachdem sie einen Prototyp gesehen haben.

Auf der anderen Seite gibt es andere Arten von Softwareprojekten (z. B. in der Luft- und Raumfahrtindustrie), bei denen die Anforderungen ziemlich fest sind: Sie erhalten ein Anforderungsspezifikationsdokument und müssen sechs Monate später mit funktionierender Software und vollständiger Dokumentation zurückkommen. Für diese Art von Projekten bezweifle ich, dass die von SCRUM gebotene Flexibilität erforderlich ist (in dem Sinne, dass Sie keine Prototypen erstellen und dem Kunden zeigen müssen, um Feedback zu den Anforderungen zu erhalten): Sie benötigen eher einen sehr strukturierten und systematischen Ansatz , was sich wahrscheinlich für jedes Projekt immer wieder wiederholt und wenig Raum für Überraschungen bietet.

Wird SCRUM von seinen Befürwortern als universelle Softwareentwicklungsmethode angesehen oder ist es für bestimmte Kategorien von Projekten oder Anwendungsbereichen besonders geeignet?

Zum Beispiel habe ich kürzlich die Website eines Unternehmens angesehen, das Software für die Luft- und Raumfahrtindustrie herstellt, und festgestellt, dass sie das V-Modell verwenden. Würde ein SCRUM-Befürworter sagen, dass SCRUM für diese Art von Projekten weniger geeignet ist, oder eher vorschlagen, dass dieses Unternehmen versuchen sollte, auf SCRUM umzusteigen?

Beachten Sie, dass ich nicht nach der Meinung der Leser dieses Forums frage, sondern wissen möchte, wie die Meinung der SCRUM-Antragsteller lautet: Wird SCRUM als universell angesehen oder eher für bestimmte Projektklassen geeignet? In letzteren Fällen für welche Arten von Projekten?

Giorgio
quelle
1
Das Ding "Holen Sie sich ein Anforderungsspezifikationsdokument und Sie müssen sechs Monate später mit funktionierender Software zurückkommen" ist ein Mythos. Selbst wenn Sie so etwas wie einen Compiler für eine formal definierte Sprache erstellen (bei der die funktionalen Anforderungen wirklich klar und fest zu sein scheinen), müssen Sie die zu implementierenden Dinge entscheiden und priorisieren. Es gibt nicht funktionale Anforderungen, die mit dem Benutzer besprochen werden müssen und Sie haben mehrere Freiheitsgrade, denn man muss entscheiden, wie man Dinge löst. Ein agiler Ansatz macht also für solche Projekte sogar Sinn.
Doc Brown
"Ein agiler Ansatz ist für solche Projekte sogar sinnvoll.": Während Agilität flexibler sein kann, sind andere Methoden ebenfalls flexibel. Möglicherweise sind andere Methoden flexibel genug, und Agilität ist für bestimmte Projekte zu flexibel. Nur Brainstorming hier.
Giorgio
2
"Das" erhalten Sie ein Anforderungsspezifikationsdokument und Sie müssen sechs Monate später mit funktionierender Software zurückkommen. "Das ist ein Mythos.": Das glaube ich nicht. Während Sie die Beschriftung einer Schaltfläche auf einer Webseite schnell ändern können, weil die Kunden ihre Meinung nach dem Betrachten geändert haben, können Sie einen kritischen Teil einer Avionik-Software, die einen sich bewegenden Teil eines Flugzeugs steuert, nicht so einfach ändern. Möglicherweise sind späte Änderungen erforderlich, aber ich frage mich, ob eine agile Methode der richtige Weg ist, um sie zu verwalten, oder ob Sie eine komplexere Iteration einer anderen Methode (z. B. des V-Modells) benötigen.
Giorgio

Antworten:

5

SCRUM ist eine Allzweckmethode, die für die meisten Projekte und Teamgrößen gut geeignet ist, für große Teams, die sehr große Projekte ausführen, jedoch weniger nützlich ist. Die bloße Anzahl von Personen, die an einigen Projekten beteiligt sind, macht eine agile Methodik äußerst schwierig bis nahezu unmöglich, da eine starrere Struktur erforderlich ist, um die Ordnung aufrechtzuerhalten. Die Luft- und Raumfahrtindustrie ist ein gutes Beispiel für eine Branche, die tendenziell große Projekte hat, bei denen agile Ansätze nicht immer realisierbar sind.

Ryathal
quelle
Gibt es Informationen darüber, wann ein Projekt als zu groß angesehen wird, um mit SCRUM durchgeführt zu werden? Betrachten Sie beispielsweise ein 18-monatiges Projekt für ein Team von 15 Personen: Würde ein solches Team von SCRUM profitieren oder wäre auch ein anderes Modell wie das V-Modell geeignet? Der Grund, warum ich frage, ist, dass die Anforderungen und die Implementierung über 18 Monate genug Zeit haben, um zu reifen und sich zu stabilisieren, und dass die von SCRUM bereitgestellte Flexibilität möglicherweise nicht wirklich benötigt wird. Vielmehr ist hier ein eher mittel- bis langfristiger Ansatz geeignet. Gibt es Literatur dazu?
Giorgio
Die @ Giorgio-Zeit des Projekts spielt keine Rolle, aber 15 Personen reichen aus, um mehrere Scrum-Gruppen zu erstellen, aber für SCRUM liegt sie immer noch im überschaubaren Bereich. Wenn das Kommunikationsmanagement zu einem Vollzeitjob für Ihr Team wird, ist es an der Zeit, sich ein V-Modell
anzuschauen
1
Sind Sie im Ernst? Wir haben vorher ein V-Modell verwendet und auf SCRUM umgestellt. Eigentlich haben wir das Gefühl, dass wir aus genau diesem Grund langsamer geworden sind: zu viel Buchhaltung.
Giorgio
@Giorgio, das würde für jeden Schalter gelten, Sie werden sich zunächst langsamer fühlen, weil es neu ist, wie Pierre 303 sagte, dass Sie nach ein paar Sprints eine bessere Idee bekommen.
Ryathal
1
@Giorgio - das stimmt, viele "agile" Methoden sind schwerer als die schweren Prozesse, die sie ersetzen sollen! Offensichtlich bedeutet dies, dass sie falsch liegen - agil soll leicht und frei sein und für Außenstehende chaotisch erscheinen. Es bedeutet, dass Ihr Team sehr gut organisiert und diszipliniert sein muss, aber das ist im Allgemeinen ein Vorteil. Probieren Sie stattdessen Crystal von Alistair Cockburn (einem der Gründer von Agile).
Gbjbaanb
8

Jede Art von Projekt! Es funktioniert sowohl für große als auch für kleine Projekte.

Die Leute haben es für die Planung von Hochzeiten, Umzügen usw. verwendet. Also nicht einmal nur Softwareprojekte.

Ich bin fest davon überzeugt, dass es viele Geschäftsbereiche gibt, die von einem Scrum-ähnlichen Ansatz profitieren könnten.

Tom Morgan
quelle
Wird Ihre eigene Meinung von SCRUM-Antragstellern geteilt, dh von Autoren, die SCRUM kodifiziert und beworben haben?
Giorgio
Ja - das sagte kürzlich Cheryl Hammond ( blog.bsktcase.com ), eine ALM-Beraterin bei Northwest Cadence, in einem Vortrag mit dem Titel "Ein Scrum-Masters-Tag im Leben: Das neue visuelle Studio". Sie können es hier sehen: msevents.microsoft.com/CUI/…
Tom Morgan
5

Bitte beachten Sie, dass Scrum keine Methodik, sondern ein Framework ist.

Scrum arbeitet am besten in einem funktionsübergreifenden Team von 5 bis 9 Entwicklern, die an einem mittelgroßen bis großen Projekt arbeiten (von 4 Monaten bis zu mehreren Jahren). Wenn Ihr Projekt größer ist, können Sie mit Scrum of Scrums skalieren .

Ich werde hier nicht auf die funktionsübergreifende Sache eingehen, aber hier ist, was der offizielle Scrum-Leitfaden für die Teamgröße sagt:

Die optimale Größe des Entwicklungsteams ist klein genug, um flink zu bleiben, und groß genug, um wichtige Arbeiten abzuschließen. Weniger als drei Mitglieder des Entwicklungsteams verringern die Interaktion und führen zu geringeren Produktivitätsgewinnen. Kleinere Entwicklungsteams können während des Sprints auf Einschränkungen der Fähigkeiten stoßen, was dazu führt, dass das Entwicklungsteam kein potenziell freisetzbares Inkrement liefern kann. Mehr als neun Mitglieder zu haben, erfordert zu viel Koordination. Große Entwicklungsteams erzeugen zu viel Komplexität, als dass ein empirischer Prozess verwaltet werden könnte. Die Rollen Product Owner und Scrum Master sind in dieser Zählung nicht enthalten, es sei denn, sie führen auch die Arbeit des Sprint-Backlogs aus

Ein Sprint dauert ungefähr einen Monat.

Sprints sind auf einen Kalendermonat begrenzt. Wenn der Horizont eines Sprints zu lang ist, kann sich die Definition dessen, was gebaut wird, ändern, die Komplexität kann steigen und das Risiko kann steigen. Sprints ermöglichen Vorhersehbarkeit, indem sie mindestens jeden Kalendermonat die Überprüfung und Anpassung des Fortschritts an ein Ziel sicherstellen. Sprints begrenzen das Risiko auch auf einen Kalendermonat.

Ich denke, es ist nicht sinnvoll, ein Framework zu verwenden, das auf einem iterativen Prozess mit Projekten von weniger als 4 Monaten basiert. 4 Monate = 4 Sprints. Sie müssen auch berücksichtigen, dass Sie nach 3 Sprints eine genauere Geschwindigkeit erhalten .

Trotzdem verwende ich persönlich eine eingeschränkte Version von Scrum für kleinere Projekte. Aber man kann es dann nicht wirklich Scrum nennen. In diesem speziellen Fall verwenden Sie einige Kernprinzipien von Scrum in Ihrer eigenen Implementierung des Frameworks.

Mahmoud Hossam
quelle
1

Stellen Sie sich SCRUM zunächst nur als eine Reihe von Richtlinien für die Implementierung agiler Praktiken vor. Betrachten Sie es niemals als ein „heiliges Buch“ darüber, wie man Projekte macht. Für viele Projekte, bei denen ein stetiger Aufgabenfluss erforderlich ist, ist Kanbam beispielsweise besser geeignet.

Agile Projekte fallen in der Regel dort herunter, wo Sie Projekte durchführen, für die ein festes Enddatum oder feste Kosten erforderlich sind. Obwohl Sie diese Projekte immer noch mit agilen Methoden durchführen können, ist es nicht die übliche agile Methode, alles im Voraus zu planen, um festzustellen, ob Sie das Ziel wahrscheinlich erreichen. In agilen Situationen arbeiten Sie so lange, bis Ihnen die Dinge ausgehen Für die meisten Projekte ist dies in Ordnung, da sich die Anforderungen während des Projekts ohnehin ändern.

gbjbaanb
quelle
Die Art und Weise, wie wir in unserem Team agil agieren, besteht darin, dem Kunden eine Priorität für Storys (von den wichtigsten bis zu den am wenigsten wichtigen) zu geben, User Storys mithilfe von Pokerkarten zu schätzen und so viele Storys zu planen, wie wir bis zum Stichtag implementieren können. Wenn sich herausstellt, dass wir schneller sind, planen wir mehr Geschichten, je nachdem, was als nächstes in der Prioritätenliste steht.
Giorgio
Ich habe Ihre Antwort nach ein paar Monaten noch einmal gelesen und sie ist wirklich aufschlussreich. +1
Giorgio