Agile Data Science - Methodenkonzepte
In diesem Kapitel konzentrieren wir uns auf die Konzepte des Softwareentwicklungs-Lebenszyklus, die als „agil“ bezeichnet werden. Die Agile-Softwareentwicklungsmethode hilft beim Erstellen einer Software durch Inkrementierungssitzungen in kurzen Iterationen von 1 bis 4 Wochen, sodass die Entwicklung an sich ändernden Geschäftsanforderungen ausgerichtet ist.
Es gibt 12 Prinzipien, die die agile Methodik im Detail beschreiben -
Kundenzufriedenheit
Kunden, die sich durch frühzeitige und kontinuierliche Lieferung wertvoller Software auf die Anforderungen konzentrieren, haben höchste Priorität.
Neue Änderungen begrüßen
Änderungen sind während der Softwareentwicklung akzeptabel. Agile Prozesse funktionieren so, dass sie dem Wettbewerbsvorteil des Kunden entsprechen.
Lieferung
Die Lieferung einer funktionierenden Software erfolgt innerhalb von ein bis vier Wochen an Kunden.
Zusammenarbeit
Geschäftsanalysten, Qualitätsanalysten und Entwickler müssen während des gesamten Projektlebenszyklus zusammenarbeiten.
Motivation
Projekte sollten mit einem Clan motivierter Personen entworfen werden. Es bietet eine Umgebung zur Unterstützung einzelner Teammitglieder.
Persönliches Gespräch
Face-to-Face-Gespräche sind die effizienteste und effektivste Methode, um Informationen an und innerhalb eines Entwicklungsteams zu senden.
Fortschritt messen
Die Messung des Fortschritts ist der Schlüssel zur Definition des Fortschritts der Projekt- und Softwareentwicklung.
Konstantes Tempo beibehalten
Agiler Prozess konzentriert sich auf nachhaltige Entwicklung. Das Unternehmen, die Entwickler und die Benutzer sollten in der Lage sein, ein konstantes Tempo mit dem Projekt einzuhalten.
Überwachung
Es ist obligatorisch, regelmäßig auf technische Exzellenz und gutes Design zu achten, um die agile Funktionalität zu verbessern.
Einfachheit
Der agile Prozess hält alles einfach und verwendet einfache Begriffe, um die nicht abgeschlossene Arbeit zu messen.
Selbstorganisierte Begriffe
Ein agiles Team sollte selbst organisiert und unabhängig mit 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 rechtzeitiges Überprüfen des Moduls wird die Leistung verbessert.
Tägliches Aufstehen
Tägliches Aufstehen bezieht sich auf das tägliche Statusmeeting unter den Teammitgliedern. Es enthält Updates zur Softwareentwicklung. Es bezieht sich auch auf die Beseitigung von Hindernissen bei der Projektentwicklung.
Tägliches Aufstehen ist eine obligatorische Praxis, unabhängig davon, wie ein agiles Team aufgebaut ist, unabhängig von seinem Bürostandort.
Die Liste der Funktionen eines täglichen Stand-Ups lautet wie folgt:
Die Dauer des täglichen Stand-up-Meetings sollte ungefähr 15 Minuten betragen. Es sollte nicht länger dauern.
Stand-up sollte Diskussionen zur Statusaktualisierung beinhalten.
Die Teilnehmer dieses Meetings haben normalerweise die Absicht, das Meeting schnell zu beenden.
Benutzer Geschichte
Eine Geschichte ist normalerweise eine Anforderung, die in wenigen Sätzen in einfacher Sprache formuliert ist und innerhalb einer Iteration abgeschlossen werden sollte. Eine User Story sollte die folgenden Merkmale enthalten:
Der gesamte zugehörige Code sollte über entsprechende Check-Ins verfügen.
Die Unit-Testfälle für die angegebene Iteration.
Alle Abnahmetestfälle sollten definiert werden.
Akzeptanz durch den Product Owner bei der Definition der Story.
Was ist Scrum?
Scrum kann als Teilmenge der agilen Methodik betrachtet werden. Es ist ein leichter Prozess und umfasst die folgenden Funktionen:
Es handelt sich um einen Prozessrahmen, der eine Reihe von Praktiken enthält, die in konsistenter Reihenfolge befolgt werden müssen. Das beste Beispiel für Scrum sind Iterationen oder Sprints.
Es handelt sich um einen „leichten“ Prozess, bei dem der Prozess so klein wie möglich gehalten wird, um die produktive Leistung in der angegebenen Dauer zu maximieren.
Der Scrum-Prozess ist bekannt für seinen Unterscheidungsprozess im Vergleich zu anderen Methoden des traditionellen agilen Ansatzes. Es ist in die folgenden drei Kategorien unterteilt:
Roles
Artifacts
Zeitboxen
Rollen definieren die Teammitglieder und ihre Rollen, die während des gesamten Prozesses enthalten sind. Das Scrum-Team besteht aus den folgenden drei Rollen:
Scrum Master
Product Owner
Team
Die Scrum-Artefakte enthalten wichtige Informationen, die jedem Mitglied bekannt sein sollten. Die Informationen enthalten Details zum Produkt, zu geplanten Aktivitäten und zu abgeschlossenen Aktivitäten. Die im Scrum-Framework definierten Artefakte lauten wie folgt:
Produktrückstand
Sprint-Rückstand
Diagramm abbrennen
Increment
Zeitfelder sind die User Stories, die für jede Iteration geplant sind. Diese User Stories helfen bei der Beschreibung der Produktmerkmale, 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 Produktstau von User Stories zu erzielen und diese zu verwalten.
Unterstützung des Teams beim Verständnis der Anforderungen klarer und präziser Produktrückstände.
Produktplanung mit spezifischer Umgebung.
Sicherstellen, dass der Product Owner weiß, wie er den Wert des Produkts steigern kann.
Ermöglichen von Scrum-Ereignissen nach Bedarf.
Scrum-Team
Der Scrum Master interagiert auf verschiedene Weise mit dem Team -
Coaching der Organisation bei der Einführung von Scrum.
Planen von Scrum-Implementierungen für die jeweilige Organisation.
Mitarbeiter und Stakeholder dabei unterstützen, die Anforderungen und Phasen der Produktentwicklung zu verstehen.
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 Weise mit der Organisation. Einige sind unten aufgeführt -
Das Coaching- und Scrum-Team interagiert mit der Selbstorganisation und enthält eine Funktion mit Cross-Funktionalität.
Coaching der Organisation und der Teams in solchen Bereichen, in denen Scrum noch nicht vollständig übernommen oder nicht akzeptiert wurde.
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 Sprintlieferung die Kundenanforderungen erfüllt werden. Wenn nicht, werden die Anforderungen notiert und für den Sprint geplant und übernommen.
Organisation
Die Organisation mit Hilfe von Scrum und Scrum-Mastern kann sich auf die Anstrengungen konzentrieren, die für die Entwicklung von User Stories erforderlich sind, wodurch die Arbeitsüberlastung verringert und etwaige Nacharbeiten vermieden werden. 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, sicherzustellen, dass die Qualität des Produkts erhalten bleibt. 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 bei jedem Sprint gemäß den Kundenanforderungen ausgerichtet ist.
Entwicklungsteam
Das Entwicklungsteam ist begeistert, wenn es darum geht, die Arbeit zu reflektieren und ordnungsgemäß zu liefern. Das Arbeitsprodukt erhöht jede Ebene nach jeder Iteration, oder besser gesagt, wir können sie als "Sprint" bezeichnen. Die User Stories, die für jeden Sprint entwickelt wurden, werden zur Kundenpriorität, was der Iteration mehr Wert verleiht.
Fazit
Scrum ist ein effizientes Framework, in dem Sie Software in Teamarbeit entwickeln können. Es basiert vollständig auf agilen Prinzipien. ScrumMaster ist da, um das Team von Scrum auf jede erdenkliche Weise zu unterstützen und zusammenzuarbeiten. Er verhält sich wie ein persönlicher Trainer, der Ihnen hilft, sich an den geplanten Plan zu halten 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, jede Situation zu bewältigen.