Software Development Life Cycle (SDLC). Scrum Modell Schritt für Schritt
Scrum Framework ermöglicht die Implementierung agiler Entwicklungsmethoden. Im Gegensatz zum Wasserfallmodell der Softwareentwicklung ermöglicht Scrum einen iterativen und inkrementellen Entwicklungsprozess. Das Projekt gliedert sich in mehrere Phasen, die jeweils zu einem gebrauchsfertigen Produkt führen. Am Ende jedes Schritts (in der Scrum-Terminologie Sprint genannt) wird ein verwendbares Produkt an einen Kunden geliefert., Kundenfeedback hilft, mögliche Probleme aufzudecken oder den ursprünglichen Entwicklungsplan bei Bedarf zu ändern. Wenn Sie möchten, dass Ihr Projekt strikt den Hauptprinzipien des agilen Manifests folgt, können Sie das Scrum-Modell verwenden und sicherstellen, dass Sie auf dem richtigen Weg sind.
Hier sind die Hauptrollen, die je nach Scrum-Modell am Entwicklungsprozess beteiligt sind:
- Der Product Owner kümmert sich um die Interessen des Endbenutzers;
- Der Scrum Master koordiniert den gesamten Entwicklungsprozess., Eine weitere Aufgabe besteht darin, sicherzustellen, dass Scrum ordnungsgemäß verwendet wird und regelmäßige Scrum-Meetings abzuhalten;
- Das Scrum-Team entwickelt das Produkt. Seine Hauptaufgaben sind Programmierung, Analyse, Testen usw.
Schauen wir uns nun die wichtigsten Schritte des Entwicklungsprozesses an, aus denen Scrum besteht.
Phasen des Scrum-Modells
Schritt 1. Product Backlog Creation
Ein Product Backlog ist eine Liste mit Funktionen, die während des Entwicklungsprozesses implementiert werden sollen. Es ist nach Priorität geordnet und jeder Artikel wird als User Story bezeichnet. Jede User Story erhält eine eindeutige ID., In der Regel, User Stories haben das folgende Format: Als, Ich möchte so, dass . Diese Liste unten zeigt, wie diese Geschichten aussehen können.,ange die Dauer und das Startdatum der aktuellen mit Drag-and-Drop, so dass ich die Gesamtprojektzeit schätzen kann
Neben diesen Pflichtfeldern können im Bedarfsfall die optionalen hinzugefügt werden:
- Die Spur wird verwendet, um alle User Stories eines bestimmten Typs auszuwählen, um ihre Priorität zu ändern., Kann verwendet werden, um die Priorität von User Stories zu erhöhen, die sich beispielsweise auf das Bedienfeld beziehen;
- Komponenten bilden eine Liste von Komponenten, die während der Arbeit geändert werden. Module einer Anwendung, wie z. B. Authentifizierung oder Suche;
- Der Anforderer ist ein Kunde, der an der Implementierung bestimmter Funktionen interessiert ist;
- Fehlerverfolgungs-ID enthält eine Liste der erkannten Fehler, die sich auf eine ordnungsgemäße Benutzerstory beziehen.
Schritt 2. Sprintplanung und Sprint-Backlog-Erstellung
Zunächst sollten Sie bestimmen, wie lange Ihr Sprint dauert., Mit einem kurzen Sprint können Sie die Arbeitsversion eines Produkts häufiger freigeben. Infolgedessen wird das Feedback des Kunden häufiger erhalten und alle möglichen Fehler und Fehler werden rechtzeitig aufgedeckt.
Alternativ können Sie eine längere Sprintdauer bevorzugen. Es wird Entwicklern ermöglichen, gründlicher zu arbeiten. Die optimale Sprintdauer wird als Durchschnitt dieser beiden Optionen definiert. In der Regel dauert ein Sprint in einem Scrum-Modell etwa 2-4 Wochen. Was in dieser Phase wichtiger ist, ist das Sprintziel. Das Ziel wird für jeden Sprint festgelegt., Und dementsprechend ist der Sprint mit User Stories gefüllt. Eine weitere wichtige Sache ist die Zusammenarbeit zwischen Stakeholdern und Teammitgliedern. Der Product Owner bestimmt die Wichtigkeit einer richtigen User Story, während das Scrum-Team die entsprechenden Arbeitskosten definiert.
Danach kann das Scrum Team die wichtigsten User Stories aus dem Product Backlog auswählen. Dann sollten die Teammitglieder entscheiden, wie sie diese oder jene Aufgabe lösen. Außerdem kann das Team bestimmte Benutzergeschichten in die kleinsten unterteilen und sie dann in eine Reihe von Aufgaben umwandeln., Der Sprint-Backlog sollte als nächstes erstellt werden. Es besteht aus User Stories, die während des aktuellen Sprints abgeschlossen werden. Die Menge dieser Geschichten hängt von ihrer Kapazität in Story-Punkten ab, die jeder Geschichte während der Bewertungsphase zugewiesen wurden. Das Scrum-Team sollte in der Lage sein, all diese Geschichten pünktlich zu beenden.
Schritt 3. Arbeiten am Sprint. Tägliche Scrum Meetings
Nachdem aktuelle User Stories für die aktuelle Phase ausgewählt wurden, beginnt der Entwicklungsprozess.
Um den aktuellen Arbeitsprozess zu verfolgen, wird üblicherweise ein Task Board verwendet., Es gibt normalerweise große Karten mit den Namen bestimmter Benutzergeschichten und ein Bündel kleiner Haftnotizen mit einer Beschreibung einzelner Aufgaben, die für die Implementierung dieser oder jener Geschichte benötigt werden. Jedes einzelne Board wird nach den Besonderheiten eines Projekts entwickelt. Schauen wir uns ein kleines Beispiel an.
Die Karten können nach ihrer Bedeutung angeordnet werden. Wenn die Arbeit an einer Aufgabe gestartet wurde, wird der entsprechende Aufkleber vom Feld „To do“ in das Feld „In Bearbeitung“ verschoben., Wenn die Arbeit abgeschlossen ist, kann der Aufkleber in das Feld „Testen“ verschoben werden, und nachdem die Aufgabe erfolgreich getestet wurde, wird der Aufkleber in das Feld „Fertig“ verschoben. Ein Beispiel, wie das Scrum Task Board aussehen kann, ist unten dargestellt:
Es besteht auch die Möglichkeit, spezielle Software für diese Aufgabe zu verwenden.
Zum Beispiel, Atlassian JIRA.
Ein weiteres wichtiges Scrum Feature sind tägliche Scrum Meetings., Das Hauptziel dieser Meetings ist es, vollständige und ausführliche Informationen über den aktuellen Projektstatus zu erhalten und sicherzustellen, dass sich alle Teammitglieder auf derselben Seite befinden. Während Scrum Meetings sollte jedes einzelne Teammitglied mitteilen, was es für das Sprintziel getan hat, welche Aufgabe die nächste sein wird und welche Probleme Teammitglieder während der Arbeit hatten.
Darüber hinaus ist ein Burndown-Diagramm ein weiteres weit verbreitetes Tool, mit dem tägliche Prozesse effektiv überwacht werden können. Es zeigt Ihnen, wie viele Aufgaben unvollständig bleiben., Dieses Diagramm gibt die Möglichkeit, den Entwicklungsprozess zu steuern und kann nach jedem Meeting aktualisiert werden.
Tag für Tag erhöhen Scrum Meetings die Flexibilität des Entwicklungsprozesses. Sie erlauben auch zu verstehen, welche Änderungen vorgenommen werden sollten.
Die X-Achse stellt die verbleibenden Arbeitstage dar, während die Y-Achse die Gesamtmenge der Story Points für die aktuelle Phase anzeigt. Nachdem eine Aufgabe beendet ist, für die eine bestimmte Anzahl von Story-Punkten erforderlich ist, können Sie dem Diagramm einen Punkt hinzufügen, um den aktuellen Fortschritt anzuzeigen.,
Mit JIRA können Sie auch diese Diagramme erstellen:
Dieses Diagramm hilft, Rückschlüsse auf die aktuelle Arbeitsgeschwindigkeit zu ziehen. Abhängig von diesen Schlussfolgerungen kann die Anzahl der User Stories für den nächsten Sprint geändert werden.
Es ist wichtig zu beachten, dass, da das ideale Ergebnis jedes Sprints in einem Scrum-Modell ein Arbeitsprodukt ist, der gesamte Lebenszyklustestprozess sehr wichtig ist. Es gibt verschiedene Möglichkeiten, die Kosten des Testzeitraums zu minimieren. Sie können beispielsweise die Gesamtmenge an User Stories verringern., Dadurch wird die Anzahl möglicher Fehler minimiert. Der andere Weg besteht darin, QA-Ingenieure in das Scrum-Team aufzunehmen.
Lesen Sie auch, warum QA eine Schlüsselrolle bei der Entwicklung hochwertiger Softwareprodukte spielt
Schritt 4. Product Increment and Sprint Review
Das Ergebnis jedes Sprints in Scrum ist ein potenziell verschiffbares Product Increment, das dem Kunden demonstriert werden kann. Nach jeder Iteration erstellt das Entwicklungsteam eine neue Version eines Softwareprodukts mit erhöhtem Wert., Während der Sprint-Überprüfung, die der Endteil jedes Sprints ist, können die Gesamtergebnisse demonstriert und analysiert werden. Auf Basis all dieser Informationen können die Stakeholder über weitere Projektänderungen entscheiden und den nächsten Sprint planen.
Schritt 5. Retrospektive und nächste Sprintplanung
Das Hauptziel von Retrospektive ist es, die Ergebnisse zu diskutieren und zu bestimmen, wie der Entwicklungsprozess im nächsten Schritt verbessert werden kann., Ein wichtiges Merkmal ist, dass in diesem Stadium die Arbeits-und Interaktionsprozesse diskutiert werden, um die Arbeit des gesamten Scrum-Teams zu verbessern. Das Team sollte feststellen, was während des Arbeitsprozesses gut gelaufen ist und was während der zukünftigen Iteration besser gemacht werden kann. Wenn die Verbesserungsmöglichkeiten definiert sind, kann sich das Team auf die nächste Sprintplanung konzentrieren.
Fazit
Die Hauptmerkmale von Scrum sind Agilität und kontinuierlicher Fortschritt. Es wird hauptsächlich durch ständige Kommunikation und enge Zusammenarbeit zwischen den Stakeholdern bei jedem Schritt bereitgestellt., Der Scrum-Ansatz impliziert einen kontinuierlichen iterativen und inkrementellen Entwicklungsprozess. Ziel ist es, die Möglichkeit zu gewährleisten, den Produktwert kontinuierlich zu steigern und die Flexibilität bei der Auswahl der Prioritäten für weitere Iterationen aufrechtzuerhalten.
Wenn der Sprint beendet ist, kann der Kunde die Funktionsfähigkeit des Arbeitsprodukts bei der aktuellen Iteration bewerten und eine fundierte Entscheidung darüber treffen, wie sich das Projekt während der nächsten Sprints entwickeln soll.,
Auch wenn Sie nach dem Agile-Manifest Arbeitssoftware gegenüber umfassender Dokumentation bevorzugen sollten, hindert nichts Entwickler an der Verwendung einer Software-Anforderungsspezifikation. SRS kann gut sagen, was ein System oder Produkt tun soll. Trotzdem kann SRS einige agile Aspekte der Projektentwicklung wie die Zusammenarbeit übersehen, es kann immer noch ein gutes Werkzeug für die Planung und Planung sein.