Agile Data Science - Methodenkonzepte

In diesem Kapitel werden wir uns auf die Konzepte des Software-Entwicklungslebenszyklus konzentrieren, die als „agil“ bezeichnet werden. Die Agile-Softwareentwicklungsmethode hilft beim Erstellen einer Software durch Inkrementierungssitzungen in kurzen Iterationen von 1 bis 4 Wochen, damit die Entwicklung an sich ändernden Geschäftsanforderungen ausgerichtet ist.

Es gibt 12 Prinzipien, die die Agile-Methodik im Detail beschreiben -

Zufriedenheit der Kunden

Die höchste Priorität haben Kunden, die sich durch die frühzeitige und kontinuierliche Lieferung wertvoller Software auf die Anforderungen konzentrieren.

Neue Änderungen begrüßen

Änderungen sind während der Softwareentwicklung zulässig. Agile Prozesse sollen so funktionieren, dass sie dem Wettbewerbsvorteil des Kunden entsprechen.

Lieferung

Die Lieferung einer funktionierenden Software erfolgt an den Kunden innerhalb von ein bis vier Wochen.

Zusammenarbeit

Business Analysten, Qualitätsanalysten und Entwickler müssen während des gesamten Lebenszyklus eines Projekts zusammenarbeiten.

Motivation

Projekte sollten mit einem Clan von motivierten Einzelpersonen entworfen werden. Es bietet eine Umgebung zur Unterstützung einzelner Teammitglieder.

Persönliches Gespräch

Face-to-Face-Konversation ist die effizienteste und effektivste Methode zum Senden von Informationen an und innerhalb eines Entwicklungsteams.

Fortschritte messen

Die Messung des Fortschritts ist der Schlüssel zur Bestimmung des Fortschritts der Projekt- und Softwareentwicklung.

Konstantes Tempo beibehalten

Agiler Prozess fokussiert auf nachhaltige Entwicklung. Das Unternehmen, die Entwickler und die Benutzer sollten in der Lage sein, ein konstantes Tempo mit dem Projekt beizubehalten.

Überwachung

Es ist obligatorisch, regelmäßig auf technische Exzellenz und gutes Design zu achten, um die agile Funktionalität zu verbessern.

Einfachheit

Agiler Prozess hält alles einfach und verwendet einfache Begriffe, um die Arbeit zu messen, die noch nicht abgeschlossen ist.

Selbstorganisierte Begriffe

Ein agiles Team sollte sich selbst organisieren und unabhängig von der besten Architektur sein. Anforderungen und Designs entstehen aus selbstorganisierten Teams.

Überprüfen Sie die Arbeit

Es ist wichtig, die Arbeit in regelmäßigen Abständen zu überprüfen, damit das Team über den Fortschritt der Arbeit nachdenken kann. Durch eine rechtzeitige Überprüfung des Moduls wird die Leistung verbessert.

Tägliches Aufstehen

Tägliches Aufstehen bezieht sich auf die tägliche Statusbesprechung unter den Teammitgliedern. Es bietet Updates im Zusammenhang mit der Softwareentwicklung. Es bezieht sich auch auf die Beseitigung von Hindernissen bei der Projektentwicklung.

Tägliches Aufstehen ist eine obligatorische Praxis, egal wie ein agiles Team aufgebaut ist, unabhängig von seinem Bürostandort.

Die Liste der Funktionen eines täglichen Stand-Ups sieht wie folgt aus:

  • Die Dauer des täglichen Aufstehens sollte ungefähr 15 Minuten betragen. Es sollte nicht länger dauern.

  • Stand-up sollte Diskussionen zur Statusaktualisierung beinhalten.

  • Die Teilnehmer dieses Meetings stehen normalerweise mit der Absicht, das Meeting schnell zu beenden.

Benutzer Geschichte

Eine Geschichte ist in der Regel eine Anforderung, die in wenigen Sätzen in einfacher Sprache formuliert ist und innerhalb einer Iteration vervollständigt werden sollte. Eine User Story sollte die folgenden Merkmale aufweisen:

  • Der gesamte zugehörige Code sollte zugehörige Check-Ins haben.

  • Die Komponententestfälle für die angegebene Iteration.

  • Alle Abnahmetestfälle sollten definiert werden.

  • Akzeptanz durch den Product Owner bei der Definition der Story.

Agiles Scrum-Modell

Was ist Scrum?

Scrum kann als Teil einer agilen Methodik betrachtet werden. Es ist ein leichtgewichtiger Prozess und umfasst die folgenden Funktionen:

  • Es ist ein Prozessrahmen, der eine Reihe von Praktiken enthält, die in einer einheitlichen Reihenfolge befolgt werden müssen. Die beste Illustration für Scrum ist das Nachvollziehen von Iterationen oder Sprints.

  • Es handelt sich um einen "leichten" Prozess, dh der Prozess wird so klein wie möglich gehalten, um die Produktionsleistung in der angegebenen Dauer zu maximieren.

Der Scrum-Prozess ist für seinen Unterscheidungsprozess im Vergleich zu anderen Methoden des traditionellen agilen Ansatzes bekannt. Es ist in die folgenden drei Kategorien unterteilt:

  • Rollen

  • Artefakte

  • Zeitboxen

Rollen definieren die Teammitglieder und ihre Rollen, die im gesamten Prozess enthalten sind. Das Scrum-Team besteht aus den folgenden drei Rollen:

  • Scrum Master

  • Product Owner

  • Mannschaft

Die Scrum-Artefakte enthalten wichtige Informationen, die jedem Mitglied bekannt sein sollten. Die Informationen enthalten Details zu Produkt, geplanten Aktivitäten und abgeschlossenen Aktivitäten. Die im Scrum-Framework definierten Artefakte lauten wie folgt:

  • Produktrückstand

  • Sprint-Rückstand

  • Diagramm abbrennen

  • Zuwachs

Zeitfenster sind die User Stories, die für jede Iteration geplant sind. Diese User Stories helfen bei der Beschreibung der Produktfunktionen, die Teil der Scrum-Artefakte sind. Das Product Backlog ist eine Liste von User Stories. Diese User Stories werden priorisiert und an die User Meetings weitergeleitet, um zu entscheiden, welche aufgenommen werden sollen.

Warum Scrum Master?

Scrum Master interagiert mit jedem Mitglied des Teams. Lassen Sie uns nun die Interaktion des Scrum Masters mit anderen Teams und Ressourcen sehen.

Product Owner

Der Scrum Master interagiert den Product Owner auf folgende Weise:

  • Finden von Techniken, um einen effektiven Produktbestand an User Stories zu erreichen und diese zu verwalten.

  • Hilft dem Team, die Bedürfnisse klarer und präziser Artikelrückstände zu verstehen.

  • Produktplanung mit spezifischer Umgebung.

  • Sicherstellen, dass der Produktbesitzer weiß, wie er den Wert des Produkts steigern kann.

  • Ermöglichung von Scrum-Events nach Bedarf.

Scrum-Team

Der Scrum Master interagiert auf verschiedene Arten mit dem Team:

  • Coaching der Organisation bei der Übernahme von Scrum.

  • Planen von Scrum-Implementierungen für die jeweilige Organisation.

  • Unterstützung von Mitarbeitern und Stakeholdern beim Verständnis der Anforderungen und Phasen der Produktentwicklung.

  • Zusammenarbeit mit Scrum Masters anderer Teams, um die Effektivität der Anwendung von Scrum des angegebenen Teams zu erhöhen.

Organisation

Der Scrum Master interagiert auf verschiedene Arten mit der Organisation. Einige sind unten erwähnt -

  • Das Coaching- und Scrum-Team interagiert mit der Selbstorganisation und verfügt über eine funktionsübergreifende Funktion.

  • Coaching der Organisation und der Teams in solchen Bereichen, in denen Scrum noch nicht vollständig eingeführt oder nicht akzeptiert ist.

Vorteile von Scrum

Scrum hilft Kunden, Teammitgliedern und Stakeholdern bei der Zusammenarbeit. Es beinhaltet einen zeitgesteuerten Ansatz und ein kontinuierliches Feedback des Produktbesitzers, um sicherzustellen, dass das Produkt in einwandfreiem Zustand ist. Scrum bietet Vorteile für verschiedene Rollen des Projekts.

Kunde

Die Sprints oder Iterationen werden für eine kürzere Dauer berücksichtigt und User Stories werden nach Priorität entworfen und bei der Sprintplanung berücksichtigt. Es stellt sicher, dass bei jeder Sprintauslieferung die Kundenanforderungen erfüllt werden. Wenn nicht, werden die Anforderungen notiert und für den Sprint geplant und genommen.

Organisation

Die Organisation mit Hilfe von Scrum und Scrum-Mastern kann sich auf den Aufwand konzentrieren, der für die Entwicklung von User Stories erforderlich ist, um so die Arbeitsüberlastung zu verringern und etwaige Nacharbeiten zu vermeiden. Dies trägt auch dazu bei, die Effizienz des Entwicklungsteams und die Kundenzufriedenheit zu steigern. Dieser Ansatz trägt auch zur Steigerung des Marktpotenzials bei.

Produktmanager

Die Hauptverantwortung der Produktmanager besteht darin, die Qualität des Produkts aufrechtzuerhalten. Mit Hilfe von Scrum Masters wird es einfach, die Arbeit zu erleichtern, schnelle Antworten zu sammeln und etwaige Änderungen zu absorbieren. Produktmanager überprüfen außerdem, ob das entworfene Produkt in jedem Sprint gemäß den Kundenanforderungen ausgerichtet ist.

Entwicklungsteam

Aufgrund der Zeitverzögerung und der kürzeren Dauer der Sprints ist das Entwicklerteam begeistert, dass die Arbeit korrekt reflektiert und geliefert wird. Das Arbeitsprodukt erhöht jede Stufe nach jeder Iteration oder besser gesagt, wir können sie als "Sprint" bezeichnen. Die User Stories, die für jeden Sprint erstellt wurden, werden zur Kundenpriorität und erhöhen den Wert der Iteration.

Fazit

Scrum ist ein effizientes Framework, in dem Sie Software in Teamarbeit entwickeln können. Es ist vollständig auf agilen Prinzipien aufgebaut. ScrumMaster ist da, um das Scrum-Team auf jede erdenkliche Weise zu unterstützen und zusammenzuarbeiten. Er verhält sich wie ein persönlicher Trainer, der Sie dabei unterstützt, den festgelegten Plan einzuhalten und alle Aktivitäten gemäß dem Plan auszuführen. Die Autorität von ScrumMaster sollte niemals über den Prozess hinausgehen. Er / sie sollte möglicherweise in der Lage sein, mit jeder Situation umzugehen.