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.